Keine Beschreibung

steviez 34d8b55d4a Update security instructions for SPL programs (#8253) vor 1 Monat
.buildkite d676f0e110 ci: improve step descriptions (#6664) vor 4 Monaten
.cargo be73302abd force x86_64-v2 cpu for linux builds (fixup for #5674) (#5891) vor 7 Monaten
.config 8c11ea8039 force gossip_ring test to run alone in ci (#7872) vor 2 Monaten
.github 17ec6191cf ci: use node 24 (#7229) vor 2 Monaten
account-decoder 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
account-decoder-client-types 103fb21d00 ci: use cargo sort v2 (#6406) vor 5 Monaten
accounts-cluster-bench 36e79fb4d9 A benchmark suite for the `getTokenSupply` RPC call (#4048) vor 1 Monat
accounts-db e42710b189 Use get functions passing ref to AccountMapEntry instead of full arc (#8269) vor 1 Monat
banking-bench 2c027cab65 PohController (#7703) vor 2 Monaten
banking-stage-ingress-types 6b6a03ba8b Apply cleanups to solana-core for unified scheduler (#4123) vor 10 Monaten
banks-client 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
banks-interface 103fb21d00 ci: use cargo sort v2 (#6406) vor 5 Monaten
banks-server 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
bench-streamer 2d1b481f0a chore: Use jemalloc in all bench crates and modules (#5053) vor 4 Monaten
bench-tps e2071ff7a8 clean: remove unused genesis native processors config (#7989) vor 2 Monaten
bench-vote a0e531eb04 introduce cancel to streamer (#8025) vor 1 Monat
bloom 7db66d550d bloom: move benchmarks to bencher 0.1.5 (#6044) vor 4 Monaten
bucket_map 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
builtins eec3878cef remove stake program builtin (#7203) vor 3 Monaten
builtins-default-costs eec3878cef remove stake program builtin (#7203) vor 3 Monaten
cargo-registry 31cd4ef859 cargo-registry: Resolve Rust 1.88 clippy lints and format strings (#7002) vor 4 Monaten
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) vor 3 Jahren
ci 21d88de4b6 status-cache: add shuttle tests (#8275) vor 1 Monat
clap-utils f1e55d7d94 revert 7849 (#7882) vor 2 Monaten
clap-v3-utils f1e55d7d94 revert 7849 (#7882) vor 2 Monaten
cli d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
cli-config d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
cli-output d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
client 1d17220054 Avoid port collision in test using ConnectionCache for QUIC (#7815) vor 2 Monaten
client-test 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
compute-budget 3e6288efb1 simd-0268: rename variables to use the right simd number (#7753) vor 2 Monaten
compute-budget-instruction eec3878cef remove stake program builtin (#7203) vor 3 Monaten
connection-cache 1e27642f93 refactor: use `Arc` to eliminate potentially expensive cloning (#7638) vor 2 Monaten
core 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
cost-model 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
curves 103fb21d00 ci: use cargo sort v2 (#6406) vor 5 Monaten
docker-solana e19a786c83 docs: fix docker link (#6180) vor 6 Monaten
docs f9294b161b Update link in docs to offchain message spec (#7982) vor 2 Monaten
dos e2071ff7a8 clean: remove unused genesis native processors config (#7989) vor 2 Monaten
download-utils fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) vor 2 Monaten
entry 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
faucet fd1c7aa72b faucet: deprecate run_local_faucet and run_local_faucet_with_port (#7912) vor 2 Monaten
feature-set 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
fee 1e11ee2b96 pub calculate_signature_fee (#7232) vor 3 Monaten
genesis 954e7af7aa vote state handler: port over vote-program-specific methods from vote-interface (#8017) vor 2 Monaten
genesis-utils fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) vor 2 Monaten
geyser-plugin-interface 9052722a5e Revert "geyser: add ReplicaBlockInfoV5 with accounts lt hash (#7756)" (#7966) vor 2 Monaten
geyser-plugin-manager 9052722a5e Revert "geyser: add ReplicaBlockInfoV5 with accounts lt hash (#7756)" (#7966) vor 2 Monaten
gossip 0e918adf0b Gossip: brick gossip weight control key (#8256) vor 1 Monat
install 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) vor 2 Monaten
io-uring cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) vor 2 Monaten
keygen fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) vor 2 Monaten
lattice-hash 51a114eeca add missing description for solana-lattice-hash (#3358) vor 1 Jahr
ledger e3bd0c4046 metrics: remove rpc metrics from blockstore (#8076) vor 1 Monat
ledger-tool 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
local-cluster 20852db292 (Alpenglow) Allow creating v4 account in genesis, upstream Consensus Pool. (#8122) vor 1 Monat
low-pass-filter 82aad7b0c4 Revert "Revert dynamic gossip weighting prs (#8217)" (#8250) vor 1 Monat
measure 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
memory-management 076329381a Moves a clippy attribute (#194) vor 1 Jahr
merkle-tree 103fb21d00 ci: use cargo sort v2 (#6406) vor 5 Monaten
metrics bbc297481a Added interface to get host_id from the metric (#8196) vor 1 Monat
multinode-demo 8f8fb33453 chore: Remove deprecated arg from scripts (#8180) vor 1 Monat
net e8941a76cb Update `net` README path (#8239) vor 1 Monat
net-utils cc3f387437 new token bucket impl (#6893) vor 2 Monaten
notifier fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) vor 2 Monaten
perf c0222f7e89 Drop transaction has more than 64 top instructions at sigverify (#8183) vor 1 Monat
platform-tools-sdk cfc4cdc211 Enable feature `rustls-tls-native-roots` for `reqwest` (#7697) vor 2 Monaten
poh 302ff5ecf0 Revert "poh recording performance improvement (anza-xyz#7898)" (#8031) vor 2 Monaten
poh-bench 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) vor 4 Monaten
poseidon 103fb21d00 ci: use cargo sort v2 (#6406) vor 5 Monaten
precompiles 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
program-binaries eec3878cef remove stake program builtin (#7203) vor 3 Monaten
program-runtime 4283f26aba Avoid copying instruction data from non-top-level instruction (#8216) vor 1 Monat
program-test 4283f26aba Avoid copying instruction data from non-top-level instruction (#8216) vor 1 Monat
programs c0f5445b90 vendor quinn (#8281) vor 1 Monat
pubsub-client 60a34ecc9c pubsub-client: Remove deprecated set_node_version (#7117) vor 4 Monaten
quic-client a0e531eb04 introduce cancel to streamer (#8025) vor 1 Monat
rayon-threadlimit 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
rbpf-cli 3f9a7a52ea [anza migration] rename crates (#10) vor 1 Jahr
remote-wallet d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
reserved-account-keys 103fb21d00 ci: use cargo sort v2 (#6406) vor 5 Monaten
rpc 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
rpc-client 3f25767626 fix: use proper serialization for versioned messages in get_fee_for_m… (#7719) vor 2 Monaten
rpc-client-api 85ef5f818d rpc-client-types: add missing re-exports (#7860) vor 1 Monat
rpc-client-nonce-utils 234afe489a chore: Fix several crate documentation links (#6601) vor 5 Monaten
rpc-client-types 85ef5f818d rpc-client-types: add missing re-exports (#7860) vor 1 Monat
rpc-test 1d17220054 Avoid port collision in test using ConnectionCache for QUIC (#7815) vor 2 Monaten
runtime 21d88de4b6 status-cache: add shuttle tests (#8275) vor 1 Monat
runtime-transaction 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
scheduler-bindings 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
scripts 68681003f7 ci: remove cargo.lock filtering logic from version bump script (#8223) vor 1 Monat
sdk d221ad4091 sdk: Remove everything from the repo (#4867) vor 9 Monaten
send-transaction-service 279f1eed10 agave-validator: add args tests for run (part 6) (#7620) vor 2 Monaten
stake-accounts d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
storage-bigtable d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
storage-proto 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
streamer 10b07bb764 Use TaskTracket in streamer for graceful exit and avoiding flaky tests (#8066) vor 1 Monat
svm 4283f26aba Avoid copying instruction data from non-top-level instruction (#8216) vor 1 Monat
svm-callback 03def80b51 refactor: adding builtin accounts (#7900) vor 2 Monaten
svm-feature-set e4230af0c2 Feature - `account_data_direct_mapping` (#8153) vor 1 Monat
svm-log-collector 173d1361de svm repo split: rename log collector (#7430) vor 3 Monaten
svm-measure 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
svm-rent-calculator 6fbbaf6783 svm: Remove SVMRentCollector, use Rent directly (#6782) vor 3 Monaten
svm-timings 87a97a3266 svm repo split: rename timings (#7432) vor 3 Monaten
svm-transaction 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
svm-type-overrides ed847b333d chore: apply doc-comment to the module in svm-type-overrides/src/lib.rs (#7481) vor 3 Monaten
syscalls 4283f26aba Avoid copying instruction data from non-top-level instruction (#8216) vor 1 Monat
test-validator 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
thread-manager cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) vor 2 Monaten
tls-utils 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) vor 3 Monaten
tokens d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
tps-client d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
tpu-client 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) vor 2 Monaten
tpu-client-next 67f37d6504 ignore test_proactive_connection_close_detection until we introduce TaskTracket to streamer (#8193) vor 1 Monat
transaction-context 4283f26aba Avoid copying instruction data from non-top-level instruction (#8216) vor 1 Monat
transaction-dos fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) vor 2 Monaten
transaction-metrics-tracker 5e0def54ae Fix flaky test_should_track_transaction test (#7908) vor 1 Monat
transaction-status 6f098f1a52 vote program: handler for dynamic vote state (#7822) vor 2 Monaten
transaction-status-client-types 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) vor 4 Monaten
transaction-view 096ef633be SIMD-0160: static instruction limit (#8182) vor 1 Monat
turbine b20f98ae59 tune entry coalesce (#8190) vor 1 Monat
udp-client 1e27642f93 refactor: use `Arc` to eliminate potentially expensive cloning (#7638) vor 2 Monaten
unified-scheduler-logic 164ecdf9dc Support priority ordering for bp unified scheduler (#7444) vor 1 Monat
unified-scheduler-pool 9151384825 ignore flaky test (#8278) vor 1 Monat
validator 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
verified-packet-receiver 18238bdfcb Restore vortexor receiver -- renamed to agave-verified-packet-receiver (#6542) vor 5 Monaten
version fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) vor 2 Monaten
vortexor a0e531eb04 introduce cancel to streamer (#8025) vor 1 Monat
vote 876942164c build(deps): bump serde from 1.0.219 to 1.0.224 (#8052) vor 2 Monaten
votor c79f22141b Revert "(Alpenglow) Upstream rest of votor crate. (#8237)" (#8255) vor 1 Monat
votor-messages 22b6026840 Unify workspace crate readme references (#8221) vor 1 Monat
watchtower d62b6e07ae chore: Make workspace members inherit crate description (#8071) vor 2 Monaten
web3.js 18c22c7cef Add link to new web3.js repo (#30096) vor 2 Jahren
wen-restart 7f4e64446c Removes AccountsDb::verify_accounts_hash_in_bg (#7839) vor 2 Monaten
xdp 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) vor 2 Monaten
zk-keygen 8508753bc9 Remove zk keygen crate (#7634) vor 3 Monaten
zk-sdk a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) vor 3 Monaten
zk-token-sdk ad7fbe953d [zk-token-sdk] deprecate the crate (#6969) vor 3 Monaten
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) vor 2 Jahren
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) vor 8 Monaten
.mergify.yml 8508753bc9 Remove zk keygen crate (#7634) vor 3 Monaten
CHANGELOG.md 33e1bde64c The accounts index is kept entirely in memory by default (#8015) vor 1 Monat
CONTRIBUTING.md 305c98e869 Update contributing with more guidelines. (#5008) vor 7 Monaten
Cargo.lock 21d88de4b6 status-cache: add shuttle tests (#8275) vor 1 Monat
Cargo.toml c0f5445b90 vendor quinn (#8281) vor 1 Monat
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) vor 2 Jahren
README.md b4ed07a719 Fixup status badges in README.md (#8222) vor 1 Monat
RELEASE.md d060c30b5e Update RELEASE.md (#1901) vor 1 Jahr
SECURITY.md 34d8b55d4a Update security instructions for SPL programs (#8253) vor 1 Monat
cargo 6cd4bc5e60 Speed up net.sh builds (#16360) vor 4 Jahren
cargo-build-sbf 92687e91ed BPF Loader: Hoist syscalls into their own crate (#5559) vor 3 Monaten
cargo-test-sbf f9f73a952a sdk: Move out things that won't be in the sdk (#4624) vor 9 Monaten
clippy.toml c3509de5be Replace lazy_static dependency (#6057) vor 6 Monaten
fetch-core-bpf.sh ef6d141079 fetch-core-bpf: Add "v" to release name (#8195) vor 1 Monat
fetch-perf-libs.sh 9393dce1ff Take v0.19.3 of perf libs which improves sigverify perf 2x (#11894) vor 5 Jahren
fetch-programs.sh f75263b29d Script: `fetch-core-bpf.sh` (#4844) vor 8 Monaten
fetch-spl.sh 597947830a spl: Update to newest token-2022 binary on mainnet (#5628) vor 7 Monaten
rust-toolchain.toml b3fca5dd51 Downgrade Rust to 1.86.0 (#6980) vor 4 Monaten
rustfmt.toml 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) vor 2 Monaten
vercel.json 1c36af158f removing the "autoJobCancelation": false vor 4 Jahren

README.md

Anza

Agave validator Agave documentation Build status Release status codecov

Building

1. Install rustc, cargo and rustfmt.

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

The rust-toolchain.toml file pins a specific rust version and ensures that cargo commands run with that version. Note that cargo will automatically install the correct version if it is not already installed.

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 libclang-dev

On Fedora:

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

2. Download the source code.

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

3. Build.

$ ./cargo build

[!NOTE] Note that this builds a debug version that is not suitable for running a testnet or mainnet validator. Please read docs/src/cli/install.md for instructions to build a release version for test and production uses.

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!