No Description

cavemanloverboy 4f08cb9585 delet gpu code (#8967) 4 days ago
.buildkite 7659dddd30 Run merge queue tasks with higher priority (#8708) 3 weeks ago
.cargo 7b66701c49 ci: move xtask under ci subdir (#8544) 1 month ago
.config 360411c0e5 blockstore: Remove slow test_purge_huge (#9087) 1 week ago
.github b435b6a132 chore(deps): bump buildkite/trigger-pipeline-action from 2.4.0 to 2.4.1 (#8942) 2 weeks ago
account-decoder 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
account-decoder-client-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
accounts-cluster-bench e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
accounts-db c7b97bc77a Removes unused AccountsDb DCOU methods (#9114) 4 days ago
banking-bench e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
banking-stage-ingress-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
banks-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
banks-interface 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
banks-server 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
bench-streamer 4f08cb9585 delet gpu code (#8967) 4 days ago
bench-tps e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
bench-vote dac6a5fbef TPU: split staked and unstaked max_connections_per_peer (#8843) 2 weeks ago
bloom 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
bucket_map 0f654662c7 chore(bucket_map): switch to rand=0.9.2 (#9074) 6 days ago
builtins 58eb815ef2 remove `solana-stake-program` (#8834) 2 weeks ago
builtins-default-costs 58eb815ef2 remove `solana-stake-program` (#8834) 2 weeks ago
cargo-registry 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 weeks ago
ci 89ae1969d5 ci: improve frozen abi test (#9044) 5 days ago
clap-utils 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 weeks ago
clap-v3-utils 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 weeks ago
cli bb79fdb4e5 rm UDP TPU path from cli (#9092) 5 days ago
cli-config 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 weeks ago
cli-output 46d54f3b17 clippy: derive Default impl for enums instead of manual impl (#8792) 3 weeks ago
client 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 weeks ago
client-test e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
compute-budget f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 weeks ago
compute-budget-instruction 5f99ddfdb2 feat(svm): split out static elements of `SVMMessage` (#9001) 4 days ago
connection-cache 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 weeks ago
core 4f08cb9585 delet gpu code (#8967) 4 days ago
cost-model 1538a5d782 feat(cost): compute cost without needing ALTs (#9110) 4 days ago
curves 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
dev-bins e978f80303 chore(runtime): switch to rand=0.9.2 and rand_chacha=0.9 (dev dependeny) (#9095) 5 days ago
docker-solana e19a786c83 docs: fix docker link (#6180) 6 months ago
docs 0d664e9d6c remove GPU from docs and scripts (#9076) 4 days ago
dos e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
download-utils cc6eedd6ba Splitting snapshot type into snapshot type and snapshot archive type (#9050) 4 days ago
entry 4f08cb9585 delet gpu code (#8967) 4 days ago
faucet 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 weeks ago
feature-set 0356684899 SIMD-0284: Add little-endian compatibility for alt_bn128 (#8771) 3 weeks ago
fee 1538a5d782 feat(cost): compute cost without needing ALTs (#9110) 4 days ago
fs 35c3d0ac3f add `agave-unstable-api` deprecation warning to new `agave-fs` crate (#9012) 1 week ago
genesis 58eb815ef2 remove `solana-stake-program` (#8834) 2 weeks ago
genesis-utils 0af564a66f Move genesis related helpers from agave-snapshots to solana_genesis_utils (#8658) 3 weeks ago
geyser-plugin-interface 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 weeks ago
geyser-plugin-manager 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
gossip 4f08cb9585 delet gpu code (#8967) 4 days ago
gossip-bin 4b58cb8afb chore: remove deprecated gossip_host CLI argument (#9058) 4 days ago
install 504b84503c clippy: fix mismatched_lifetime_syntaxes in monorepo (#8796) 3 weeks ago
io-uring a8f32fd52c chore: annotate code with unsafe blocks to fix unsafe_op_in_unsafe_fn (#9070) 6 days ago
keygen 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 weeks ago
lattice-hash 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
ledger 4f08cb9585 delet gpu code (#8967) 4 days ago
ledger-tool e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
local-cluster 4f08cb9585 delet gpu code (#8967) 4 days ago
logger a604464a32 chore: Cleanup logger functions (#9067) 1 week ago
measure 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
merkle-tree 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 weeks ago
metrics 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 weeks ago
multinode-demo 0d664e9d6c remove GPU from docs and scripts (#9076) 4 days ago
net 0d664e9d6c remove GPU from docs and scripts (#9076) 4 days ago
net-utils e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
notifier 926b206f77 chore: fix rust_2024_incompatible_pat warnings (#8991) 1 week ago
perf 4f08cb9585 delet gpu code (#8967) 4 days ago
platform-tools-sdk 7fa5341369 Bump version to v4.0.0-alpha.0 (#8789) 3 weeks ago
poh 4f08cb9585 delet gpu code (#8967) 4 days ago
poh-bench 4f08cb9585 delet gpu code (#8967) 4 days ago
poseidon 3da465153b SIMD-0359: Enforce padding in Poseidon hash inputs (#8534) 3 weeks ago
precompiles 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 weeks ago
program-binaries 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
program-runtime 1597fffdac chore(svm): fix rust_2024_incompatible_pat warnings (#8990) 1 week ago
program-test ae15902040 clippy: use std::ptr::with_exposed_provenance_mut instead of transmute (#8794) 2 weeks ago
programs 5f99ddfdb2 feat(svm): split out static elements of `SVMMessage` (#9001) 4 days ago
pubsub-client 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 weeks ago
quic-client a099fcc17a streamer: API cleanup (#8842) 2 weeks ago
rayon-threadlimit 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 weeks ago
rbpf-cli 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
remote-wallet 46d54f3b17 clippy: derive Default impl for enums instead of manual impl (#8792) 3 weeks ago
reserved-account-keys 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
rpc e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
rpc-client 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 weeks ago
rpc-client-api 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 weeks ago
rpc-client-nonce-utils 926b206f77 chore: fix rust_2024_incompatible_pat warnings (#8991) 1 week ago
rpc-client-types 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 weeks ago
rpc-test e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
runtime 4f08cb9585 delet gpu code (#8967) 4 days ago
runtime-transaction 5f99ddfdb2 feat(svm): split out static elements of `SVMMessage` (#9001) 4 days ago
scheduler-bindings 7bda20f4cd feat(scheduler-bindings): add drop on failure & all or nothing flags (#8878) 2 weeks ago
scheduling-utils 85ebde9323 feat(scheduling-utils): TransactionBatchPtr meta data (#9048) 1 week ago
scripts 0d664e9d6c remove GPU from docs and scripts (#9076) 4 days ago
sdk d221ad4091 sdk: Remove everything from the repo (#4867) 9 months ago
send-transaction-service 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 weeks ago
snapshots cc6eedd6ba Splitting snapshot type into snapshot type and snapshot archive type (#9050) 4 days ago
stake-accounts 58eb815ef2 remove `solana-stake-program` (#8834) 2 weeks ago
storage-bigtable 550789aef0 Reduce allocation and lifetimes complexity in call to get_confirmed_blocks_with_data (#9008) 1 week ago
storage-proto 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
streamer 4f08cb9585 delet gpu code (#8967) 4 days ago
svm 5f99ddfdb2 feat(svm): split out static elements of `SVMMessage` (#9001) 4 days ago
svm-callback 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
svm-feature-set 0356684899 SIMD-0284: Add little-endian compatibility for alt_bn128 (#8771) 3 weeks ago
svm-log-collector 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
svm-measure 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
svm-rent-calculator 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
svm-test-harness fff036c486 clippy: fix and deny unsafe_attr_outside_unsafe warning for edition 2024 migration (#9011) 1 week ago
svm-timings 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
svm-transaction 5f99ddfdb2 feat(svm): split out static elements of `SVMMessage` (#9001) 4 days ago
svm-type-overrides 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
syscalls 3c8947962f chore: fix and deny unsafe-op-in-unsafe-fn for rust 2024 migration (#9018) 1 week ago
test-validator e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
thread-manager 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
tls-utils 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
tokens e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
tps-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
tpu-client 593a2aadd0 rm QUIC_PORT_OFFSET outside of gossip (#8820) 1 week ago
tpu-client-next 944d47a112 fix test_connection_denied_until_allowed (#9090) 5 days ago
transaction-context 47fd923101 suppress another erroneous nested deprecation lint (#9006) 1 week ago
transaction-dos e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
transaction-metrics-tracker 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
transaction-status 504b84503c clippy: fix mismatched_lifetime_syntaxes in monorepo (#8796) 3 weeks ago
transaction-status-client-types 8e86c30a4e Cleanup derive attributes to list all traits in one place (#8824) 2 weeks ago
transaction-view 5f99ddfdb2 feat(svm): split out static elements of `SVMMessage` (#9001) 4 days ago
turbine 4f08cb9585 delet gpu code (#8967) 4 days ago
udp-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
unified-scheduler-logic a8f32fd52c chore: annotate code with unsafe blocks to fix unsafe_op_in_unsafe_fn (#9070) 6 days ago
unified-scheduler-pool 77b01e0470 Validate and expire bp unified scheduler tasks (#8664) 2 weeks ago
validator 4f08cb9585 delet gpu code (#8967) 4 days ago
verified-packet-receiver 0adb875291 ibrl: remove tpu coalesce (#8356) 3 weeks ago
version 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 month ago
vortexor e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
vote 89ae1969d5 ci: improve frozen abi test (#9044) 5 days ago
votor e7af356486 Refactor: move SocketAddrSpace to net-utils to decouple from streamer (#9037) 6 days ago
votor-messages 6d6740f350 frozen-abi: fix derives for agave-votor-messages and agave-votor (#9034) 1 week ago
watchtower 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 weeks ago
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 years ago
wen-restart 4f08cb9585 delet gpu code (#8967) 4 days ago
xdp 07345d33df XDP: add bond interface support for zero copy (#9004) 1 week ago
xdp-ebpf 73af3c20aa chore: deny already satisfied edition 2024 warnings for workspace (#8989) 1 week ago
zk-keygen 8508753bc9 Remove zk keygen crate (#7634) 3 months ago
zk-sdk a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) 3 months ago
zk-token-sdk 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 weeks ago
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 years ago
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 months ago
.mergify.yml b210780a70 Update mergify config for v3.1 backport label (#8814) 3 weeks ago
CHANGELOG.md 593a2aadd0 rm QUIC_PORT_OFFSET outside of gossip (#8820) 1 week ago
CONTRIBUTING.md 8650813f1b Add a first time contributors section to CONTRIBUTING.md (#7818) 1 month ago
Cargo.lock e978f80303 chore(runtime): switch to rand=0.9.2 and rand_chacha=0.9 (dev dependeny) (#9095) 5 days ago
Cargo.toml a2e0bd9515 chore(deps): bump thread-priority from 1.2.0 to 3.0.0 (#9060) 1 week ago
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 years ago
README.md b4ed07a719 Fixup status badges in README.md (#8222) 1 month ago
RELEASE.md 3cd14f8254 docs: Add step to update CODEOWNERS in RELEASE.md (#8833) 2 weeks ago
SECURITY.md 34d8b55d4a Update security instructions for SPL programs (#8253) 1 month ago
cargo 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 month ago
cargo-build-sbf 92687e91ed BPF Loader: Hoist syscalls into their own crate (#5559) 3 months ago
cargo-test-sbf f9f73a952a sdk: Move out things that won't be in the sdk (#4624) 9 months ago
clippy.toml c3509de5be Replace lazy_static dependency (#6057) 6 months ago
fetch-core-bpf.sh ef6d141079 fetch-core-bpf: Add "v" to release name (#8195) 1 month ago
fetch-perf-libs.sh 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 month ago
fetch-programs.sh f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 months ago
fetch-spl.sh 597947830a spl: Update to newest token-2022 binary on mainnet (#5628) 7 months ago
rust-toolchain.toml 8fc6bff2d3 Update Rust to 1.90.0 (#8962) 1 week ago
rustfmt.toml 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 months ago
vercel.json 1c36af158f removing the "autoJobCancelation": false 4 years ago

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!