Nessuna descrizione

Alexander Meißner e96a712970 Bumps SBPF to v0.13.1 (#8976) 2 settimane fa
.buildkite 7659dddd30 Run merge queue tasks with higher priority (#8708) 3 settimane fa
.cargo 7b66701c49 ci: move xtask under ci subdir (#8544) 1 mese fa
.config d9638e0151 Reapply "build: move dcou-dependent bins to their own workspace (#8403)" (#8646) (#8657) 4 settimane fa
.github b435b6a132 chore(deps): bump buildkite/trigger-pipeline-action from 2.4.0 to 2.4.1 (#8942) 2 settimane fa
account-decoder 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
account-decoder-client-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
accounts-cluster-bench 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
accounts-db 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
banking-bench 5008373cf6 feat(banking-stage): fallback to default on scheduler error (#8777) 3 settimane fa
banking-stage-ingress-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
banks-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
banks-interface 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
banks-server 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
bench-streamer 0adb875291 ibrl: remove tpu coalesce (#8356) 3 settimane fa
bench-tps 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
bench-vote dac6a5fbef TPU: split staked and unstaked max_connections_per_peer (#8843) 2 settimane fa
bloom 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
bucket_map 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
builtins 58eb815ef2 remove `solana-stake-program` (#8834) 2 settimane fa
builtins-default-costs 58eb815ef2 remove `solana-stake-program` (#8834) 2 settimane fa
cargo-registry 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
ci ddbf7bd206 Update Rust to 1.89.0 (#8892) 2 settimane fa
clap-utils 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 settimane fa
clap-v3-utils 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 settimane fa
cli 0b26b56003 clippy: Address manual_let_else instances (#8926) 2 settimane fa
cli-config 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
cli-output 46d54f3b17 clippy: derive Default impl for enums instead of manual impl (#8792) 3 settimane fa
client 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
client-test 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
compute-budget f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 settimane fa
compute-budget-instruction 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
connection-cache 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
core 77b01e0470 Validate and expire bp unified scheduler tasks (#8664) 2 settimane fa
cost-model e532957038 chore: Address mismatched_lifetime_syntaxes warnings (#8923) 2 settimane fa
curves 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
dev-bins e96a712970 Bumps SBPF to v0.13.1 (#8976) 2 settimane fa
docker-solana e19a786c83 docs: fix docker link (#6180) 6 mesi fa
docs 8921f0437d [docs] Use the proper rewinding lemma and fix typos in zk-docs (#8871) 2 settimane fa
dos 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
download-utils f14ddc3714 Move SnapshotKind to agave-snapshots (#8744) 3 settimane fa
entry 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
faucet 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 settimane fa
feature-set 0356684899 SIMD-0284: Add little-endian compatibility for alt_bn128 (#8771) 3 settimane fa
fee 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
fs 6e071d6083 Adds rust-2024 lints to fs crate (#8966) 2 settimane fa
genesis 58eb815ef2 remove `solana-stake-program` (#8834) 2 settimane fa
genesis-utils 0af564a66f Move genesis related helpers from agave-snapshots to solana_genesis_utils (#8658) 3 settimane fa
geyser-plugin-interface 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
geyser-plugin-manager 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
gossip 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
install 504b84503c clippy: fix mismatched_lifetime_syntaxes in monorepo (#8796) 3 settimane fa
io-uring 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
keygen 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
lattice-hash 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
ledger 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
ledger-tool e532957038 chore: Address mismatched_lifetime_syntaxes warnings (#8923) 2 settimane fa
local-cluster dcd98dcb63 feat(scheduler-bindings): add `--enable-scheduler-bindings` (#8850) 2 settimane fa
logger 8d1b74edf6 logger: Update functions to take PathBuf/Path (#8726) 3 settimane fa
measure 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
merkle-tree 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
metrics 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
multinode-demo dcd98dcb63 feat(scheduler-bindings): add `--enable-scheduler-bindings` (#8850) 2 settimane fa
net 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 mese fa
net-utils 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 settimane fa
notifier 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
perf 714c511ee3 ibrl: remove packet batch sender thread from streamer (#8786) 2 settimane fa
platform-tools-sdk 7fa5341369 Bump version to v4.0.0-alpha.0 (#8789) 3 settimane fa
poh 864843df49 add ProgressMessage::leader_state (#8788) 3 settimane fa
poh-bench 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
poseidon 3da465153b SIMD-0359: Enforce padding in Poseidon hash inputs (#8534) 3 settimane fa
precompiles 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
program-binaries 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
program-runtime 1189f6c747 test: only activate direct mapping with stricter ABI constraints enabled (#8913) 2 settimane fa
program-test 58eb815ef2 remove `solana-stake-program` (#8834) 2 settimane fa
programs e96a712970 Bumps SBPF to v0.13.1 (#8976) 2 settimane fa
pubsub-client 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
quic-client a099fcc17a streamer: API cleanup (#8842) 2 settimane fa
rayon-threadlimit 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 settimane fa
rbpf-cli 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
remote-wallet 46d54f3b17 clippy: derive Default impl for enums instead of manual impl (#8792) 3 settimane fa
reserved-account-keys 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
rpc 58eb815ef2 remove `solana-stake-program` (#8834) 2 settimane fa
rpc-client 3377d34db0 suppress erroneous lints related to nested deprecation blocks (#8899) 2 settimane fa
rpc-client-api 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
rpc-client-nonce-utils 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
rpc-client-types 7c8c4091c9 remove public interfaces from `agave-unstable-api` (#8818) 2 settimane fa
rpc-test 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
runtime 77b01e0470 Validate and expire bp unified scheduler tasks (#8664) 2 settimane fa
runtime-transaction 5e23be1d91 clippy: fix mismatched_lifetime_syntaxes in tx-metadata (#8797) 3 settimane fa
scheduler-bindings 7bda20f4cd feat(scheduler-bindings): add drop on failure & all or nothing flags (#8878) 2 settimane fa
scheduling-utils 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
scripts fdecf73aaa Update xtask version to 0.1.0 since we will never publish the xtask crate (#8950) 2 settimane fa
sdk d221ad4091 sdk: Remove everything from the repo (#4867) 9 mesi fa
send-transaction-service 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
snapshots 0f46857c8c Adds rust-2024 lints to snapshots crate (#8898) 2 settimane fa
stake-accounts 58eb815ef2 remove `solana-stake-program` (#8834) 2 settimane fa
storage-bigtable 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
storage-proto 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
streamer 714c511ee3 ibrl: remove packet batch sender thread from streamer (#8786) 2 settimane fa
svm 7fa5341369 Bump version to v4.0.0-alpha.0 (#8789) 3 settimane fa
svm-callback 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
svm-feature-set 0356684899 SIMD-0284: Add little-endian compatibility for alt_bn128 (#8771) 3 settimane fa
svm-log-collector 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
svm-measure 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
svm-rent-calculator 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
svm-test-harness d3691c7bc8 Refactor transaction context (#8822) 2 settimane fa
svm-timings 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
svm-transaction d215b77c44 clippy: fix mismatched_lifetime_syntaxes in svm (#8798) 3 settimane fa
svm-type-overrides 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
syscalls a0ae5788cf clippy: Address mut_from_ref instances (#8931) 2 settimane fa
test-validator dcd98dcb63 feat(scheduler-bindings): add `--enable-scheduler-bindings` (#8850) 2 settimane fa
thread-manager 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
tls-utils 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
tokens 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
tps-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
tpu-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
tpu-client-next dac6a5fbef TPU: split staked and unstaked max_connections_per_peer (#8843) 2 settimane fa
transaction-context 4b0384e8d7 chore: Avoid dangerous-implicit-autoref (#8914) 2 settimane fa
transaction-dos 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
transaction-metrics-tracker 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
transaction-status 504b84503c clippy: fix mismatched_lifetime_syntaxes in monorepo (#8796) 3 settimane fa
transaction-status-client-types 8e86c30a4e Cleanup derive attributes to list all traits in one place (#8824) 2 settimane fa
transaction-view 5e23be1d91 clippy: fix mismatched_lifetime_syntaxes in tx-metadata (#8797) 3 settimane fa
turbine 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
udp-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
unified-scheduler-logic 77b01e0470 Validate and expire bp unified scheduler tasks (#8664) 2 settimane fa
unified-scheduler-pool 77b01e0470 Validate and expire bp unified scheduler tasks (#8664) 2 settimane fa
validator 28f8f5387b Enable Obsolete Accounts by default (#8890) 2 settimane fa
verified-packet-receiver 0adb875291 ibrl: remove tpu coalesce (#8356) 3 settimane fa
version 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 mese fa
vortexor dac6a5fbef TPU: split staked and unstaked max_connections_per_peer (#8843) 2 settimane fa
vote d9ad69e28a Optimize LockoutIntervals in collect_vote_lockouts (#8865) 2 settimane fa
votor 1253f83339 (Alpenglow) Make consensus metrics switch to crossbeam channels. (#8689) 2 settimane fa
votor-messages 61165f958c nit: refactor: remove accessor functions on simple vote types (#8725) 3 settimane fa
watchtower 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 settimane fa
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 anni fa
wen-restart e65003def4 Move snapshot_archive_info to agave-snapshots (#8721) 3 settimane fa
xdp f1f797e96a xdp: tx_loop: change MAX_TIMEOUTS to 1 (#8775) 3 settimane fa
xdp-ebpf 43da563748 agave-xdp-ebpf: fix package includes (#8854) 2 settimane fa
zk-keygen 8508753bc9 Remove zk keygen crate (#7634) 3 mesi fa
zk-sdk a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) 3 mesi fa
zk-token-sdk 0f761dca1d clippy: manual_is_multiple_of (#8959) 2 settimane fa
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 anni fa
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 mesi fa
.mergify.yml b210780a70 Update mergify config for v3.1 backport label (#8814) 3 settimane fa
CHANGELOG.md dcd98dcb63 feat(scheduler-bindings): add `--enable-scheduler-bindings` (#8850) 2 settimane fa
CONTRIBUTING.md 8650813f1b Add a first time contributors section to CONTRIBUTING.md (#7818) 1 mese fa
Cargo.lock e96a712970 Bumps SBPF to v0.13.1 (#8976) 2 settimane fa
Cargo.toml e96a712970 Bumps SBPF to v0.13.1 (#8976) 2 settimane fa
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 anni fa
README.md b4ed07a719 Fixup status badges in README.md (#8222) 1 mese fa
RELEASE.md 3cd14f8254 docs: Add step to update CODEOWNERS in RELEASE.md (#8833) 2 settimane fa
SECURITY.md 34d8b55d4a Update security instructions for SPL programs (#8253) 1 mese fa
cargo 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 mese fa
cargo-build-sbf 92687e91ed BPF Loader: Hoist syscalls into their own crate (#5559) 3 mesi fa
cargo-test-sbf f9f73a952a sdk: Move out things that won't be in the sdk (#4624) 9 mesi fa
clippy.toml c3509de5be Replace lazy_static dependency (#6057) 6 mesi fa
fetch-core-bpf.sh ef6d141079 fetch-core-bpf: Add "v" to release name (#8195) 1 mese fa
fetch-perf-libs.sh 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 mese fa
fetch-programs.sh f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 mesi fa
fetch-spl.sh 597947830a spl: Update to newest token-2022 binary on mainnet (#5628) 7 mesi fa
rust-toolchain.toml ddbf7bd206 Update Rust to 1.89.0 (#8892) 2 settimane fa
rustfmt.toml 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
vercel.json 1c36af158f removing the "autoJobCancelation": false 4 anni fa

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!