暫無描述

Brennan 37fa8c8cb2 ag diff 3 月之前
.buildkite 37fa8c8cb2 ag diff 3 月之前
.cargo be73302abd force x86_64-v2 cpu for linux builds (fixup for #5674) (#5891) 7 月之前
.github 37fa8c8cb2 ag diff 3 月之前
account-decoder a6c51d44e2 account-decoder: Remove deprecated AccountAdditionalData and AccountAdditionalDataV2 (#7118) 4 月之前
account-decoder-client-types 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
accounts-cluster-bench 2d1b481f0a chore: Use jemalloc in all bench crates and modules (#5053) 4 月之前
accounts-db 6d8f43698b Shuffle order of scanning account storages in calculate_accounts_lt_hash_at_startup (#7226) 3 月之前
banking-bench eba01dde77 Remove pubkey from DecisionMaker (#7077) 3 月之前
banking-stage-ingress-types 6b6a03ba8b Apply cleanups to solana-core for unified scheduler (#4123) 10 月之前
banks-client bfebc57dcf Add missing features to banks-client crate deps (#6445) 5 月之前
banks-interface 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
banks-server 520f85a56c send-transaction-service: use message hash and blockhash to look up committed tx status (#6585) 5 月之前
bench-streamer 2d1b481f0a chore: Use jemalloc in all bench crates and modules (#5053) 4 月之前
bench-tps a2525643e3 TPU: deprecate ways to enable UDP in TPU via command-line args. (#6860) 4 月之前
bench-vote a2525643e3 TPU: deprecate ways to enable UDP in TPU via command-line args. (#6860) 4 月之前
bloom 7db66d550d bloom: move benchmarks to bencher 0.1.5 (#6044) 4 月之前
bucket_map 0b53c005b8 Revert "bucket-map: move benchmarks to bencher 0.1.5 (#6092)" (#7211) 3 月之前
build-alpenglow-vote 37fa8c8cb2 ag diff 3 月之前
builtins 246300b2b6 slashing: enshrine the slashing program (#4942) 7 月之前
builtins-default-costs 21e149ee55 remove get_builtin_instruction_cost (#7231) 3 月之前
cargo-registry 31cd4ef859 cargo-registry: Resolve Rust 1.88 clippy lints and format strings (#7002) 4 月之前
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) 3 年之前
ci 37fa8c8cb2 ag diff 3 月之前
clap-utils 37fa8c8cb2 ag diff 3 月之前
clap-v3-utils aefebdfc95 [clap-v3-utils] Update dependency from zk-token-sdk to zk-sdk (#6985) 4 月之前
cli 37fa8c8cb2 ag diff 3 月之前
cli-config 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
cli-output e72266ca6f Airgap`TransactionError` type from RPC (#6435) 4 月之前
client 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
client-test 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
compute-budget 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
compute-budget-instruction 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
connection-cache 0cdebbcff8 net-utils: Deprecate explicit reuseport (#6639) 5 月之前
core 37fa8c8cb2 ag diff 3 月之前
cost-model c8567ac00c SIMD-0286 (#7124) 3 月之前
curves 37fa8c8cb2 ag diff 3 月之前
docker-solana e19a786c83 docs: fix docker link (#6180) 6 月之前
docs 704f3f7b09 docs: move pages from contributing section (#7255) 3 月之前
dos 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
download-utils ce73ca8f9a Removes deprecated snapshot archive formats (#6541) 5 月之前
entry 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 月之前
faucet fc4104fc62 build(deps): bump solana-transaction from 2.2.2 to 2.2.3 (#6464) 5 月之前
feature-set 6634fd2239 SIMD-0306 (#7127) 3 月之前
fee 1e11ee2b96 pub calculate_signature_fee (#7232) 3 月之前
genesis 37fa8c8cb2 ag diff 3 月之前
genesis-utils 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
geyser-plugin-interface 6b566ba9cd geyser: update to `ReplicaTransactionInfoV3` (#6515) 5 月之前
geyser-plugin-manager 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
gossip 37fa8c8cb2 ag diff 3 月之前
install 64a3969a99 chore: Typo fixes (#6599) 5 月之前
io-uring 6c80057133 Use io_uring for creating files when unpacking snapshot (#6671) 3 月之前
keygen 37fa8c8cb2 ag diff 3 月之前
lattice-hash 51a114eeca add missing description for solana-lattice-hash (#3358) 1 年之前
ledger 37fa8c8cb2 ag diff 3 月之前
ledger-tool 37fa8c8cb2 ag diff 3 月之前
local-cluster 37fa8c8cb2 ag diff 3 月之前
log-analyzer 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
log-collector 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
measure a0b2c73cfe relax measure macros test check (#3517) 1 年之前
memory-management 076329381a Moves a clippy attribute (#194) 1 年之前
merkle-tree 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
metrics 37fa8c8cb2 ag diff 3 月之前
multinode-demo 37fa8c8cb2 ag diff 3 月之前
net 37fa8c8cb2 ag diff 3 月之前
net-shaper 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
net-utils 37fa8c8cb2 ag diff 3 月之前
notifier 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
perf 37fa8c8cb2 ag diff 3 月之前
platform-tools-sdk 58d7da606d Generate toolchain name inside condition (#7024) 4 月之前
poh 37fa8c8cb2 ag diff 3 月之前
poh-bench 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 月之前
poseidon 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
precompiles dc824a2a66 bump solana-secp256k1-program from 2.2.1 to 2.2.3 (#6507) 5 月之前
program-runtime 37fa8c8cb2 ag diff 3 月之前
program-test 37fa8c8cb2 ag diff 3 月之前
programs 37fa8c8cb2 ag diff 3 月之前
pubsub-client 60a34ecc9c pubsub-client: Remove deprecated set_node_version (#7117) 4 月之前
quic-client 9d97d498bd Support closing connections when QUIC connection drop (#6857) 4 月之前
rayon-threadlimit 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 月之前
rbpf-cli 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
remote-wallet 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
reserved-account-keys 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
rpc 37fa8c8cb2 ag diff 3 月之前
rpc-client 37fa8c8cb2 ag diff 3 月之前
rpc-client-api 75458d78cd Add `slot` to the error context of `EpochRewardsPeriodActiveErrorData` and `SlotNotEpochBoundaryErrorData` (#6962) 4 月之前
rpc-client-nonce-utils 234afe489a chore: Fix several crate documentation links (#6601) 5 月之前
rpc-client-types e72266ca6f Airgap`TransactionError` type from RPC (#6435) 4 月之前
rpc-test 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
runtime 37fa8c8cb2 ag diff 3 月之前
runtime-transaction 37fa8c8cb2 ag diff 3 月之前
scripts a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) 3 月之前
sdk 37fa8c8cb2 ag diff 3 月之前
send-transaction-service 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
stake-accounts ebe554559c solana-stake-accounts: support configurable commitment level and no wait (#6644) 4 月之前
storage-bigtable d429f6efcd ledger: Resolve Rust 1.88 clippy lints and format strings (#6964) 4 月之前
storage-proto d849be8cb2 Airgap`TransactionError` type from blockstore (#6434) 5 月之前
streamer cbc864f483 agave-validator: move socket_addr_space parsing into run command logic (#7139) 3 月之前
svm 37fa8c8cb2 ag diff 3 月之前
svm-callback 96bef97b80 Run rustfmt with format_strings = true (1 / N) (#6907) 4 月之前
svm-conformance 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
svm-feature-set 5b6880a3f4 Remove - `lift_cpi_caller_restriction` (#6828) 4 月之前
svm-rent-collector e36fdb83eb clean up `disable_rent_fees_collection` feature (#6622) 5 月之前
svm-transaction 19c78ed41f SIMD-0242: Static Nonce Account Only (#5555) 7 月之前
syscalls 37fa8c8cb2 ag diff 3 月之前
system-test 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
test-validator 37fa8c8cb2 ag diff 3 月之前
thin-client 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
thread-manager 222d32e7ea thread-manager: Resolve Rust 1.88 clippy lints and format strings (#7088) 4 月之前
timings 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
tls-utils 29a06f5c84 fix imports in tls-utils to avoid cargo doc error (#5861) 7 月之前
tokens c9e85009eb SPL: Use ATA interface crate instead of program crate (#7256) 3 月之前
tps-client 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
tpu-client 46d151a191 Update Leader Slot Info Atomically (#7241) 3 月之前
tpu-client-next 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
transaction-context 2c8930d86c Remove `index_in_caller` from `InstructionAccount` (#7220) 3 月之前
transaction-dos 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
transaction-metrics-tracker 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
transaction-status c9e85009eb SPL: Use ATA interface crate instead of program crate (#7256) 3 月之前
transaction-status-client-types 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 月之前
transaction-view 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
turbine 37fa8c8cb2 ag diff 3 月之前
type-overrides 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
udp-client 8d614dd91d dcou test only code in streamer (#6936) 4 月之前
unified-scheduler-logic cfdfc391d0 Avoid large block for unified scheduler bp testing (#7223) 3 月之前
unified-scheduler-pool 37fa8c8cb2 ag diff 3 月之前
upload-perf 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
validator 37fa8c8cb2 ag diff 3 月之前
verified-packet-receiver 18238bdfcb Restore vortexor receiver -- renamed to agave-verified-packet-receiver (#6542) 5 月之前
version 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
vortexor 37fa8c8cb2 ag diff 3 月之前
vote 37fa8c8cb2 ag diff 3 月之前
votor 37fa8c8cb2 ag diff 3 月之前
votor-messages 37fa8c8cb2 ag diff 3 月之前
watchtower 103fb21d00 ci: use cargo sort v2 (#6406) 5 月之前
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 年之前
wen-restart de646bd9a1 ledger: Mark pub test functions as dcou (#7184) 3 月之前
xdp 219f805fcb xdp: always populate the fill ring (#6836) 4 月之前
zk-keygen 37fa8c8cb2 ag diff 3 月之前
zk-sdk a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) 3 月之前
zk-token-sdk 2f015527c5 fix: typos (#7013) 4 月之前
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 年之前
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 月之前
.mergify.yml bb48baebc1 [mergify] add notification for ZK directory changes (#6913) 4 月之前
CHANGELOG.md 6c80057133 Use io_uring for creating files when unpacking snapshot (#6671) 3 月之前
CONTRIBUTING.md 305c98e869 Update contributing with more guidelines. (#5008) 7 月之前
Cargo.lock 37fa8c8cb2 ag diff 3 月之前
Cargo.toml 37fa8c8cb2 ag diff 3 月之前
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 年之前
README.md c22b2b5fe4 readme: Update agave logo (#6597) 5 月之前
RELEASE.md d060c30b5e Update RELEASE.md (#1901) 1 年之前
SECURITY.md 5e80a7ca7b Update security email to security@anza.xyz (#2598) 1 年之前
cargo 6cd4bc5e60 Speed up net.sh builds (#16360) 4 年之前
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 ef4f90f9e1 Run 'fetch-core-bpf.sh' from any directory (#5518) 8 月之前
fetch-perf-libs.sh 9393dce1ff Take v0.19.3 of perf libs which improves sigverify perf 2x (#11894) 5 年之前
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 月之前
nextest.toml 37fa8c8cb2 ag diff 3 月之前
run.sh fc2a8794be [docs] updated readme and fix links (#34565) 1 年之前
rust-toolchain.toml b3fca5dd51 Downgrade Rust to 1.86.0 (#6980) 4 月之前
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

Anza

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 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!