暫無描述

Will Hickey e19a786c83 docs: fix docker link (#6180) 6 月之前
.buildkite 92b11cd2ee ci: reorganize Windows build (#5031) 9 月之前
.cargo be73302abd force x86_64-v2 cpu for linux builds (fixup for #5674) (#5891) 7 月之前
.config 147bbfc2f7 remove max-threads as it does not do anything (#5936) 7 月之前
.github 79be8c9135 Test SBPFv3 in downstream programs (#6130) 6 月之前
account-decoder 6e6ef7fb18 replace solana-inline-spl with spl-generic-token (#5805) 7 月之前
account-decoder-client-types bb0555fc50 update spl-token and spl-token-2022 to 8.0 (#5560) 7 月之前
accounts-bench e413332856 remove solana-sdk from accounts-bench (#4987) 9 月之前
accounts-cluster-bench 3af0acb63e remove solana-sdk from accounts-cluster-bench (#6039) 6 月之前
accounts-db 4d8696fc91 Adding an API to calculate storage size from the stored data lengths (#6132) 6 月之前
banking-bench f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
banking-stage-ingress-types 6b6a03ba8b Apply cleanups to solana-core for unified scheduler (#4123) 10 月之前
banks-client f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
banks-interface f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
banks-server f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
bench-streamer 9eee4d3053 Cleanup bench-streamer (#5133) 7 月之前
bench-tps f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
bench-vote f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
bloom a353acd096 clippy: div_ceil (#5679) 7 月之前
bucket_map 69f7ad6ca3 Clean up: remove unused crates from cargo files (#5863) 7 月之前
builtins 246300b2b6 slashing: enshrine the slashing program (#4942) 7 月之前
builtins-default-costs e1c060721f Drop the Address Lookup Table builtin (#5647) 7 月之前
cargo-registry 0771988293 Refactor - CLI program-v4 Adds support for two step redeployment (#5242) 8 月之前
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) 3 年之前
ci 93999b8010 ci: remove check-ssh-keys (#6136) 6 月之前
clap-utils 6643775421 turbine: add XDP retransmitter (#5671) 6 月之前
clap-v3-utils fa11e1e683 clippy: io_other_error (#5955) 7 月之前
cli f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
cli-config fa11e1e683 clippy: io_other_error (#5955) 7 月之前
cli-output fa11e1e683 clippy: io_other_error (#5955) 7 月之前
client 7eff32c386 Arrange client socket and interface binding for connection cacahe (#5806) 7 月之前
client-test 5494638256 solana-client tests to use dedicated port ranges (#6149) 6 月之前
compute-budget 32209c77ff Remove `calculate-fee` callback from SVM (#5303) 8 月之前
compute-budget-instruction e1c060721f Drop the Address Lookup Table builtin (#5647) 7 月之前
connection-cache 69f7ad6ca3 Clean up: remove unused crates from cargo files (#5863) 7 月之前
core 8a22e4fcb8 use tpu-client-next in forwarding stage (#6018) 6 月之前
cost-model 33a75a975b Clean up feature: raise_block_limits_to_50m (#6059) 6 月之前
curves 6538879c41 curves: Move bn254 and secp256k1-recover to sdk (#4675) 9 月之前
docker-solana e19a786c83 docs: fix docker link (#6180) 6 月之前
docs e19a786c83 docs: fix docker link (#6180) 6 月之前
dos f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
download-utils 520d73ca24 remove solana-sdk from download-utils (#4551) 9 月之前
entry 46b71e05ed clean: move precompiles feature (#5418) 8 月之前
faucet 6ec6c0bc0c build(deps): bump solana-native-token from 2.2.1 to 2.2.2 (#6135) 6 月之前
feature-set 64e19be684 Fix - Loader-v3 to v4 migration of closed programs (#6106) 6 月之前
fee cb32984a9b Migrate from solana-feature-set to agave-feature-set (#5520) 7 月之前
genesis 6ec6c0bc0c build(deps): bump solana-native-token from 2.2.1 to 2.2.2 (#6135) 6 月之前
genesis-utils f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
geyser-plugin-interface 1fc63ebfc9 remove solana-sdk from geyser-plugin-interface (#4245) 10 月之前
geyser-plugin-manager a16bfc791f Fix typos in documentation comments (#5969) 6 月之前
gossip 9c24787542 reduce PullRequest intensity by ~2x (#6141) 6 月之前
install 45f66dc04a agave-install: swap lazy_static import with std::sync::LazyLock (#5850) 6 月之前
keygen 67853e0544 build(deps): bump solana-pubkey from 2.2.1 to 2.3.0 (#5718) 7 月之前
lattice-hash 51a114eeca add missing description for solana-lattice-hash (#3358) 1 年之前
ledger 93df4052e3 blockstore: Adjust rocksdb threadpool config (#6166) 6 月之前
ledger-tool f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
local-cluster f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
log-analyzer 0a0cce2ba4 move version pinning to binary crates for sdk deps (#5594) 7 月之前
log-collector ddee03e60d Extract log collector crate (#2025) 1 年之前
measure a0b2c73cfe relax measure macros test check (#3517) 1 年之前
memory-management 076329381a Moves a clippy attribute (#194) 1 年之前
merkle-tree a353acd096 clippy: div_ceil (#5679) 7 月之前
metrics 69f7ad6ca3 Clean up: remove unused crates from cargo files (#5863) 7 月之前
multinode-demo 39448a91c4 multinode-demo: Allow to set any cargo build profile (#5703) 7 月之前
net ba19271292 remove outdated ssh keys appending (#6137) 6 月之前
net-shaper 0a0cce2ba4 move version pinning to binary crates for sdk deps (#5594) 7 月之前
net-utils 925b26676a switch to workspace deps in net-utils (#6148) 6 月之前
notifier 747da2f8cb remove solana-sdk from solana-notifier (#3717) 1 年之前
perf 620c9c60f2 clippy: ptr_eq (#5960) 7 月之前
platform-tools-sdk f83b28bcc1 Remove old program feature from `cargo-build-sbf` (#5870) 7 月之前
poh 98de17ba86 docs: Add a description to `TransactionRecorder` (#5875) 7 月之前
poh-bench 10d06773cd Share the threadpool for tx execution and entry verifification (#216) 1 年之前
poseidon 11d16f2681 Move remaining syscall definitions out of solana-program (#3405) 1 年之前
precompiles aa445a5403 Remove Precompile Alignment check/requirement (#5765) 7 月之前
program-runtime 7517f36025 Refactor - Enable resizing in `TransactionAccounts` (#5903) 7 月之前
program-test fa11e1e683 clippy: io_other_error (#5955) 7 月之前
programs 6384156f2f build(deps): bump quinn from 0.11.7 to 0.11.8 (#6170) 6 月之前
pubsub-client fa1fd85a28 chore: bump dependencies to fix ring audit (#5181) 8 月之前
quic-client 7eff32c386 Arrange client socket and interface binding for connection cacahe (#5806) 7 月之前
rayon-threadlimit df3ef111f7 chore: workspace inheritance (#29893) 2 年之前
rbpf-cli 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
remote-wallet ea4cfd2f4d clippy: precedence (#5059) 8 月之前
reserved-account-keys cb32984a9b Migrate from solana-feature-set to agave-feature-set (#5520) 7 月之前
rpc 3452b825d1 use dedicated runtime for tpu_client_next (#6021) 6 月之前
rpc-client 11045e26e4 `feat` : allow rpc mock to insert multiple duplicate requests (#5757) 6 月之前
rpc-client-api ee748358d8 extract rpc-client-types without reqwest dep (#4660) 8 月之前
rpc-client-nonce-utils 9d99617ff0 remove solana-sdk from rpc-client (#3833) 11 月之前
rpc-client-types 6e6ef7fb18 replace solana-inline-spl with spl-generic-token (#5805) 7 月之前
rpc-test c79cbf73e2 clippy: rust 1.84.0 auto fixes (#4379) 10 月之前
runtime c65ce8659b Optimize PER calculation - skip stale vote accounts (#5967) 6 月之前
runtime-transaction 3bb500d1f6 perf: Introduce InstructionMeta (#5309) 7 月之前
scripts 68aa3642c1 ci: add clippy rules back to cli call (#5953) 7 月之前
sdk d221ad4091 sdk: Remove everything from the repo (#4867) 9 月之前
send-transaction-service 1c837492df tpu-client-next: redo certificate update (#5888) 6 月之前
stake-accounts f7f2f5f5ac first tranche of solana-sdk omnicrate dependency removals (#6113) 6 月之前
storage-bigtable fa11e1e683 clippy: io_other_error (#5955) 7 月之前
storage-proto 540d5bc56c rpc: Store total transaction costs (#5245) 7 月之前
streamer 6bb5df31b9 use sync channel for packet coalescer (#6014) 6 月之前
svm 6384156f2f build(deps): bump quinn from 0.11.7 to 0.11.8 (#6170) 6 月之前
svm-callback 02f870208f Remove SVM dep on agave-precompile (#5599) 7 月之前
svm-conformance df27fb3a73 Advance test-vectors commit in SVM conformance (#3898) 11 月之前
svm-feature-set bb5a6e773d Remove SVM dependency on agave-feature-set (#5841) 7 月之前
svm-rent-collector 80b64e613b svm-rent-collector: drop solana-sdk (#5532) 7 月之前
svm-transaction 19c78ed41f SIMD-0242: Static Nonce Account Only (#5555) 7 月之前
system-test 3f9a7a52ea [anza migration] rename crates (#10) 1 年之前
test-validator 9f99b751df deprecate discover_cluster which automatically uses shred_version 0 (#5907) 7 月之前
thin-client fa11e1e683 clippy: io_other_error (#5955) 7 月之前
thread-manager 30c95ff6e8 Revert "Thread manager instantiation in the validator (#4603)" (#5132) 8 月之前
timings cf6946d4f6 svm: collect transaction balances (#5588) 6 月之前
tls-utils 29a06f5c84 fix imports in tls-utils to avoid cargo doc error (#5861) 7 月之前
tokens 07eba277e1 build(deps): bump spl-associated-token-account from 6.0.0 to 7.0.0 (#6051) 6 月之前
tps-client 3eecfc8c7b [tps-client] Remove unused serial_test and solana-test-validator (#4917) 9 月之前
tpu-client fa11e1e683 clippy: io_other_error (#5955) 7 月之前
tpu-client-next 36ebd81c4a tpu-client-next: add worker cache tests (#5993) 6 月之前
transaction-context 7517f36025 Refactor - Enable resizing in `TransactionAccounts` (#5903) 7 月之前
transaction-dos baf8b1cfd7 remove shred_version 0 from transaction-dos. discover shred version from cluster if not passed in (#5820) 7 月之前
transaction-metrics-tracker 9df7afbaba remove solana-sdk from transaction-metrics-tracker dev deps (#3991) 11 月之前
transaction-status ba93776608 cleanup: Simplify parsable programs HashMap creation (#6096) 6 月之前
transaction-status-client-types 540d5bc56c rpc: Store total transaction costs (#5245) 7 月之前
transaction-view 19c78ed41f SIMD-0242: Static Nonce Account Only (#5555) 7 月之前
turbine 37e7c21275 switch sigverify_shreds.rs tests to merkle shreds (#6076) 6 月之前
type-overrides 974c013c04 Make futures crate optional in solana-type-overrides (#1792) 1 年之前
udp-client c857274c73 removes redundant vector allocations before calling sendmmsg::batch_send (#4129) 9 月之前
unified-scheduler-logic 07aa793dbf Recover from cost/PoH errs by task/session renewal (#5406) 7 月之前
unified-scheduler-pool 78d5f029c2 Clean unified scheduler code after bp wiring (#5846) 7 月之前
upload-perf df3ef111f7 chore: workspace inheritance (#29893) 2 年之前
validator 03cdd4fab4 Removes CreateAncientStorage enum (#6126) 6 月之前
version 8d5c4bab3b solana_version: gen random u32 if commit not set (#5874) 7 月之前
vortexor 0142ceb24e Added option to specify tpu addresses in vortexor (#6116) 6 月之前
vortexor-receiver e44c17de4d Support receiving verified transactions from the vortexor (#5321) 7 月之前
vote c65ce8659b Optimize PER calculation - skip stale vote accounts (#5967) 6 月之前
watchtower 6ec6c0bc0c build(deps): bump solana-native-token from 2.2.1 to 2.2.2 (#6135) 6 月之前
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 年之前
wen-restart 29a2259646 clippy: next_back (#5681) 7 月之前
xdp 6643775421 turbine: add XDP retransmitter (#5671) 6 月之前
zk-keygen 0a0cce2ba4 move version pinning to binary crates for sdk deps (#5594) 7 月之前
zk-sdk fa11e1e683 clippy: io_other_error (#5955) 7 月之前
zk-token-sdk a16bfc791f Fix typos in documentation comments (#5969) 6 月之前
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 年之前
.gitignore f75263b29d Script: `fetch-core-bpf.sh` (#4844) 8 月之前
.mergify.yml 5feffd4888 When Mergify warns people to update the JS RPC client, it now calls it `@solana/kit` instead of `@solana/web3.js` (#5974) 7 月之前
CHANGELOG.md 2829b4f5d0 changelog: Default full snapshot interval is now 50k slots (#5938) 7 月之前
CONTRIBUTING.md 305c98e869 Update contributing with more guidelines. (#5008) 7 月之前
Cargo.lock 6384156f2f build(deps): bump quinn from 0.11.7 to 0.11.8 (#6170) 6 月之前
Cargo.toml 6384156f2f build(deps): bump quinn from 0.11.7 to 0.11.8 (#6170) 6 月之前
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 年之前
README.md 0e7b296098 chore: update doc to add libclang-dev deps (#5033) 9 月之前
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 f9f73a952a sdk: Move out things that won't be in the sdk (#4624) 9 月之前
cargo-test-sbf f9f73a952a sdk: Move out things that won't be in the sdk (#4624) 9 月之前
clippy.toml cc3975a563 Consolidate and cleanup clippy configuration (#5710) 7 月之前
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 月之前
run.sh fc2a8794be [docs] updated readme and fix links (#34565) 1 年之前
rust-toolchain.toml 8e5470a9c4 bump stable rust to 1.86.0 (#5939) 7 月之前
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 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!