Nessuna descrizione

steviez 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
.buildkite d676f0e110 ci: improve step descriptions (#6664) 4 mesi fa
.cargo be73302abd force x86_64-v2 cpu for linux builds (fixup for #5674) (#5891) 7 mesi fa
.config 8c11ea8039 force gossip_ring test to run alone in ci (#7872) 2 mesi fa
.github be728afcf5 build(deps): bump actions/github-script from 7 to 8 (#7905) 2 mesi fa
account-decoder 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
account-decoder-client-types 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
accounts-cluster-bench eca9464fca Make AccountsDbConfig a non-option part of config (#7851) 2 mesi fa
accounts-db 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
banking-bench 2c027cab65 PohController (#7703) 2 mesi fa
banking-stage-ingress-types 6b6a03ba8b Apply cleanups to solana-core for unified scheduler (#4123) 10 mesi fa
banks-client 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
banks-interface 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
banks-server 0da231c1d4 Simulate transaction with balances (#6750) 3 mesi fa
bench-streamer 2d1b481f0a chore: Use jemalloc in all bench crates and modules (#5053) 4 mesi fa
bench-tps 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
bench-vote 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
bloom 7db66d550d bloom: move benchmarks to bencher 0.1.5 (#6044) 4 mesi fa
bucket_map 0b53c005b8 Revert "bucket-map: move benchmarks to bencher 0.1.5 (#6092)" (#7211) 3 mesi fa
builtins eec3878cef remove stake program builtin (#7203) 3 mesi fa
builtins-default-costs eec3878cef remove stake program builtin (#7203) 3 mesi fa
cargo-registry 31cd4ef859 cargo-registry: Resolve Rust 1.88 clippy lints and format strings (#7002) 4 mesi fa
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) 3 anni fa
ci c0ac9198fb Remove certain built binaries from published tarball (#7324) 3 mesi fa
clap-utils f1e55d7d94 revert 7849 (#7882) 2 mesi fa
clap-v3-utils f1e55d7d94 revert 7849 (#7882) 2 mesi fa
cli 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
cli-config 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
cli-output bc650cf411 cli: Resolve Rust 1.88 clippy lints and format strings (#7089) 3 mesi fa
client 5290d76162 Refactor ClientOption to solana-client crate (#7735) 2 mesi fa
client-test 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
compute-budget 3e6288efb1 simd-0268: rename variables to use the right simd number (#7753) 2 mesi fa
compute-budget-instruction eec3878cef remove stake program builtin (#7203) 3 mesi fa
connection-cache 1e27642f93 refactor: use `Arc` to eliminate potentially expensive cloning (#7638) 2 mesi fa
core 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
cost-model b9bec70d55 report number of contended accounts to metrics (#7855) 2 mesi fa
curves 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
docker-solana e19a786c83 docs: fix docker link (#6180) 6 mesi fa
docs 82fb4b394f build(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /docs (#6517) 2 mesi fa
dos 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
download-utils fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
entry 2746dd239a Poh: RecordSummary (#7859) 2 mesi fa
faucet 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
feature-set 9256b814d4 feature-set: Apply cargo fmt string formatting (#7868) 2 mesi fa
fee 1e11ee2b96 pub calculate_signature_fee (#7232) 3 mesi fa
genesis 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
genesis-utils fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
geyser-plugin-interface 4221d962ba Update geyser documentations (#5571) 3 mesi fa
geyser-plugin-manager 5d692bd370 refactor: `GeyserPluginManager` doesn't need to implement an empty `new()` when it derives `Default` (#7750) 2 mesi fa
gossip 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
install 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
io-uring cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 mesi fa
keygen fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
lattice-hash 51a114eeca add missing description for solana-lattice-hash (#3358) 1 anno fa
ledger e14477a7b7 ledger: blockstore prepare for removing unchained (#7878) 2 mesi fa
ledger-tool 267efd570f Removes --accounts-db-hash-threads (#7896) 2 mesi fa
local-cluster 2746dd239a Poh: RecordSummary (#7859) 2 mesi fa
low-pass-filter b52fe73afc Change to agave-low-pass-filter and publish (#7577) 3 mesi fa
measure a0b2c73cfe relax measure macros test check (#3517) 1 anno fa
memory-management 076329381a Moves a clippy attribute (#194) 1 anno fa
merkle-tree 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
metrics 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
multinode-demo 0ee477919c Remove --entrypoint from default args of bench-tps script (#7658) 3 mesi fa
net 5a1ad600bf remove stale integration tests that are not used (#7166) 2 mesi fa
net-utils ccebfa71da Multihoming: remove egress socket select (#7843) 2 mesi fa
notifier fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
perf cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 mesi fa
platform-tools-sdk cfc4cdc211 Enable feature `rustls-tls-native-roots` for `reqwest` (#7697) 2 mesi fa
poh 2746dd239a Poh: RecordSummary (#7859) 2 mesi fa
poh-bench 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 mesi fa
poseidon 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
precompiles 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
program-binaries eec3878cef remove stake program builtin (#7203) 3 mesi fa
program-runtime 592bb0cb12 program-runtime: create new `memory` module (#7836) 2 mesi fa
program-test eca9464fca Make AccountsDbConfig a non-option part of config (#7851) 2 mesi fa
programs 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
pubsub-client 60a34ecc9c pubsub-client: Remove deprecated set_node_version (#7117) 4 mesi fa
quic-client 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
rayon-threadlimit 94c3c84771 rayon-threadlimit: Deprecate get_max_thread_count() (#7071) 4 mesi fa
rbpf-cli 3f9a7a52ea [anza migration] rename crates (#10) 1 anno fa
remote-wallet fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
reserved-account-keys 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
rpc 7f4e64446c Removes AccountsDb::verify_accounts_hash_in_bg (#7839) 2 mesi fa
rpc-client 0da231c1d4 Simulate transaction with balances (#6750) 3 mesi fa
rpc-client-api 5bc175a794 rpc-client-api: reexport publicly used types (#7808) 2 mesi fa
rpc-client-nonce-utils 234afe489a chore: Fix several crate documentation links (#6601) 5 mesi fa
rpc-client-types d240fe57dd rpc-client-types: re-export types used in public API and switch to solana-address (#7737) 2 mesi fa
rpc-test fedd138f3a unique bind for rpc test (#7419) 3 mesi fa
runtime 43b06cb03a refactor: separate feature activation path for epoch boundary (#7830) 2 mesi fa
runtime-transaction 103fb21d00 ci: use cargo sort v2 (#6406) 5 mesi fa
scripts cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 mesi fa
sdk d221ad4091 sdk: Remove everything from the repo (#4867) 9 mesi fa
send-transaction-service 89b5fa79d5 BankForks::sharable_banks (#7629) 2 mesi fa
stake-accounts 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
storage-bigtable d429f6efcd ledger: Resolve Rust 1.88 clippy lints and format strings (#6964) 4 mesi fa
storage-proto 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
streamer cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 mesi fa
svm 03def80b51 refactor: adding builtin accounts (#7900) 2 mesi fa
svm-callback 03def80b51 refactor: adding builtin accounts (#7900) 2 mesi fa
svm-feature-set d68ec6574e Make SVM crates inherit workspace version (#7654) 3 mesi fa
svm-log-collector 173d1361de svm repo split: rename log collector (#7430) 3 mesi fa
svm-measure 5cad0f1c39 svm repo split: fork measure (#7441) 3 mesi fa
svm-rent-calculator 6fbbaf6783 svm: Remove SVMRentCollector, use Rent directly (#6782) 3 mesi fa
svm-timings 87a97a3266 svm repo split: rename timings (#7432) 3 mesi fa
svm-transaction 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
svm-type-overrides ed847b333d chore: apply doc-comment to the module in svm-type-overrides/src/lib.rs (#7481) 3 mesi fa
syscalls 592bb0cb12 program-runtime: create new `memory` module (#7836) 2 mesi fa
test-validator eca9464fca Make AccountsDbConfig a non-option part of config (#7851) 2 mesi fa
thread-manager cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 mesi fa
tls-utils 44924ba782 Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492… (#7592) 3 mesi fa
tokens 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
tps-client fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
tpu-client 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
tpu-client-next 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
transaction-context f800138860 Make runtime accounts contiguous in memory (#7712) 2 mesi fa
transaction-dos fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
transaction-metrics-tracker 2a2f6b976d chore: typo fixes (#7303) 3 mesi fa
transaction-status c859d8bc35 SPL: Use token interface crate (#7311) 3 mesi fa
transaction-status-client-types 64382a56ec rpc: Resolve Rust 1.88 clippy lints and format strings (#7047) 4 mesi fa
transaction-view cd6d2cdeaa Add clippy rule to deny uninlined-format-args (#7826) 2 mesi fa
turbine ccebfa71da Multihoming: remove egress socket select (#7843) 2 mesi fa
udp-client 1e27642f93 refactor: use `Arc` to eliminate potentially expensive cloning (#7638) 2 mesi fa
unified-scheduler-logic b66c365ac5 chore: typo fixes (#7254) 3 mesi fa
unified-scheduler-pool 2c027cab65 PohController (#7703) 2 mesi fa
validator 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
verified-packet-receiver 18238bdfcb Restore vortexor receiver -- renamed to agave-verified-packet-receiver (#6542) 5 mesi fa
version fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
vortexor c68c510c78 Add local-cluster and dependents to dcou tainted list (#7132) 3 mesi fa
vote 672cf68bc8 feat: support vote state v4 in VoteStateView (#7548) 3 mesi fa
votor b0ffc10a7f replay: refactor set-root to enable alpenglow to take over (#7452) 3 mesi fa
watchtower fd07ce286a Finish clippy uninlined_format_args cleanup (#7825) 2 mesi fa
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 anni fa
wen-restart 7f4e64446c Removes AccountsDb::verify_accounts_hash_in_bg (#7839) 2 mesi fa
xdp 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
zk-keygen 8508753bc9 Remove zk keygen crate (#7634) 3 mesi fa
zk-sdk a2ce908cfa [zk-sdk] Remove zk-sdk from the repo (#7126) 3 mesi fa
zk-token-sdk ad7fbe953d [zk-token-sdk] deprecate the crate (#6969) 3 mesi fa
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 anni fa
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 mesi fa
.mergify.yml 8508753bc9 Remove zk keygen crate (#7634) 3 mesi fa
CHANGELOG.md 1a5120004d validator: Deprecate --monitor flag for exit command (#7692) 2 mesi fa
CONTRIBUTING.md 305c98e869 Update contributing with more guidelines. (#5008) 7 mesi fa
Cargo.lock 1040553ec1 build(deps): bump js-sys from 0.3.77 to 0.3.78 (#7906) 2 mesi fa
Cargo.toml 1040553ec1 build(deps): bump js-sys from 0.3.77 to 0.3.78 (#7906) 2 mesi fa
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 anni fa
README.md da75eae6ec docs: Update URL's from solanalabs.com to anza.xyz (#7505) 3 mesi fa
RELEASE.md d060c30b5e Update RELEASE.md (#1901) 1 anno fa
SECURITY.md 5e80a7ca7b Update security email to security@anza.xyz (#2598) 1 anno fa
cargo 6cd4bc5e60 Speed up net.sh builds (#16360) 4 anni fa
cargo-build-sbf 92687e91ed BPF Loader: Hoist syscalls into their own crate (#5559) 3 mesi fa
cargo-test-sbf f9f73a952a sdk: Move out things that won't be in the sdk (#4624) 9 mesi fa
clippy.toml c3509de5be Replace lazy_static dependency (#6057) 6 mesi fa
fetch-core-bpf.sh eec3878cef remove stake program builtin (#7203) 3 mesi fa
fetch-perf-libs.sh 9393dce1ff Take v0.19.3 of perf libs which improves sigverify perf 2x (#11894) 5 anni fa
fetch-programs.sh f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 mesi fa
fetch-spl.sh 597947830a spl: Update to newest token-2022 binary on mainnet (#5628) 7 mesi fa
rust-toolchain.toml b3fca5dd51 Downgrade Rust to 1.86.0 (#6980) 4 mesi fa
rustfmt.toml 6d171f4da5 Apply cargo fmt string formatting to rest of repo (#7893) 2 mesi fa
vercel.json 1c36af158f removing the "autoJobCancelation": false 4 anni fa

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!