A selection of resources for developers building on Radix.
✅ Dependencies
To begin developing on Radix, you will need the following equipment and software:
🏁 Starter Pack
The following resources are available to help you build and grow your application on Radix:
- Complete the Scrypto 101 course.
- Learn Step by Step.
- Deepen your understanding with Radix Technical Documentation.
- Get inspired by Official Code Examples.
- Play with the Transaction Manifest Builder.
- Dive into our resource-rich Discord and Telegram channels.
- Apply for the Radix Booster Grants.
ℐ Installation Scripts
These scripts can be run from Terminal to install all of the required dependencies at once.
MacOS
/bin/bash -c "$(cat <<'EOF'
# Enable error handling and command printing
set -e
RED='\033[0;31m'; GREEN='\033[0;32m'; BLUE='\033[0;34m'; NC='\033[0m'
echo -e "${BLUE}Starting installation process...${NC}"
# Install Xcode Command Line Tools
echo -e "\n${BLUE}Installing Xcode Command Line Tools...${NC}"
xcode-select --install 2>/dev/null || true
# Install cmake and LLVM
echo -e "\n${BLUE}Installing cmake and LLVM...${NC}"
brew install cmake llvm@18
# Configure shell
SHELL_CONFIG=""
if [ "$SHELL" = "/bin/zsh" ] || [ "$SHELL" = "/usr/local/bin/zsh" ]; then
SHELL_CONFIG="$HOME/.zshrc"
else
SHELL_CONFIG="$HOME/.profile"
fi
# Add LLVM to PATH
echo -e "\n${BLUE}Configuring LLVM in $SHELL_CONFIG...${NC}"
if ! grep -q "$(brew --prefix llvm)/bin" "$SHELL_CONFIG"; then
echo 'PATH="$(brew --prefix llvm)/bin:$PATH"' >> "$SHELL_CONFIG"
fi
# Install Rust
echo -e "\n${BLUE}Installing Rust...${NC}"
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.81.0 -y
# Source cargo environment
echo -e "\n${BLUE}Enabling cargo in current shell...${NC}"
source "$HOME/.cargo/env"
# Add WebAssembly target
echo -e "\n${BLUE}Adding WebAssembly target...${NC}"
rustup target add wasm32-unknown-unknown
# Install Radix tools
echo -e "\n${BLUE}Installing Radix Engine Simulator and CLI tools...${NC}"
cargo install --force radix-clis
echo -e "\n${GREEN}Installation complete! Please restart your terminal or run:${NC}"
echo -e "source $SHELL_CONFIG"
EOF
)"
Windows
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('data:text/plain;base64,'+[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(@'
# Check for admin rights
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "Please run this script as Administrator" -ForegroundColor Red
exit 1
}
# Progress preference and error handling
$ErrorActionPreference = "Stop"
$ProgressPreference = "SilentlyContinue"
# Install function with status checking
function Install-IfNotPresent {
param ($Name, $Command, $InstallScript)
Write-Host "Checking for $Name..." -ForegroundColor Yellow
if (!(Get-Command $Command -ErrorAction SilentlyContinue)) {
Write-Host "Installing $Name..." -ForegroundColor Cyan
& $InstallScript
if ($LASTEXITCODE -ne 0) {
Write-Host "Failed to install $Name" -ForegroundColor Red
exit 1
}
Write-Host "$Name installed successfully" -ForegroundColor Green
} else {
Write-Host "$Name is already installed" -ForegroundColor Green
}
}
# 1. Install Git
Install-IfNotPresent "Git" "git" {
winget install --id Git.Git -e --source winget
git config --system core.longpaths true
}
# 2. Install Visual Studio Build Tools
$vsInstallerPath = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
if (!(Test-Path $vsInstallerPath)) {
Write-Host "Downloading Visual Studio Build Tools 2022..." -ForegroundColor Cyan
$vsInstaller = "$env:TEMP\vs_buildtools.exe"
(New-Object System.Net.WebClient).DownloadFile("https://aka.ms/vs/17/release/vs_buildtools.exe", $vsInstaller)
Write-Host "Installing Visual Studio Build Tools..." -ForegroundColor Cyan
Start-Process -Wait -FilePath $vsInstaller -ArgumentList "--quiet", "--wait", "--norestart", "--nocache", `
"--installPath", "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2022\BuildTools", `
"--add", "Microsoft.VisualStudio.Workload.VCTools", `
"--includeRecommended"
Remove-Item $vsInstaller
}
# 3. Install LLVM
$llvmVersion = "18.1.1"
Install-IfNotPresent "LLVM" "clang" {
Write-Host "Downloading LLVM..." -ForegroundColor Cyan
$llvmInstaller = "$env:TEMP\LLVM-$llvmVersion-win64.exe"
(New-Object System.Net.WebClient).DownloadFile(
"https://github.com/llvm/llvm-project/releases/download/llvmorg-$llvmVersion/LLVM-$llvmVersion-win64.exe",
$llvmInstaller
)
Start-Process -Wait -FilePath $llvmInstaller -ArgumentList "/S", "/D=C:\Program Files\LLVM"
Remove-Item $llvmInstaller
}
# 4. Install Rust
Install-IfNotPresent "Rust" "rustc" {
Write-Host "Downloading and installing Rust..." -ForegroundColor Cyan
$rustupInit = "$env:TEMP\rustup-init.exe"
(New-Object System.Net.WebClient).DownloadFile("https://win.rustup.rs", $rustupInit)
Start-Process -Wait -FilePath $rustupInit -ArgumentList "-y", "--default-toolchain", "1.81.0"
Remove-Item $rustupInit
}
# 5. Set Rust toolchain version
Write-Host "Setting Rust default version to 1.81.0..." -ForegroundColor Cyan
rustup default 1.81.0
# 6. Add WebAssembly target
Write-Host "Adding WebAssembly target..." -ForegroundColor Cyan
rustup target add wasm32-unknown-unknown
# 7. Install Radix tools
Write-Host "Installing Radix Engine Simulator and CLI tools..." -ForegroundColor Cyan
cargo install --force radix-clis
# Final success message
Write-Host "`nInstallation complete! Please restart your terminal to ensure all changes take effect." -ForegroundColor Green
Write-Host "`nTo verify the installation, you can run:" -ForegroundColor Yellow
Write-Host "git --version"
Write-Host "cl"
Write-Host "clang --version"
Write-Host "rustc --version"
Write-Host "cargo --version"
'@)))}"
Linux
/bin/bash -c "$(cat <<'EOF'
# Exit on error
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Log function
log() {
case $1 in
"INFO") echo -e "${BLUE}[INFO]${NC} $2" ;;
"SUCCESS") echo -e "${GREEN}[SUCCESS]${NC} $2" ;;
"ERROR") echo -e "${RED}[ERROR]${NC} $2" ;;
"WARN") echo -e "${YELLOW}[WARN]${NC} $2" ;;
esac
}
# Check system dependencies
log "INFO" "Checking system dependencies..."
if ! command -v apt-get >/dev/null 2>&1; then
log "ERROR" "This script requires apt-get (Debian/Ubuntu). For other distributions, please modify the script accordingly."
exit 1
fi
if ! command -v sudo >/dev/null 2>&1; then
log "ERROR" "This script requires sudo privileges."
exit 1
fi
# Install LLVM and build essentials
log "INFO" "Installing LLVM and build essentials..."
sudo apt-get update
sudo apt-get install -y clang build-essential llvm-18
if [ $? -eq 0 ]; then
log "SUCCESS" "LLVM and build essentials installed successfully"
else
log "ERROR" "Failed to install LLVM and build essentials"
exit 1
fi
# Install Rust
log "INFO" "Installing Rust..."
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.81.0 -y
if [ $? -eq 0 ]; then
log "SUCCESS" "Rust installed successfully"
else
log "ERROR" "Failed to install Rust"
exit 1
fi
# Setup Cargo environment
log "INFO" "Setting up Cargo environment..."
source "$HOME/.cargo/env"
if command -v cargo >/dev/null 2>&1; then
log "SUCCESS" "Cargo environment setup successfully"
else
log "ERROR" "Failed to setup Cargo environment"
exit 1
fi
# Add WebAssembly target
log "INFO" "Adding WebAssembly target..."
rustup target add wasm32-unknown-unknown
if [ $? -eq 0 ]; then
log "SUCCESS" "WebAssembly target added successfully"
else
log "ERROR" "Failed to add WebAssembly target"
exit 1
fi
# Install Radix tools
log "INFO" "Installing Radix Engine Simulator and CLI tools..."
cargo install --force radix-clis
if [ $? -eq 0 ]; then
log "SUCCESS" "Radix tools installed successfully"
else
log "ERROR" "Failed to install Radix tools"
exit 1
fi
# Final success message
log "SUCCESS" "Installation completed successfully!"
log "INFO" "Please restart your terminal or run: source $HOME/.cargo/env"
# Verify installations
log "INFO" "Verifying installations..."
echo -e "\nVersions installed:"
echo -e "LLVM: $(clang --version | head -n 1)"
echo -e "Rust: $(rustc --version)"
echo -e "Cargo: $(cargo --version)"
EOF
)"
🛢️ General Resources
Radix Wallet | Scrypto | Radix Engine | Radix Gateway | Radix dApps | Radix Network | ROLA | Core | Radix Node | |
Docs | |||||||||
Repos | |||||||||
APIs | |||||||||
Packages | |||||||||
Toolkits | |||||||||
SDKs |