暂无描述

Yihau Chen 3dccb3e785 v2.0: ignore openssl audit (#4743) 9 月之前
.buildkite 8fc7083116 ci: stop all anzaxyz/ci in post-checkout (#929) 1 年之前
.github 7f759d1b3a v2.0: ci: bump [upload|download]-artifact to v4 (#4501) 10 月之前
account-decoder dca9b880c4 v2.0: EpochRewards: decode points and rewards fields as Strings (backport of #2501) (#2512) 1 年之前
accounts-bench b0cfffb290 Renames accounts hash calc fns (#1183) 1 年之前
accounts-cluster-bench 70c4cb0ba1 consensus: add dev-context-only-utils to tower (#687) 1 年之前
accounts-db 99ac010533 v2.0: Fixes clean_old_storages_with_reclaims tests (backport of #4147) (#4166) 11 月之前
banking-bench c01560e136 v2.0: scheduler opt-in forwarding (backport of #1801) (#2285) 1 年之前
banks-client 764596ccb3 v2.0: Remove deprecated BanksClient methods and dependent ProgramTest methods (backport of #1956) (#1963) 1 年之前
banks-interface 764596ccb3 v2.0: Remove deprecated BanksClient methods and dependent ProgramTest methods (backport of #1956) (#1963) 1 年之前
banks-server 764596ccb3 v2.0: Remove deprecated BanksClient methods and dependent ProgramTest methods (backport of #1956) (#1963) 1 年之前
bench-streamer 1744e9efd7 BankingStage Forwarding Filter (#685) 1 年之前
bench-tps b57b883355 v2.0: Fix BankForks::new_rw_arc memory leak (backport of #1893) (#2066) 1 年之前
bloom cadba689cb Make solana-frozen-abi optional in all remaining crates (#1278) 1 年之前
bucket_map 9bb532abcc deps: Use bytemuck_derive explicitly instead of "derive" feature on bytemuck (#1799) 1 年之前
cargo-registry 7e0688341e remove superfluous usage of allow(dead_code) (#1669) 1 年之前
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) 3 年之前
ci 3dccb3e785 v2.0: ignore openssl audit (#4743) 9 月之前
clap-utils 8246590f47 clap-utils: Add more compute unit helpers (#440) 1 年之前
clap-v3-utils 12d009ecec [clap-v3-utils] Add functions to directly parse from `SignerSource` (#1062) 1 年之前
cli 84e7b03c1d v2.0: cli: show max vote credits in vote-account based on TVC activation epoch (backport of #3776) (#3779) 11 月之前
cli-config fc2a8794be [docs] updated readme and fix links (#34565) 1 年之前
cli-output 84e7b03c1d v2.0: cli: show max vote credits in vote-account based on TVC activation epoch (backport of #3776) (#3779) 11 月之前
client 9a9cb755cd v2.0: Remove deprecated symbols from solana-client (mostly re-exports) (backport of #1992) (#2041) 1 年之前
client-test b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 年之前
compute-budget 0d1ad0dc1d Reuse compute budget processing (#1700) 1 年之前
connection-cache 8fde8d26c7 don't sign X.509 certs (#34896) 1 年之前
core 40aee13cd0 v2.0: fix: use atomic to check if leader bank changed (backport of #4596) (#4611) 10 月之前
cost-model 65233160c4 v2.0: increase writeable accounts cost hashmap size (backport of #3009) (#3019) 1 年之前
curves 9bb532abcc deps: Use bytemuck_derive explicitly instead of "derive" feature on bytemuck (#1799) 1 年之前
docs 20a8749f7a v2.0: Update docs URL in docusaurus config (backport of #4081) (#4086) 11 月之前
dos 9a9cb755cd v2.0: Remove deprecated symbols from solana-client (mostly re-exports) (backport of #1992) (#2041) 1 年之前
download-utils b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 年之前
entry 20b76501ad v2.0: Cleanup PoH speed check error (backport of #2400) (#2458) 1 年之前
faucet 51dc7e6fb7 [anza migration]: add 'agave=info' to default log level (#223) 1 年之前
frozen-abi f2f1a22ccc chore: remove unused clippy attributes, unnecessary_wraps (#1514) 1 年之前
genesis 55aff7288e chore: remove unused clippy attributes, float_cmp (#1515) 1 年之前
genesis-utils f4287d70bb Move accounts-db code to its own crate (#32766) 2 年之前
geyser-plugin-interface 845faca447 v2.0: geyser: add num_partitions to block info (backport of #2158) (#2178) 1 年之前
geyser-plugin-manager 845faca447 v2.0: geyser: add num_partitions to block info (backport of #2158) (#2178) 1 年之前
gossip 4f423a512a v2.0: reworks max number of outgoing push messages (backport of #3016) (#3038) 1 年之前
inline-spl e0e659680a Remove duplicated token ids and use a shared inline-spl crate (#456) 1 年之前
install 59e3eaafb5 Prefer explicitly using serde_derive instead of the "derive" feature of serde (#1329) 1 年之前
keygen 97bdd9b7a0 docs: s/perfix/prefix/ (#1501) 1 年之前
ledger 843c6a1ac3 v2.0: blockstore: mark slot as dead on data shred merkle root conflict (backport of #3970) (#4074) 11 月之前
ledger-tool fbead11886 v2.0: Make unified-scheduler use transaction_status_sender in ledger-tool (backport of #3861) (#3862) 11 月之前
local-cluster c01560e136 v2.0: scheduler opt-in forwarding (backport of #1801) (#2285) 1 年之前
log-analyzer 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 年之前
logger 51dc7e6fb7 [anza migration]: add 'agave=info' to default log level (#223) 1 年之前
measure 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 年之前
memory-management 076329381a Moves a clippy attribute (#194) 1 年之前
merkle-root-bench f4287d70bb Move accounts-db code to its own crate (#32766) 2 年之前
merkle-tree 528a03f32a removes outdated matches crate from dependencies (#33172) 2 年之前
metrics 7e0688341e remove superfluous usage of allow(dead_code) (#1669) 1 年之前
multinode-demo 749c1e8147 v2.0: Removes deprecated --halt-on-known-validators-accounts-hash-mismatch cli arg (backport of #2154) (#2157) 1 年之前
net b70e6bbfd2 ledger-tool: Make verify --print-bank-hash support json (#1745) 1 年之前
net-shaper 59e3eaafb5 Prefer explicitly using serde_derive instead of the "derive" feature of serde (#1329) 1 年之前
net-utils 0e6d42e613 bump nix to 0.28.0 (#628) 1 年之前
notifier 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
perf c59fa1ea77 chore: remove unused clippy attributes, needless_collect (#1517) 1 年之前
poh 40aee13cd0 v2.0: fix: use atomic to check if leader bank changed (backport of #4596) (#4611) 10 月之前
poh-bench 10d06773cd Share the threadpool for tx execution and entry verifification (#216) 1 年之前
poseidon f954fba969 Extract solana-poseidon crate from solana-program (#999) 1 年之前
program-runtime 2408949818 v2.0: program-runtime: double program cache size (backport of #3481) (#3494) 1 年之前
program-test b271f1ffbf v2.0: token-2022: Use mainnet-beta binary in all tools (backport of #3165) (#3166) 1 年之前
programs e64e5aa9a5 Bump version to v2.0.26 (#4735) 9 月之前
pubsub-client 8c20f0b280 v2.0: Remove rpc- and pubsub-client version querying (backport of #2045) (#2052) 1 年之前
quic-client 4f8cf99e8e v2.0: Fix broken parallelism in quic-client (backport of #2526) (#3709) 1 年之前
rayon-threadlimit df3ef111f7 chore: workspace inheritance (#29893) 2 年之前
rbpf-cli 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
remote-wallet 7e0688341e remove superfluous usage of allow(dead_code) (#1669) 1 年之前
rpc a37bc6d847 v2.0: [rpc] Fatal `getSignaturesForAddress()` when Bigtable errors (backport of #3700) (#4442) 10 月之前
rpc-client 8c20f0b280 v2.0: Remove rpc- and pubsub-client version querying (backport of #2045) (#2052) 1 年之前
rpc-client-api a37bc6d847 v2.0: [rpc] Fatal `getSignaturesForAddress()` when Bigtable errors (backport of #3700) (#4442) 10 月之前
rpc-client-nonce-utils c14fab08c8 v2.0: Remove deprecated RpcClient methods (backport of #1899) (#1922) 1 年之前
rpc-test 4d1256af3b v2.0: Remove support for deprecated rpc endpoints (backport of #1809) (#1886) 1 年之前
runtime f77014dcdf v2.0: Marks old storages as dirty and uncleaned in clean_accounts() (backport of #3737) (#3747) 1 年之前
runtime-transaction 62eb4cc068 Add Compute Budget Crate (#1121) 1 年之前
scripts 93e6e33ea5 v2.0: remove ntapi patch (backport of #3584) (#3665) 1 年之前
sdk e64e5aa9a5 Bump version to v2.0.26 (#4735) 9 月之前
send-transaction-service 9a9cb755cd v2.0: Remove deprecated symbols from solana-client (mostly re-exports) (backport of #1992) (#2041) 1 年之前
stake-accounts b57b883355 v2.0: Fix BankForks::new_rw_arc memory leak (backport of #1893) (#2066) 1 年之前
storage-bigtable a37bc6d847 v2.0: [rpc] Fatal `getSignaturesForAddress()` when Bigtable errors (backport of #3700) (#4442) 10 月之前
storage-proto 034cd7396a Add num_partitions to Blockstore rewards (#1601) 1 年之前
streamer 77ce500494 quic server: disable GSO, reduce reply data allocations 10x (#1647) 1 年之前
svm e64e5aa9a5 Bump version to v2.0.26 (#4735) 9 月之前
system-test 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
test-validator 96fe61ad79 v2.0: Remove assorted deprecated symbols (backport of #1995) (#2002) 1 年之前
thin-client c09226c818 v2.0: Bump ThinClient since version (backport of #1991) (#2001) 1 年之前
tokens c59fa1ea77 chore: remove unused clippy attributes, needless_collect (#1517) 1 年之前
tps-client d02dac6077 v2.0: chore: publish solana-tps-client (backport of #1845) (#1846) 1 年之前
tpu-client 63fb9fe9d9 Remove `ThinClient` from `LocalCluster` (#1300) 1 年之前
transaction-dos 8b8ddcbb84 Verify elf with active feature set before attempting deployment (#1654) 1 年之前
transaction-metrics-tracker 811c87539b v2.0: chore: remove publish=false from transaction-metrics-tracker/Cargo.toml (backport of #1828) (#1844) 1 年之前
transaction-status b37f0db0d8 v2.0: ledger-tool: Make blockstore slot functional with no tx metadata (backport of #2423) (#3887) 11 月之前
turbine bcc0fecde1 v2.0: rolls out chained Merkle shreds to ~21% of mainnet slots (backport of #4431) (#4434) 10 月之前
type-overrides 974c013c04 Make futures crate optional in solana-type-overrides (#1792) 1 年之前
udp-client 132c910f81 Quic update identity (#33865) 1 年之前
unified-scheduler-logic 8f9fc2ada2 clippy: missing_transmute_annotations (#1343) 1 年之前
unified-scheduler-pool b57b883355 v2.0: Fix BankForks::new_rw_arc memory leak (backport of #1893) (#2066) 1 年之前
upload-perf df3ef111f7 chore: workspace inheritance (#29893) 2 年之前
validator 1b5c6140e2 v2.0: remove disable_block_production_forwarding cli flag (backport of #2687) (#2909) 1 年之前
version cadba689cb Make solana-frozen-abi optional in all remaining crates (#1278) 1 年之前
vote 31334c44eb Vote: hoist vote sender types up to runtime (#1623) 1 年之前
watchtower 51dc7e6fb7 [anza migration]: add 'agave=info' to default log level (#223) 1 年之前
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 年之前
wen-restart a5229f989c wen_restart: Ignore Gossip messages from my own pubkey. (#1678) 1 年之前
zk-keygen 006cf28dec [zk-keygen] Remove deprecated functions (#599) 1 年之前
zk-sdk 9bb532abcc deps: Use bytemuck_derive explicitly instead of "derive" feature on bytemuck (#1799) 1 年之前
zk-token-sdk bdf39e85c1 v2.0: [zk-token-sdk] Specify version in deprecations in `zk-token-sdk` (backport of #2011) (#2014) 1 年之前
.clippy.toml 30f0c25b65 Fix all remaining clippy warnings 7 年之前
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 年之前
.gitignore 48d2ec9961 chore: remove log-analyzer from gitignore (#1477) 1 年之前
.mergify.yml cd6825f2b6 Retire stable-rust clippy for still buggy redundant_clone (#1661) 1 年之前
CHANGELOG.md 71fd167d28 v2.0: changelog: Lists removed validator args (backport of #2324) (#2336) 1 年之前
CONTRIBUTING.md 72ee270943 Update cargo metadata to Anza (#635) 1 年之前
Cargo.lock e64e5aa9a5 Bump version to v2.0.26 (#4735) 9 月之前
Cargo.toml e64e5aa9a5 Bump version to v2.0.26 (#4735) 9 月之前
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 年之前
README.md 0288e0db29 [anza migration]: update repo path (#811) 1 年之前
RELEASE.md 1ded5a875a Update RELEASE.md to reflect current release process (#444) 1 年之前
SECURITY.md 530b4757bf v2.0: Update security email to security@anza.xyz (backport of #2598) (#2619) 1 年之前
cargo 6cd4bc5e60 Speed up net.sh builds (#16360) 4 年之前
cargo-build-bpf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 年之前
cargo-build-sbf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 年之前
cargo-test-bpf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 年之前
cargo-test-sbf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 年之前
fetch-perf-libs.sh 9393dce1ff Take v0.19.3 of perf libs which improves sigverify perf 2x (#11894) 5 年之前
fetch-spl.sh b271f1ffbf v2.0: token-2022: Use mainnet-beta binary in all tools (backport of #3165) (#3166) 1 年之前
nextest.toml d4946ddfaa ci: move solana-cargo-build-sbf to nextest (#33257) 2 年之前
run.sh fc2a8794be [docs] updated readme and fix links (#34565) 1 年之前
rust-toolchain.toml 1f3ef3325f chore: bump rust stable to v1.78.0, nightly to 2024-05-02 (#1309) 1 年之前
rustfmt.toml 70ebab2c82 Add rustfmt.toml and `cargo fmt` (#23238) 3 年之前
test-abi.sh cadba689cb Make solana-frozen-abi optional in all remaining crates (#1278) 1 年之前
vercel.json 1c36af158f removing the "autoJobCancelation": false 4 年之前

README.md

Solana

Solana crate Solana documentation Build status codecov

Building

1. Install rustc, cargo and rustfmt.

$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
$ rustup component add rustfmt

When building the master branch, please make sure you are using the latest stable rust version by running:

$ rustup update

When building a specific release branch, you should check the rust version in ci/rust-version.sh and if necessary, install that version by running:

$ rustup install VERSION

Note that if this is not the latest rust version on your machine, cargo commands may require an override in order to use the correct version.

On Linux systems you may need to install libssl-dev, pkg-config, zlib1g-dev, protobuf etc.

On Ubuntu:

$ sudo apt-get update
$ sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler

On Fedora:

$ sudo dnf install openssl-devel systemd-devel pkg-config zlib-devel llvm clang cmake make protobuf-devel protobuf-compiler perl-core

2. Download the source code.

$ git clone https://github.com/anza-xyz/agave.git
$ cd agave

3. Build.

$ ./cargo build

Testing

Run the test suite:

$ ./cargo test

Starting a local testnet

Start your own testnet locally, instructions are in the online docs.

Accessing the remote development cluster

  • devnet - stable public cluster for development accessible via devnet.solana.com. Runs 24/7. Learn more about the public clusters

Benchmarking

First, install the nightly build of rustc. cargo bench requires the use of the unstable features only available in the nightly build.

$ rustup install nightly

Run the benchmarks:

$ cargo +nightly bench

Release Process

The release process for this project is described here.

Code coverage

To generate code coverage statistics:

$ scripts/coverage.sh
$ open target/cov/lcov-local/index.html

Why coverage? While most see coverage as a code quality metric, we see it primarily as a developer productivity metric. When a developer makes a change to the codebase, presumably it's a solution to some problem. Our unit-test suite is how we encode the set of problems the codebase solves. Running the test suite should indicate that your change didn't infringe on anyone else's solutions. Adding a test protects your solution from future changes. Say you don't understand why a line of code exists, try deleting it and running the unit-tests. The nearest test failure should tell you what problem was solved by that code. If no test fails, go ahead and submit a Pull Request that asks, "what problem is solved by this code?" On the other hand, if a test does fail and you can think of a better way to solve the same problem, a Pull Request with your solution would most certainly be welcome! Likewise, if rewriting a test can better communicate what code it's protecting, please send us that patch!