Тайлбар байхгүй

mergify[bot] 4a70bc1e00 v1.17: add ca-certificates to docker image (backport of #1443) (#1444) 1 жил өмнө
.buildkite 99e83102d1 v1.17: ci: add the ability to use GCS backend for sccache (backport of #33967) (#33984) 2 жил өмнө
.github e9a0a1c9df v1.17: remove releng from CODEOWNERS (#1367) 1 жил өмнө
account-decoder bbdce0f273 v1.17: spl: Bump token-2022 to v1 (backport of #34412) (#34572) 1 жил өмнө
accounts-bench 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
accounts-cluster-bench af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
accounts-db 1390ec9ec0 v1.17: Adds more info to panic message in AccountsHashVerifier (backport of #35353) (#35358) 1 жил өмнө
banking-bench 22f44d0518 v1.17: Initialize fork graph in program cache during bank_forks creation (backport of #33810) (#33817) 2 жил өмнө
banks-client 22f44d0518 v1.17: Initialize fork graph in program cache during bank_forks creation (backport of #33810) (#33817) 2 жил өмнө
banks-interface 936d2cf3c2 banks-client: Add `get_fee_for_message` (#31703) 2 жил өмнө
banks-server 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
bench-streamer 6a46c0128b v1.17: BankingStage Forwarding Filter (backport of #685) (#696) 1 жил өмнө
bench-tps af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
bloom 150a798d32 Fix - Upcoming `arithmetic_side_effects` lints (#33000) 2 жил өмнө
bucket_map e088eb2be0 Code clean up (#33417) 2 жил өмнө
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) 3 жил өмнө
ci 254eccdb41 v1.17: ci: don't self-update rustup when using the rust-version script (backport of #1209) (#1214) 1 жил өмнө
clap-utils 4ec5ea6f7b replaces assert!(matches!(...)) with assert_matches!(...) (#33068) 2 жил өмнө
clap-v3-utils ec36369e47 [clap-v3-utils] Deprecate input validators and add parsers to replace them (#33276) 2 жил өмнө
cli 353aa6423f v1.17: CLI remove unwrap_or_default() on rpc calls (backport of #33782) (#34051) 2 жил өмнө
cli-config df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
cli-output 3b1cbaec72 Add csv output option to stake and vote account rewards (#32360) 2 жил өмнө
client a7cfe9b86e v1.17: Parameterize max streams per ms (backport of #707) (#1105) 1 жил өмнө
client-test bfab9bb3ae v1.17: Use program cache fork graph in extract() (backport of #33806) (#33862) 2 жил өмнө
connection-cache 3fbfa0e0da Simplify code and use match to harden logic (#33409) 2 жил өмнө
core f96f10c95e v1.17 - Add detailed metrics reporting for packet filtering (#1422) 1 жил өмнө
cost-model 2332aee4a2 v1.17: add precompile signature metrics to cost tracker (backport of #133) (#142) 1 жил өмнө
docs 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
dos af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
download-utils 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
entry 528a03f32a removes outdated matches crate from dependencies (#33172) 2 жил өмнө
faucet af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
frozen-abi 8af823401a v1.17: Enable frozen_abi on banking trace file (backport of #33501) (#33578) 2 жил өмнө
genesis 16ea141402 sdk: put AccountSharedData::set_data() behind feature="dev-context-only-utils" (#33086) 2 жил өмнө
genesis-utils f4287d70bb Move accounts-db code to its own crate (#32766) 2 жил өмнө
geyser-plugin-interface 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
geyser-plugin-manager 0ef1f6513a v1.17: Display error message while loading geyser plugins (#33990) (#97) 1 жил өмнө
gossip 6a46c0128b v1.17: BankingStage Forwarding Filter (backport of #685) (#696) 1 жил өмнө
install 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
keygen ec36369e47 [clap-v3-utils] Deprecate input validators and add parsers to replace them (#33276) 2 жил өмнө
ledger d06a0a4632 v1.17: blockstore: relax parent slot meta check for clear_unconfirmed_slot (#67) 1 жил өмнө
ledger-tool af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
local-cluster be83469a1b v1.17: default staked client in LocalCluster (backport of #716) (#723) 1 жил өмнө
log-analyzer 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
logger af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
measure 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
memory-management 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
merkle-root-bench f4287d70bb Move accounts-db code to its own crate (#32766) 2 жил өмнө
merkle-tree 528a03f32a removes outdated matches crate from dependencies (#33172) 2 жил өмнө
metrics 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
multinode-demo 6234bc9432 [anza migration] v1.17: Use agave prefix in scripts for pre-installed binaries (backport of #155) (#349) 1 жил өмнө
net 11d4156589 v1.17: [anza migration]: fix download link for net scripts (backport of #219) (#351) 1 жил өмнө
net-shaper 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
net-utils 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
notifier 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
perf 8af823401a v1.17: Enable frozen_abi on banking trace file (backport of #33501) (#33578) 2 жил өмнө
poh 528a03f32a removes outdated matches crate from dependencies (#33172) 2 жил өмнө
poh-bench 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
program-runtime 77daab497d v1.17 - Adds error log for replacements in ProgramCache::assign_program(). (#1400) 1 жил өмнө
program-test bbdce0f273 v1.17: spl: Bump token-2022 to v1 (backport of #34412) (#34572) 1 жил өмнө
programs 063959c8ad Bump version to v1.17.35 (#1425) 1 жил өмнө
pubsub-client 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
quic-client a7cfe9b86e v1.17: Parameterize max streams per ms (backport of #707) (#1105) 1 жил өмнө
rayon-threadlimit df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
rbpf-cli 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
remote-wallet 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
rpc 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
rpc-client 0e2bded0f6 v1.17: Allow to create HTTP Sender with custom Client (backport of #33580) (#33660) 2 жил өмнө
rpc-client-api 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
rpc-client-nonce-utils df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
rpc-test 9281ab7d97 separates out connection-cache metrics for different protocols (#31803) 2 жил өмнө
runtime 77daab497d v1.17 - Adds error log for replacements in ProgramCache::assign_program(). (#1400) 1 жил өмнө
scripts 11d4156589 v1.17: [anza migration]: fix download link for net scripts (backport of #219) (#351) 1 жил өмнө
sdk 4a70bc1e00 v1.17: add ca-certificates to docker image (backport of #1443) (#1444) 1 жил өмнө
send-transaction-service adc63fb3c0 v1.17: rpc-sts: add config options for stake-weighted qos (backport of #197) (#340) 1 жил өмнө
stake-accounts 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
storage-bigtable 07acb46b6f v1.17: Bigtable: update google proto files and allow configuration of max_message_size (backport of #34740) (#34741) 1 жил өмнө
storage-proto 1840fd7ab3 Feature - better error codes for tx lamport check (#33343) 2 жил өмнө
streamer 58916d9192 Backport connection stream counter to v1.17 (#991) 1 жил өмнө
system-test 8155a8cc4d v1.17: [anza migration] rename crates 1 жил өмнө
test-validator 72706d6601 test validator write stake account to JSON (#33014) 2 жил өмнө
thin-client 344e466e12 Async connection creation in connection cache (#33302) 2 жил өмнө
tokens 01306a6e1e v1.17: tokens: fix url clap arg name (backport of #34371) (#34375) 1 жил өмнө
tpu-client 01c02f2f57 v1.17: Change DEFAULT_TPU_CONNECTION_POOL_SIZE to 1 (backport of #1014) (#1042) 1 жил өмнө
transaction-dos af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
transaction-status bbdce0f273 v1.17: spl: Bump token-2022 to v1 (backport of #34412) (#34572) 1 жил өмнө
turbine b9aaedba6a v1.17: Add feature flag for LastIndex and Erasure duplicate proofs (backport of #34360) (#34541) 1 жил өмнө
udp-client 344e466e12 Async connection creation in connection cache (#33302) 2 жил өмнө
upload-perf df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
validator adc63fb3c0 v1.17: rpc-sts: add config options for stake-weighted qos (backport of #197) (#340) 1 жил өмнө
version 3809dc069a v1.17: [anza migration] Sets client id to Agave (backport of #163) (#205) 1 жил өмнө
vote 4488cc241f Cleanup cargo deps in vote crate (#33407) 2 жил өмнө
watchtower af153cba40 v1.17: [anza migration]: add 'agave=info' to default log level (backport of #223) (#242) 1 жил өмнө
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 жил өмнө
zk-keygen 1452ed7044 [zk-token-sdk] Make `ElGamalKeypair` fields private (#32190) 2 жил өмнө
zk-token-sdk 509b9b970b v1.17: [zk-token-sdk] Fix range proof transcript seed typo (backport of #34468) (#34470) 1 жил өмнө
.clippy.toml 30f0c25b65 Fix all remaining clippy warnings 7 жил өмнө
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 жил өмнө
.gitignore b36791956e Ingest duplicate proofs sent through Gossip (#29227) 2 жил өмнө
.mergify.yml 3cc220cb62 v1.17: [anza migration] backport of #6, #8, #9 (#13) 1 жил өмнө
CHANGELOG.md 8b2c1a547d v1.17: changelog: Adds --use-snapshot-archives-at-startup to v1.17.0 (backport of #34401) (#34438) 1 жил өмнө
CONTRIBUTING.md 51b2b2d745 docs(contributing): fix syntax highlighting (#32928) 2 жил өмнө
Cargo.lock 063959c8ad Bump version to v1.17.35 (#1425) 1 жил өмнө
Cargo.toml 063959c8ad Bump version to v1.17.35 (#1425) 1 жил өмнө
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 жил өмнө
README.md 326bd2435c v1.17: [anza migration] ci (backport of #5) (#11) 1 жил өмнө
RELEASE.md 96d57e88dd v1.17: CI: add check for explicit spl-token-cli version (backport of #34430) (#34465) 1 жил өмнө
SECURITY.md 18f321525a Update SECURITY.md (#33198) 2 жил өмнө
cargo 6cd4bc5e60 Speed up net.sh builds (#16360) 4 жил өмнө
cargo-build-bpf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 жил өмнө
cargo-build-sbf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 жил өмнө
cargo-test-bpf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 жил өмнө
cargo-test-sbf 49f4e2ae05 replace ./cargo with cargo in sbf/bpf build scripts (#29371) 2 жил өмнө
fetch-perf-libs.sh 9393dce1ff Take v0.19.3 of perf libs which improves sigverify perf 2x (#11894) 5 жил өмнө
fetch-spl.sh de38b05ad1 spl: Bump token-2022 and friends (#33453) 2 жил өмнө
nextest.toml d4946ddfaa ci: move solana-cargo-build-sbf to nextest (#33257) 2 жил өмнө
run.sh 5d11227088 Mark *.sh files with `#!` as executable (#33303) 2 жил өмнө
rust-toolchain.toml 3cdee9bb83 v1.17: Upgrades Rust to 1.73.0 (backport of #33546) (#33563) 2 жил өмнө
rustfmt.toml 70ebab2c82 Add rustfmt.toml and `cargo fmt` (#23238) 3 жил өмнө
test-abi.sh a4956844bd Update frozen_abi hashes 5 жил өмнө
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

On Fedora:

$ sudo dnf install openssl-devel systemd-devel pkg-config zlib-devel llvm clang cmake make protobuf-devel protobuf-compiler perl-core

2. Download the source code.

$ git clone https://github.com/solana-labs/solana.git
$ cd solana

3. Build.

$ ./cargo build

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!