説明なし

Will Hickey d060c30b5e Update RELEASE.md (#1901) 1 年間 前
.buildkite 8fc7083116 ci: stop all anzaxyz/ci in post-checkout (#929) 1 年間 前
.github dc6ee5b208 ci: update docs pipeline (#2162) 1 年間 前
account-decoder 58027a38ba Remove deprecated spl-token conversion methods (#1955) 1 年間 前
accounts-bench b0cfffb290 Renames accounts hash calc fns (#1183) 1 年間 前
accounts-cluster-bench 0b6f4a0d4d replace solana-client with its constituent parts where possible (#2086) 1 年間 前
accounts-db ca0855aa3a refactor: new svm module `account_saver` (#2167) 1 年間 前
banking-bench 61d8be0d6f scheduler opt-in forwarding (#1801) 1 年間 前
banks-client 6e4e82eb2a Remove deprecated BanksClient methods and dependent ProgramTest methods (#1956) 1 年間 前
banks-interface 6e4e82eb2a Remove deprecated BanksClient methods and dependent ProgramTest methods (#1956) 1 年間 前
banks-server 6e4e82eb2a Remove deprecated BanksClient methods and dependent ProgramTest methods (#1956) 1 年間 前
bench-streamer 1744e9efd7 BankingStage Forwarding Filter (#685) 1 年間 前
bench-tps 0b6f4a0d4d replace solana-client with its constituent parts where possible (#2086) 1 年間 前
bloom 0fa8da419e Remove some unused deps (#1929) 1 年間 前
bucket_map b9eb4e2aa3 use refcount=1 for bucket map tests. (#1921) 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 adf24472dd Improve frozen abi dx a bit and document it (#2131) 1 年間 前
clap-utils 0acaece546 cli: Use `WithComputeUnitConfig` for compute unit limit (#1810) 1 年間 前
clap-v3-utils 12d009ecec [clap-v3-utils] Add functions to directly parse from `SignerSource` (#1062) 1 年間 前
cli 31012e3790 Extract decode-error from solana-program (#1813) 1 年間 前
cli-config fc2a8794be [docs] updated readme and fix links (#34565) 1 年間 前
cli-output e0dc5dc707 rpc: Include interest-bearing configuration for UI amount calculation (#1549) 1 年間 前
client 3cd7621a81 Remove deprecated symbols from solana-client (mostly re-exports) (#1992) 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 b2c4742af2 Move short_vec to its own crate (#1796) 1 年間 前
cost-model f11b777e9b Add cost-model bench (#2168) 1 年間 前
curves d809bd9851 Move secp256k1_recover to its own crate (#1656) 1 年間 前
define-syscall 8eef73da38 Extract define-syscall crate (#1827) 1 年間 前
docs dc6ee5b208 ci: update docs pipeline (#2162) 1 年間 前
dos 3cd7621a81 Remove deprecated symbols from solana-client (mostly re-exports) (#1992) 1 年間 前
download-utils b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 年 前
entry ec9bd79849 clippy: fix legacy_numeric_constants (#1314) 1 年間 前
faucet 51dc7e6fb7 [anza migration]: add 'agave=info' to default log level (#223) 1 年間 前
frozen-abi adf24472dd Improve frozen abi dx a bit and document it (#2131) 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 3f9a7a52ea [anza migration] rename crates (#10) 1 年間 前
geyser-plugin-manager d7714fef09 fix(geyser-plugin-manager): avoid SIGSEGV when plugin returns on_load… (#1818) 1 年間 前
gossip b2c4742af2 Move short_vec to its own crate (#1796) 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 2a48564b59 blockstore: only consume duplicate proofs from root_slot + 1 on startup (#1971) 1 年間 前
ledger-tool ddee03e60d Extract log collector crate (#2025) 1 年間 前
local-cluster 0b6f4a0d4d replace solana-client with its constituent parts where possible (#2086) 1 年間 前
log-analyzer 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 年 前
log-collector ddee03e60d Extract log collector crate (#2025) 1 年間 前
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 4f228f4c3c Removes deprecated --halt-on-known-validators-accounts-hash-mismatch cli arg (#2154) 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 0fa8da419e Remove some unused deps (#1929) 1 年間 前
notifier 3f9a7a52ea [anza migration] rename crates (#10) 1 年間 前
perf b2c4742af2 Move short_vec to its own crate (#1796) 1 年間 前
poh d441c0f577 Fix BankForks::new_rw_arc memory leak (#1893) 1 年間 前
poh-bench 10d06773cd Share the threadpool for tx execution and entry verifification (#216) 1 年間 前
poseidon 8eef73da38 Extract define-syscall crate (#1827) 1 年間 前
program-runtime 9fd061efcd add set_sysvar_for_tests to SysvarCache (#1852) 1 年間 前
program-test 78ae6c7df9 Extract timings crate (#2026) 1 年間 前
programs ca0855aa3a refactor: new svm module `account_saver` (#2167) 1 年間 前
pubsub-client 69d2eb8da8 Remove rpc- and pubsub-client version querying (#2045) 1 年間 前
quic-client 2443048c5c multiquic support in solana_streamer -- rebase of #634 to latest master (#1452) 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 3b3ffbb6c9 Remove deprecated Memcmp filter symbols (#2050) 1 年間 前
rpc-client 69d2eb8da8 Remove rpc- and pubsub-client version querying (#2045) 1 年間 前
rpc-client-api 3b3ffbb6c9 Remove deprecated Memcmp filter symbols (#2050) 1 年間 前
rpc-client-nonce-utils 51af772e63 Remove deprecated RpcClient methods (#1899) 1 年間 前
rpc-test 0b6f4a0d4d replace solana-client with its constituent parts where possible (#2086) 1 年間 前
runtime ca0855aa3a refactor: new svm module `account_saver` (#2167) 1 年間 前
runtime-transaction 62eb4cc068 Add Compute Budget Crate (#1121) 1 年間 前
sanitize a4ba708cf7 Pull sanitize crate out of solana-program (#1707) 1 年間 前
scripts adf24472dd Improve frozen abi dx a bit and document it (#2131) 1 年間 前
sdk 31012e3790 Extract decode-error from solana-program (#1813) 1 年間 前
send-transaction-service 0b6f4a0d4d replace solana-client with its constituent parts where possible (#2086) 1 年間 前
short-vec b2c4742af2 Move short_vec to its own crate (#1796) 1 年間 前
stake-accounts d441c0f577 Fix BankForks::new_rw_arc memory leak (#1893) 1 年間 前
storage-bigtable 034cd7396a Add num_partitions to Blockstore rewards (#1601) 1 年間 前
storage-proto 034cd7396a Add num_partitions to Blockstore rewards (#1601) 1 年間 前
streamer afd92ab932 Sleep packet_batch_sender task when we don't have a packet batch (#1986) 1 年間 前
svm ca0855aa3a refactor: new svm module `account_saver` (#2167) 1 年間 前
svm-conformance 1d9d6fd45c SVM: Move protobuf into separate conformance crate (#1946) 1 年間 前
svm-transaction a191a77e22 Generic Transaction Trait (#1918) 1 年間 前
system-test 3f9a7a52ea [anza migration] rename crates (#10) 1 年間 前
test-validator 0b6f4a0d4d replace solana-client with its constituent parts where possible (#2086) 1 年間 前
thin-client 1063be7f1b Bump ThinClient since version (#1991) 1 年間 前
timings 78ae6c7df9 Extract timings crate (#2026) 1 年間 前
tokens c59fa1ea77 chore: remove unused clippy attributes, needless_collect (#1517) 1 年間 前
tps-client 7584773312 chore: publish solana-tps-client (#1845) 1 年間 前
tpu-client 63fb9fe9d9 Remove `ThinClient` from `LocalCluster` (#1300) 1 年間 前
transaction-dos 0fa8da419e Remove some unused deps (#1929) 1 年間 前
transaction-metrics-tracker b2c4742af2 Move short_vec to its own crate (#1796) 1 年間 前
transaction-status 58027a38ba Remove deprecated spl-token conversion methods (#1955) 1 年間 前
turbine 79cb077f10 adds feature-gate code to enforce retransmitter signature verification (#1840) 1 年間 前
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 78ae6c7df9 Extract timings crate (#2026) 1 年間 前
upload-perf df3ef111f7 chore: workspace inheritance (#29893) 2 年 前
validator 4f228f4c3c Removes deprecated --halt-on-known-validators-accounts-hash-mismatch cli arg (#2154) 1 年間 前
version a4ba708cf7 Pull sanitize crate out of solana-program (#1707) 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 78ae6c7df9 Extract timings crate (#2026) 1 年間 前
zk-keygen 0fa8da419e Remove some unused deps (#1929) 1 年間 前
zk-sdk 17e496d779 Revert "bump curve25519-dalek from 3.2.1 to 4.1.3 (#1693)" (#2055) 1 年間 前
zk-token-sdk 17e496d779 Revert "bump curve25519-dalek from 3.2.1 to 4.1.3 (#1693)" (#2055) 1 年間 前
.clippy.toml 30f0c25b65 Fix all remaining clippy warnings 7 年 前
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 年 前
.gitignore ddee03e60d Extract log collector crate (#2025) 1 年間 前
.mergify.yml ba90ea3a4d fix: remove more cargo-(build|test)-bpf (#2073) 1 年間 前
CHANGELOG.md c338fbce1a Update changelog with the removal of `cargo-build/test-bpf` (#2092) 1 年間 前
CONTRIBUTING.md 5ec3462c2d Update crate ownership transfer name (#1970) 1 年間 前
Cargo.lock ca0855aa3a refactor: new svm module `account_saver` (#2167) 1 年間 前
Cargo.toml 31012e3790 Extract decode-error from solana-program (#1813) 1 年間 前
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 d060c30b5e Update RELEASE.md (#1901) 1 年間 前
SECURITY.md c3bd350a40 Update SECURITY.md (#1229) 1 年間 前
cargo 6cd4bc5e60 Speed up net.sh builds (#16360) 4 年 前
cargo-build-sbf 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 723fa382ab fetch-spl: Update token-2022 to v1.0.0 (#995) 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!