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

github-actions[bot] e3f7e2b092 Bump version to v1.18.27 (#3144) 1 жил өмнө
.buildkite b55dcbbb39 ci: run bench test in docker (#33944) 2 жил өмнө
.github 891a1b15b8 v1.18: Re-enable SPL downstream job with last v1.18 commit (#2143) 1 жил өмнө
account-decoder 7db5532e3c Revert "Support json parsing of epoch-rewards partition data sysvar accounts (#34914)" 1 жил өмнө
accounts-bench 4181ea4677 Removes unnecessary AccountsDb::new_with_config_for_benches() (#34484) 1 жил өмнө
accounts-cluster-bench 709e934d4c Add RPC bench threads to accounts-cluster-bench (#34520) 1 жил өмнө
accounts-db c027cfc3e0 v1.18: accounts-db: fix 8G+ memory spike during hash calculation (backport of #1308) (#1318) 1 жил өмнө
banking-bench b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 жил өмнө
banks-client b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 жил өмнө
banks-interface 171c58c5c0 RPC: Add inner instructions to simulate transaction response (#34313) 1 жил өмнө
banks-server 171c58c5c0 RPC: Add inner instructions to simulate transaction response (#34313) 1 жил өмнө
bench-streamer 7e9a53ee79 v1.18: BankingStage Forwarding Filter (backport of #685) (#697) 1 жил өмнө
bench-tps e9bc805bf6 v1.18: [anza migration]: add 'agave=info' to default log level (backport of #223) (#243) 1 жил өмнө
bloom 6dea5a23cf ConcurrentBloomInterval (#34486) 1 жил өмнө
bucket_map 03386cc7b9 Fix typos (#34459) 1 жил өмнө
cargo-registry e9bc805bf6 v1.18: [anza migration]: add 'agave=info' to default log level (backport of #223) (#243) 1 жил өмнө
cd e48456dbbc Create continuous delivery directory and add readme with canary details. (#27683) 3 жил өмнө
ci 92ddaa20f9 v1.18: ci: ignore the tonic audit as a temporary stopgap (backport of #3052) (#3062) 1 жил өмнө
clap-utils 08082df879 clap-utils: Forbid multiple values for `--signer` (#34482) 1 жил өмнө
clap-v3-utils 994e81ed34 v1.18: [clap-v3-utils] Add functions to parse directly from `SignerSource` (backport of #34678) (#35384) 1 жил өмнө
cli d48afb827a v1.18: Deprecate RpcClient::get_stake_activation (backport of #1895) (#1924) 1 жил өмнө
cli-config fc2a8794be [docs] updated readme and fix links (#34565) 1 жил өмнө
cli-output e472400d6e fix typo in variable name and error messages (#34463) 1 жил өмнө
client c8e6fd0043 v1.18: cli: use newer blockhashes when deploying large programs (backport of #1070) (#1074) 1 жил өмнө
client-test b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 жил өмнө
connection-cache 132c910f81 Quic update identity (#33865) 1 жил өмнө
core e5d267d92a v1.18: blockstore: only consume duplicate proofs from root_slot + 1 on startup (backport of #1971) (#2113) 1 жил өмнө
cost-model 7ba2a0e9b7 v1.18: fix: set allocation size to 0 for transactions known to fail (backport of #2966) (#2988) 1 жил өмнө
docs 6b04e88111 v1.18: Publish Agave docs (backport of #2887) (#2921) 1 жил өмнө
dos e9bc805bf6 v1.18: [anza migration]: add 'agave=info' to default log level (backport of #223) (#243) 1 жил өмнө
download-utils b97b3dd4ab Use BankForks on tests - Part 3 (#34248) 2 жил өмнө
entry 528a03f32a removes outdated matches crate from dependencies (#33172) 2 жил өмнө
faucet e9bc805bf6 v1.18: [anza migration]: add 'agave=info' to default log level (backport of #223) (#243) 1 жил өмнө
frozen-abi b5b48eeb72 Cargo.toml: Sort dependency and feature lists (#33670) 2 жил өмнө
genesis 6a369036b1 v1.18: sdk: Rederive Copy on Rent and EpochSchedule (#1744) 1 жил өмнө
genesis-utils f4287d70bb Move accounts-db code to its own crate (#32766) 2 жил өмнө
geyser-plugin-interface 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
geyser-plugin-manager 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
gossip c2b350023b refreshes ContactInfo.outset before initializing validator (#3135) 1 жил өмнө
install 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
keygen 6a9a89064b [clap-v3-utils] Deprecate signer source validation (#33802) 1 жил өмнө
ledger e5d267d92a v1.18: blockstore: only consume duplicate proofs from root_slot + 1 on startup (backport of #1971) (#2113) 1 жил өмнө
ledger-tool 0df68a979d v1.18: ledger-tool: Set initial last full snapshot slot (backport of #2314) (#2342) 1 жил өмнө
local-cluster 2cf46bcb93 v1.18: pads last erasure batch with empty data shreds (backport of #639) (#927) 1 жил өмнө
log-analyzer 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
logger e9bc805bf6 v1.18: [anza migration]: add 'agave=info' to default log level (backport of #223) (#243) 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 05dae592f4 Enhancements to Solana's Documentations for Better Clarity (#34386) 1 жил өмнө
multinode-demo 79678fd891 [anza migration] v1.18: Use agave prefix in scripts for pre-installed binaries (backport of #155) (#350) 1 жил өмнө
net 14dfc41318 v1.18: [anza migration]: fix download link for net scripts (backport of #219) (#352) 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 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
perf 03386cc7b9 Fix typos (#34459) 1 жил өмнө
poh 9a0ea73900 v1.18: Remove stale poh recorder validator id (backport of #700) (#767) 1 жил өмнө
poh-bench 9e703f85de Upgrades Rust to 1.72.0 & nightly-2023-08-25 (#32961) 2 жил өмнө
program-runtime b5f5c3cdd3 v1.18 - Adds error log for replacements in ProgramCache::assign_program(). (#1401) 1 жил өмнө
program-test 85f7bef66c v1.18: Revert deprecate executable feature (backport of #309) (#337) 1 жил өмнө
programs e3f7e2b092 Bump version to v1.18.27 (#3144) 1 жил өмнө
pubsub-client 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
quic-client 2baa51720f v1.18: Limit max concurrent connections (backport of #851) (#926) 1 жил өмнө
rayon-threadlimit df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
rbpf-cli 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
remote-wallet 6a9a89064b [clap-v3-utils] Deprecate signer source validation (#33802) 1 жил өмнө
rpc 03c869ccdf v1.18: RPC: rewards, return error if epoch_boundary_block is a lie (backport of #2758) (#2781) 1 жил өмнө
rpc-client 11e166f0c9 v1.18: rpc: add more services to getClusterNodes (backport of #1637) (#2164) 1 жил өмнө
rpc-client-api 03c869ccdf v1.18: RPC: rewards, return error if epoch_boundary_block is a lie (backport of #2758) (#2781) 1 жил өмнө
rpc-client-nonce-utils df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
rpc-test 725ab37bf4 clippy: Replaces .get(0) with .first() (#34048) 2 жил өмнө
runtime 6a369036b1 v1.18: sdk: Rederive Copy on Rent and EpochSchedule (#1744) 1 жил өмнө
runtime-transaction 310c7a4f9d add requested limits to static meta (#34361) 1 жил өмнө
scripts 73c7150bb1 Update scripts/spl-token-cli-version.sh with latest SPL Token CLI version (#1823) 1 жил өмнө
sdk e3f7e2b092 Bump version to v1.18.27 (#3144) 1 жил өмнө
send-transaction-service f629e32776 v1.18: rpc-sts: add config options for stake-weighted qos (backport of #197) (#341) 1 жил өмнө
stake-accounts fc53fd9ad9 explicitly sets fee rate to zero for stake-accounts tests (#34848) 1 жил өмнө
storage-bigtable 166be2995e Bigtable: update google proto files and allow configuration of max_message_size (#34740) 1 жил өмнө
storage-proto c5368a3d35 ledger-tool: read bigtable entries (#34266) 2 жил өмнө
streamer 2baa51720f v1.18: Limit max concurrent connections (backport of #851) (#926) 1 жил өмнө
system-test 249652ea36 v1.18: [anza migration] rename crates 1 жил өмнө
test-validator 6a369036b1 v1.18: sdk: Rederive Copy on Rent and EpochSchedule (#1744) 1 жил өмнө
thin-client 344e466e12 Async connection creation in connection cache (#33302) 2 жил өмнө
tokens 0a3a0165ad Documentation Improvements: Typos and Grammar Fixes (#34461) 1 жил өмнө
tpu-client 2d65381875 v1.18: Change DEFAULT_TPU_CONNECTION_POOL_SIZE to 1 (backport of #1014) (#1043) 1 жил өмнө
transaction-dos 9593d263bc v1.18: cli: Add `--use-rpc` flag to program deploy and write-buffer (backport of #928) (#992) 1 жил өмнө
transaction-status 8a8466cd86 spl: Bump token-2022 to v1 (#34412) 1 жил өмнө
turbine c2b350023b refreshes ContactInfo.outset before initializing validator (#3135) 1 жил өмнө
udp-client 132c910f81 Quic update identity (#33865) 1 жил өмнө
unified-scheduler-logic d2b5afc410 Finish unified scheduler plumbing with min impl (#34300) 1 жил өмнө
unified-scheduler-pool d2b5afc410 Finish unified scheduler plumbing with min impl (#34300) 1 жил өмнө
upload-perf df3ef111f7 chore: workspace inheritance (#29893) 2 жил өмнө
validator c2b350023b refreshes ContactInfo.outset before initializing validator (#3135) 1 жил өмнө
version f34b6633df v1.18: [anza migration] Sets client id to Agave (backport of #163) (#206) 1 жил өмнө
vote ed34e4be32 v1.18: gossip: notify state machine of duplicate proofs (backport of #32963) (#35006) 1 жил өмнө
watchtower e9bc805bf6 v1.18: [anza migration]: add 'agave=info' to default log level (backport of #223) (#243) 1 жил өмнө
web3.js 18c22c7cef Add link to new web3.js repo (#30096) 2 жил өмнө
wen-restart 295d610f43 We need to publish solana-wen-restart so we can publish 1.18.0 later. (#33662) 2 жил өмнө
zk-keygen 6a9a89064b [clap-v3-utils] Deprecate signer source validation (#33802) 1 жил өмнө
zk-token-sdk e2c2029ac4 [zk-token-sdk] Restrict a single-bit of 256-bit batched range proof to 128 (#34803) 1 жил өмнө
.clippy.toml 30f0c25b65 Fix all remaining clippy warnings 7 жил өмнө
.codecov.yml 0b9c040fcf Add .codecov.yml with checks disabled (#30666) 2 жил өмнө
.gitignore a78b5203cb git: ignore all `target/` directories (#34705) 1 жил өмнө
.mergify.yml 005045833a v1.18: [anza migration] backport of #6, #8, #9 (#14) 1 жил өмнө
CHANGELOG.md 9593d263bc v1.18: cli: Add `--use-rpc` flag to program deploy and write-buffer (backport of #928) (#992) 1 жил өмнө
CONTRIBUTING.md fc2a8794be [docs] updated readme and fix links (#34565) 1 жил өмнө
Cargo.lock e3f7e2b092 Bump version to v1.18.27 (#3144) 1 жил өмнө
Cargo.toml e3f7e2b092 Bump version to v1.18.27 (#3144) 1 жил өмнө
LICENSE c65605802a Correct LICENSE to conform with https://apache.org/licenses/LICENSE-2.0 (#31860) 2 жил өмнө
README.md 44559b99cf v1.18: [anza migration] ci (backport of #5) (#12) 1 жил өмнө
RELEASE.md e6e191f843 CI: add check for explicit spl-token-cli version (#34430) 1 жил өмнө
SECURITY.md 79b9999f08 Update SECURITY.md (#34800) 1 жил өмнө
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 fc2a8794be [docs] updated readme and fix links (#34565) 1 жил өмнө
rust-toolchain.toml 26d058185e Upgrades Rust to 1.75.0 (#34607) 1 жил өмнө
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!