Earn digital collectible playing cards in RPCiege, a smart contract coding game teaching the fundamentals of developing and deploying performant and secure blockchain applications though small, fun, code puzzles.
Before we begin the siege of the RPC we need to ensure our system is configured for building Soroban smart contracts. You have two clear options. The first is to use a virtual environment like Gitpod or Codespaces which can have everything pre-installed and configured for you. In fact here's a good
hello-world Gitpod VM we've built for you.
The second option is to setup your own local machine to develop Rust Soroban smart contracts. Personally that's my recommendation as everything will be faster and cheaper but if you're just getting started and still evaluating your interest the Gitpod can be great way to get off the ground quickly and painlessly. Here's the instructions for how to do that.
Instructions sniped from https://soroban.stellar.org/docs/getting-started/setup
Soroban contracts are small programs written in the Rust programming language.
To build and develop contracts you need only a couple prerequisites:
If you use macOS, Linux, or another Unix-like OS, the simplest method to install
a Rust toolchain is to install
rustup with the following
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
If you use Windows, or need an alternative method of installing Rust, check out: https://www.rust-lang.org/tools/install
rustup target add wasm32-unknown-unknown
Many editors have support for Rust. Visit the following link to find out how to
configure your editor:
A popular editor is Visual Studio Code:
- Visual Studio Code editor.
- Rust Analyzer for Rust language support.
- CodeLLDB for step-through-debugging.
The Soroban CLI can execute Soroban contracts in the same environment the
contract will execute on network, however in a local sandbox.
Install the Soroban CLI using
# Note depending on when you read this # 0.8.0 may not be the most recent version cargo install --locked --version 0.8.0 soroban-cli
soroban command and you should see output like below.
% soroban Build, deploy, & interact with contracts; set identities to sign with; configure networks; generate keys; and more. Intro: https://soroban.stellar.org CLI Reference: https://github.com/stellar/soroban-tools/tree/main/docs/soroban-cli-full-docs.md Usage: soroban [OPTIONS] <COMMAND> Commands: contract Tools for smart contract developers config Read and update config events Watch the network for contract events lab Experiment with early features and expert tools version Print version information completion Print shell completion code for the specified shell Options: --global Use global config -f, --filter-logs <FILTER_LOGS> Filter logs output. To turn on "soroban_cli::log::footprint=debug" or off "=off". Can also use env var `RUST_LOG` -q, --quiet Do not write logs to stderr including `INFO` -v, --verbose Log DEBUG events --very-verbose Log DEBUG and TRACE events --list List installed plugins. E.g. `soroban-hello` -h, --help Print help (see more with '--help') -V, --version Print version TESTING_OPTIONS: --config-dir <CONFIG_DIR>
Great! Now that you're hopefully all setup you're ready to begin skirmishing! Proceed to The Booklet™ and let the gaming begin!