Нет описания

Alex Pyattaev cc3f387437 new token bucket impl (#6893) 2 месяцев назад
.buildkite d676f0e110 ci: improve step descriptions (#6664) 4 месяцев назад
.cargo be73302abd force x86_64-v2 cpu for linux builds (fixup for #5674) (#5891) 7 месяцев назад
.config 8c11ea8039 force gossip_ring test to run alone in ci (#7872) 2 месяцев назад
.github 17ec6191cf ci: use node 24 (#7229) 2 месяцев назад
account-decoder 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
account-decoder-client-types 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
accounts-cluster-bench cb0d00e9d8 resolve issue with local faucet overlapping ports in tests / new api (#7909) 2 месяцев назад
accounts-db 7c6a2d8ea9 Optimize update_index to avoid vec copies (#7624) 2 месяцев назад
banking-bench 2c027cab65 PohController (#7703) 2 месяцев назад
banking-stage-ingress-types 6b6a03ba8b Apply cleanups to solana-core for unified scheduler (#4123) 10 месяцев назад
banks-client 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
banks-interface 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
banks-server 0da231c1d4 Simulate transaction with balances (#6750) 3 месяцев назад
bench-streamer 2d1b481f0a chore: Use jemalloc in all bench crates and modules (#5053) 4 месяцев назад
bench-tps e2071ff7a8 clean: remove unused genesis native processors config (#7989) 2 месяцев назад
bench-vote 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 месяцев назад
bloom 7db66d550d bloom: move benchmarks to bencher 0.1.5 (#6044) 4 месяцев назад
bucket_map 680bb320e6 Consistently use SlotList in AccountsIndex APIs (#8002) 2 месяцев назад
builtins eec3878cef remove stake program builtin (#7203) 3 месяцев назад
builtins-default-costs eec3878cef remove stake program builtin (#7203) 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 4fc75e028c build: update publish-tarball.sh script (#8110) 2 месяцев назад
clap-utils f1e55d7d94 revert 7849 (#7882) 2 месяцев назад
clap-v3-utils f1e55d7d94 revert 7849 (#7882) 2 месяцев назад
cli d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
cli-config d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
cli-output d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
client 1d17220054 Avoid port collision in test using ConnectionCache for QUIC (#7815) 2 месяцев назад
client-test 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
compute-budget 3e6288efb1 simd-0268: rename variables to use the right simd number (#7753) 2 месяцев назад
compute-budget-instruction eec3878cef remove stake program builtin (#7203) 3 месяцев назад
connection-cache 1e27642f93 refactor: use `Arc` to eliminate potentially expensive cloning (#7638) 2 месяцев назад
core 8b734e5a6a Hold certain retryable transactions until next slot (#6864) 2 месяцев назад
cost-model f4598b1256 CostTracker: Add a getter to expose cost by writable accounts (#7920) 2 месяцев назад
curves 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
docker-solana e19a786c83 docs: fix docker link (#6180) 6 месяцев назад
docs f9294b161b Update link in docs to offchain message spec (#7982) 2 месяцев назад
dos e2071ff7a8 clean: remove unused genesis native processors config (#7989) 2 месяцев назад
download-utils fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 месяцев назад
entry 2746dd239a Poh: RecordSummary (#7859) 2 месяцев назад
faucet fd1c7aa72b faucet: deprecate run_local_faucet and run_local_faucet_with_port (#7912) 2 месяцев назад
feature-set 9fc9e923a8 Feature - Rekeys `stricter_abi_and_runtime_constraints` (#7995) 2 месяцев назад
fee 1e11ee2b96 pub calculate_signature_fee (#7232) 3 месяцев назад
genesis 954e7af7aa vote state handler: port over vote-program-specific methods from vote-interface (#8017) 2 месяцев назад
genesis-utils fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 месяцев назад
geyser-plugin-interface 9052722a5e Revert "geyser: add ReplicaBlockInfoV5 with accounts lt hash (#7756)" (#7966) 2 месяцев назад
geyser-plugin-manager 9052722a5e Revert "geyser: add ReplicaBlockInfoV5 with accounts lt hash (#7756)" (#7966) 2 месяцев назад
gossip d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
install 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 месяцев назад
io-uring cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 месяцев назад
keygen fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 месяцев назад
lattice-hash 51a114eeca add missing description for solana-lattice-hash (#3358) 1 год назад
ledger 78d10cc66b ledger: shredder prepare for removing unchained (#7881) 2 месяцев назад
ledger-tool 954e7af7aa vote state handler: port over vote-program-specific methods from vote-interface (#8017) 2 месяцев назад
local-cluster d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
low-pass-filter b52fe73afc Change to agave-low-pass-filter and publish (#7577) 3 месяцев назад
measure d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
memory-management 076329381a Moves a clippy attribute (#194) 1 год назад
merkle-tree 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
metrics 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 месяцев назад
multinode-demo 0ee477919c Remove --entrypoint from default args of bench-tps script (#7658) 3 месяцев назад
net 5a1ad600bf remove stale integration tests that are not used (#7166) 2 месяцев назад
net-utils cc3f387437 new token bucket impl (#6893) 2 месяцев назад
notifier fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 месяцев назад
perf cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 месяцев назад
platform-tools-sdk cfc4cdc211 Enable feature `rustls-tls-native-roots` for `reqwest` (#7697) 2 месяцев назад
poh 302ff5ecf0 Revert "poh recording performance improvement (anza-xyz#7898)" (#8031) 2 месяцев назад
poh-bench 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 месяцев назад
poseidon 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
precompiles 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
program-binaries eec3878cef remove stake program builtin (#7203) 3 месяцев назад
program-runtime 8b52ec885b program-runtime: port over remaining CPI implementation from syscalls lib (#8046) 2 месяцев назад
program-test 6f098f1a52 vote program: handler for dynamic vote state (#7822) 2 месяцев назад
programs cc3f387437 new token bucket impl (#6893) 2 месяцев назад
pubsub-client 60a34ecc9c pubsub-client: Remove deprecated set_node_version (#7117) 4 месяцев назад
quic-client 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 месяцев назад
rayon-threadlimit 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 месяцев назад
rbpf-cli 3f9a7a52ea [anza migration] rename crates (#10) 1 год назад
remote-wallet d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
reserved-account-keys 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
rpc 1467687d23 Fix rustfmt in `rpc/src/rpc_pubsub_service.rs` (#8083) 2 месяцев назад
rpc-client 3f25767626 fix: use proper serialization for versioned messages in get_fee_for_m… (#7719) 2 месяцев назад
rpc-client-api 5bc175a794 rpc-client-api: reexport publicly used types (#7808) 2 месяцев назад
rpc-client-nonce-utils 234afe489a chore: Fix several crate documentation links (#6601) 5 месяцев назад
rpc-client-types d240fe57dd rpc-client-types: re-export types used in public API and switch to solana-address (#7737) 2 месяцев назад
rpc-test 1d17220054 Avoid port collision in test using ConnectionCache for QUIC (#7815) 2 месяцев назад
runtime 1432ddcfb1 Add create_v4_account_with_authorized and actually populate bls_pubkey_to_rank_map in EpochStakes. (#8103) 2 месяцев назад
runtime-transaction 103fb21d00 ci: use cargo sort v2 (#6406) 5 месяцев назад
scripts 27c691cbd6 build: update cargo-install-all.sh script (#8059) 2 месяцев назад
sdk d221ad4091 sdk: Remove everything from the repo (#4867) 9 месяцев назад
send-transaction-service 279f1eed10 agave-validator: add args tests for run (part 6) (#7620) 2 месяцев назад
stake-accounts d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
storage-bigtable d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
storage-proto 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
streamer cc3f387437 new token bucket impl (#6893) 2 месяцев назад
svm 5b5fce30b9 Increase number of iterations in shuttle (#8027) 2 месяцев назад
svm-callback 03def80b51 refactor: adding builtin accounts (#7900) 2 месяцев назад
svm-feature-set d68ec6574e Make SVM crates inherit workspace version (#7654) 3 месяцев назад
svm-log-collector 173d1361de svm repo split: rename log collector (#7430) 3 месяцев назад
svm-measure 5cad0f1c39 svm repo split: fork measure (#7441) 3 месяцев назад
svm-rent-calculator 6fbbaf6783 svm: Remove SVMRentCollector, use Rent directly (#6782) 3 месяцев назад
svm-timings 87a97a3266 svm repo split: rename timings (#7432) 3 месяцев назад
svm-transaction 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
svm-type-overrides ed847b333d chore: apply doc-comment to the module in svm-type-overrides/src/lib.rs (#7481) 3 месяцев назад
syscalls 8b52ec885b program-runtime: port over remaining CPI implementation from syscalls lib (#8046) 2 месяцев назад
test-validator d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
thread-manager cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 месяцев назад
tls-utils 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 месяцев назад
tokens d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
tps-client d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
tpu-client 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 месяцев назад
tpu-client-next a253e03bf8 tpu-client-next: check if worker is active when ensuring it's presence in cache (#8009) 2 месяцев назад
transaction-context 8ff0febacc Implement set_top_level_instruction_index (#7845) 2 месяцев назад
transaction-dos fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 месяцев назад
transaction-metrics-tracker 2a2f6b976d chore: typo fixes (#7303) 3 месяцев назад
transaction-status 6f098f1a52 vote program: handler for dynamic vote state (#7822) 2 месяцев назад
transaction-status-client-types 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 месяцев назад
transaction-view cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 месяцев назад
turbine d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
udp-client 1e27642f93 refactor: use `Arc` to eliminate potentially expensive cloning (#7638) 2 месяцев назад
unified-scheduler-logic b66c365ac5 chore: typo fixes (#7254) 3 месяцев назад
unified-scheduler-pool 302ff5ecf0 Revert "poh recording performance improvement (anza-xyz#7898)" (#8031) 2 месяцев назад
validator ad0c19f621 validator: ditch call to old faucet test api in solana test validator (#8068) 2 месяцев назад
verified-packet-receiver 18238bdfcb Restore vortexor receiver -- renamed to agave-verified-packet-receiver (#6542) 5 месяцев назад
version fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 месяцев назад
vortexor 2e8ddfb2cc Remove async-channel from workspace dependencies (#8010) 2 месяцев назад
vote 876942164c build(deps): bump serde from 1.0.219 to 1.0.224 (#8052) 2 месяцев назад
votor f74d04c789 (Alpenglow) Upstream vote_history and vote_history_storage. (#8121) 2 месяцев назад
votor-messages 876942164c build(deps): bump serde from 1.0.219 to 1.0.224 (#8052) 2 месяцев назад
watchtower d62b6e07ae chore: Make workspace members inherit crate description (#8071) 2 месяцев назад
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 лет назад
wen-restart 7f4e64446c Removes AccountsDb::verify_accounts_hash_in_bg (#7839) 2 месяцев назад
xdp 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 месяцев назад
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 ad7fbe953d [zk-token-sdk] deprecate the crate (#6969) 3 месяцев назад
.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 1a5120004d validator: Deprecate --monitor flag for exit command (#7692) 2 месяцев назад
CONTRIBUTING.md 305c98e869 Update contributing with more guidelines. (#5008) 7 месяцев назад
Cargo.lock cc3f387437 new token bucket impl (#6893) 2 месяцев назад
Cargo.toml 4a70cfb86a build(deps): bump proptest from 1.7.0 to 1.8.0 (#8129) 2 месяцев назад
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 лет назад
README.md 4a35485d86 Update outdated README rust version instructions (#8095) 2 месяцев назад
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 eec3878cef remove stake program builtin (#7203) 3 месяцев назад
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 месяцев назад
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

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

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!