Language for building DeFi apps on Radix.
Documentation: https://docs.radixdlt.com/main/scrypto/introduction.html
- Install Rust
- Windows:
- Download and install
rustup-init.exe - Install "Desktop development with C++" with Build Tools for Visual Studio 2019
- Install LLVM 13.0.1 (make sure you tick the option that adds LLVM to the system PATH)
- Download and install
- Linux and macOS:
- Make sure a C++ compiler and LLVM is installed (
sudo apt install build-essential llvmwith Ubuntu) - Install Rust compiler
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Make sure a C++ compiler and LLVM is installed (
- Windows:
- Enable
cargoin the current shell:- Windows:
- Start a new PowerShell
- Linux and macOS:
source $HOME/.cargo/env
- Windows:
- Add WebAssembly target
rustup target add wasm32-unknown-unknown - Install simulator
git clone https://github.com/radixdlt/radixdlt-scrypto.git cd radixdlt-scrypto cargo install --path ./simulator - (Optional) Open Scrypto documentation for later use
./doc.sh
If you want a quick walkthrough of how to deploy and run some code, please see the Run Your First Project tutorial. If you prefer to soldier through on your own, keep reading below.
- Start by creating a new package:
scrypto new-package <package_name>
cd <package_name>
- Check out the files under your current directory:
- Source code is within
src/lib.rs; - Test code is within
tests/lib.rs.
- Build your package:
scrypto build
- Run tests:
scrypto test
| Action | Command |
|---|---|
| Create an account | resim new-account |
| Change the default account | resim set-default-account <account_address> <account_public_key> |
| Create a token with fixed supply | resim new-token-fixed <amount> |
| Create a token with mutable supply | resim new-token-mutable <minter_badge_address> |
| Create a badge with fixed supply | resim new-badge-fixed <amount> |
| Create a badge with mutable supply | resim new-badge-mutable <minter_badge_address> |
| Mint resource | resim mint <amount> <resource_address> <minter_badge_address> |
| Transfer resource | resim transfer <amount>,<resource_address> <recipient_address> |
| Publish a package | resim publish <path_to_package_dir> |
| Call a function | resim call-function <package_address> <blueprint_name> <function> <args> |
| Call a method | resim call-method <component_address> <method> <args> |
| Export the ABI of a blueprint | resim export-abi <package_address> <blueprint_name> |
| Show info about an address | resim show <address> |
| List all entities in simulator | resim show-ledger |
| Reset simulator state | resim reset |
Note: The commands use the default account as transaction sender.
sbor: The binary data format used by Scrypto.sbor-derive: Derives for encoding and decoding Ruststructandenum.scrypto: Scrypto standard library.scrypto-abi: Scrypto blueprint ABI.scrypto-derive: Derives for defining and importing Scrypto blueprints.radix-engine: The Scrypto execution engine.simulator: A simulator that run Scrypto code on a filesystem based ledger.examples: Scrypto examples.