Ei kuvausta

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

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!