بدون توضیح

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!