This branch contains the code used during the Block-STM vs. SVM paper tests. Follow these instructions to build and run the tests on a machine of your choice.
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
git clone https://github.com/fikunmi-ap/agave.git
cd agave
git checkout -b big_blocks_incr
./cargo build
Run the test suite:
./cargo test
Start your own testnet locally, instructions are in the online docs.
devnet
- stable public cluster for development accessible via devnet.solana.com. Runs 24/7. Learn more about the public clusters
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
Run the command below to run the benchmark. Feel free to select additional options.
./cargo run --release --package solana-banking-bench --bin solana-banking-bench