暂无描述

Wen 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 周之前
.buildkite 7659dddd30 Run merge queue tasks with higher priority (#8708) 3 周之前
.cargo 7b66701c49 ci: move xtask under ci subdir (#8544) 1 月之前
.config d9638e0151 Reapply "build: move dcou-dependent bins to their own workspace (#8403)" (#8646) (#8657) 4 周之前
.github fccef82a12 build(deps): bump actions/download-artifact from 4 to 6 (#8696) 3 周之前
account-decoder 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
account-decoder-client-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
accounts-cluster-bench 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
accounts-db a6131a57f4 Breaks loop early in AppendVec::scan_accounts_stored_meta() (#8707) 3 周之前
banking-bench 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
banking-stage-ingress-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
banks-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
banks-interface 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
banks-server 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
bench-streamer 0adb875291 ibrl: remove tpu coalesce (#8356) 3 周之前
bench-tps 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
bench-vote f2ec733e1a Support simple QOS -- with QOS trait refactoring (#8437) 3 周之前
bloom 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
bucket_map 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
builtins 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
builtins-default-costs 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
cargo-registry 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
ci 88e1fa867a ci: add workspace key to xtask (#8717) 3 周之前
clap-utils 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 周之前
clap-v3-utils 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
cli 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
cli-config 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
cli-output 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
client-test 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
compute-budget f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
compute-budget-instruction 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
connection-cache 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
core acced30f4f feat(scheduler-bindings): ExternalWorker skeleton loop (#8703) 3 周之前
cost-model 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
curves 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
dev-bins 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 周之前
docker-solana e19a786c83 docs: fix docker link (#6180) 6 月之前
docs e5f99a1bdc docs: fixed broken links (#8450) 1 月之前
dos 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
download-utils e43984b534 Move path related functions to agave-snapshots (#8610) 3 周之前
entry 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
faucet 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
feature-set f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
fee 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
fs 5c05d521c2 Introduce agave-fs crate, move file_io and filesystem ops there (#8654) 3 周之前
genesis 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 周之前
genesis-utils 0af564a66f Move genesis related helpers from agave-snapshots to solana_genesis_utils (#8658) 3 周之前
geyser-plugin-interface 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
geyser-plugin-manager 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
gossip 674bc91007 Gossip: wrapping add on epoch_slot_index (#8713) 3 周之前
install 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
io-uring 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
keygen 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
lattice-hash 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
ledger e65003def4 Move snapshot_archive_info to agave-snapshots (#8721) 3 周之前
ledger-tool e65003def4 Move snapshot_archive_info to agave-snapshots (#8721) 3 周之前
local-cluster f518ca0f73 slow partition tests (#8673) 3 周之前
logger 8d1b74edf6 logger: Update functions to take PathBuf/Path (#8726) 3 周之前
measure 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
merkle-tree 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
metrics 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
multinode-demo d9638e0151 Reapply "build: move dcou-dependent bins to their own workspace (#8403)" (#8646) (#8657) 4 周之前
net 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 月之前
net-utils 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
notifier 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
perf 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
platform-tools-sdk 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
poh 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
poh-bench 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
poseidon 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
precompiles 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
program-binaries 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
program-runtime f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
program-test f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
programs 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 周之前
pubsub-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
quic-client f2ec733e1a Support simple QOS -- with QOS trait refactoring (#8437) 3 周之前
rayon-threadlimit 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
rbpf-cli 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
remote-wallet 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
reserved-account-keys 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
rpc e65003def4 Move snapshot_archive_info to agave-snapshots (#8721) 3 周之前
rpc-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
rpc-client-api 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
rpc-client-nonce-utils 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
rpc-client-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
rpc-test 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
runtime f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
runtime-transaction 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
scheduler-bindings acced30f4f feat(scheduler-bindings): ExternalWorker skeleton loop (#8703) 3 周之前
scheduling-utils 04f8e0a6e3 feat(schduling-utils): client & server handshake implementations (#8572) 4 周之前
scripts c159770f1d Add agave-xdp-ebpf (#8690) 3 周之前
sdk d221ad4091 sdk: Remove everything from the repo (#4867) 9 月之前
send-transaction-service 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
snapshots e65003def4 Move snapshot_archive_info to agave-snapshots (#8721) 3 周之前
stake-accounts 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
storage-bigtable 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
storage-proto 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
streamer 217ff3cd72 Streamer: cleanup API after QoS refactoring (#8724) 3 周之前
svm 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
svm-callback 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
svm-feature-set f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
svm-log-collector 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
svm-measure 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
svm-rent-calculator 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
svm-test-harness f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
svm-timings 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
svm-transaction 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
svm-type-overrides 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
syscalls ad9286451d Refactor - Move `ProgramCache::environments` to `TransactionBatchProcessor` (#8471) 4 周之前
test-validator f12e46b798 SIMD-0339: Increase CPI Account Infos Limit (#8513) 3 周之前
thread-manager 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
tls-utils 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
tokens 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
tps-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
tpu-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
tpu-client-next f2ec733e1a Support simple QOS -- with QOS trait refactoring (#8437) 3 周之前
transaction-context 1dc7e0af5f Introduce new account layout for program-runtime (#8372) 4 周之前
transaction-dos 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
transaction-metrics-tracker 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
transaction-status 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
transaction-status-client-types 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
transaction-view 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
turbine c159770f1d Add agave-xdp-ebpf (#8690) 3 周之前
udp-client 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
unified-scheduler-logic 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
unified-scheduler-pool 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
validator 8d1b74edf6 logger: Update functions to take PathBuf/Path (#8726) 3 周之前
verified-packet-receiver 0adb875291 ibrl: remove tpu coalesce (#8356) 3 周之前
version 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
vortexor 8d1b74edf6 logger: Update functions to take PathBuf/Path (#8726) 3 周之前
vote 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
votor d070b3cf4e refactor: do not derive `Copy` on `VoteMessage` (#8691) 3 周之前
votor-messages d070b3cf4e refactor: do not derive `Copy` on `VoteMessage` (#8691) 3 周之前
watchtower 5af914802e Move solana-logger back to agave as agave-logger (#8622) 3 周之前
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 年之前
wen-restart e65003def4 Move snapshot_archive_info to agave-snapshots (#8721) 3 周之前
xdp c159770f1d Add agave-xdp-ebpf (#8690) 3 周之前
xdp-ebpf c159770f1d Add agave-xdp-ebpf (#8690) 3 周之前
zk-keygen 8508753bc9 Remove zk keygen crate (#7634) 3 月之前
zk-sdk a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) 3 月之前
zk-token-sdk 22faf53e8f introduce `agave-unstable-api` throughout the monorepo (#8424) 1 月之前
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 年之前
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 月之前
.mergify.yml 8508753bc9 Remove zk keygen crate (#7634) 3 月之前
CHANGELOG.md 9aa48d9540 Add capabilities requirement to changelog (#8730) 3 周之前
CONTRIBUTING.md 8650813f1b Add a first time contributors section to CONTRIBUTING.md (#7818) 1 月之前
Cargo.lock 28c8acc544 (Alpenglow) Add Alpenglow mode in genesis. (#8482) 3 周之前
Cargo.toml c159770f1d Add agave-xdp-ebpf (#8690) 3 周之前
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 年之前
README.md b4ed07a719 Fixup status badges in README.md (#8222) 1 月之前
RELEASE.md d060c30b5e Update RELEASE.md (#1901) 1 年之前
SECURITY.md 34d8b55d4a Update security instructions for SPL programs (#8253) 1 月之前
cargo 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 月之前
cargo-build-sbf 92687e91ed BPF Loader: Hoist syscalls into their own crate (#5559) 3 月之前
cargo-test-sbf f9f73a952a sdk: Move out things that won't be in the sdk (#4624) 9 月之前
clippy.toml c3509de5be Replace lazy_static dependency (#6057) 6 月之前
fetch-core-bpf.sh ef6d141079 fetch-core-bpf: Add "v" to release name (#8195) 1 月之前
fetch-perf-libs.sh 2018618765 Modify buildscripts to work with offline builds (e.g. nix builds) (#7811) 1 月之前
fetch-programs.sh f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 月之前
fetch-spl.sh 597947830a spl: Update to newest token-2022 binary on mainnet (#5628) 7 月之前
rust-toolchain.toml b3fca5dd51 Downgrade Rust to 1.86.0 (#6980) 4 月之前
rustfmt.toml 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 月之前
vercel.json 1c36af158f removing the "autoJobCancelation": false 4 年之前

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!