🚀 Getting Started
Welcome to the Blockchain Summer School! This guide will help you set up your development environment and get ready for an exciting journey into blockchain technology.
📋 Prerequisites​
Required Knowledge​
- Basic Programming: Familiarity with at least one programming language (Python, JavaScript, Rust, or similar)
- Command Line: Comfort with terminal/command prompt operations
- Git: Basic understanding of version control (we'll cover this if needed)
Recommended Knowledge (Optional)​
- Web Development: HTML, CSS, JavaScript basics
- Cryptography: Basic understanding of public/private keys
- Distributed Systems: Familiarity with client-server architecture
💻 System Requirements​
Minimum Requirements​
- Operating System: Windows 10+, macOS 10.15+, or Linux (Ubuntu 18.04+)
- RAM: 8GB minimum, 16GB recommended
- Storage: 10GB free space
- Internet: Stable broadband connection
Recommended Setup​
- RAM: 16GB or more
- Storage: SSD with 20GB+ free space
- Processor: Multi-core processor (Intel i5/AMD Ryzen 5 or better)
🛠Development Environment Setup​
Step 1: Install Core Tools​
1.1 Git & GitHub​
# Install Git (if not already installed)
# Windows: Download from https://git-scm.com/
# macOS: brew install git
# Ubuntu/Debian: sudo apt-get install git
# Verify installation
git --version
1.2 Node.js & npm​
# Install Node.js (includes npm)
# Download from https://nodejs.org/ (LTS version recommended)
# Verify installation
node --version
npm --version
1.3 Python 3​
# Windows: Download from https://python.org/
# macOS: brew install python3
# Ubuntu/Debian: sudo apt-get install python3 python3-pip
# Verify installation
python3 --version
pip3 --version
Step 2: Install Blockchain-Specific Tools​
2.1 Rust Toolchain​
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Add to PATH (restart terminal after installation)
source ~/.cargo/env
# Verify installation
rustup --version
cargo --version
# Add WebAssembly target for MultiversX
rustup target add wasm32-unknown-unknown
2.2 MultiversX Tools​
# Install mxpy (MultiversX CLI)
pipx install multiversx-sdk-cli --force
# Install sc-meta (Smart Contract Meta)
cargo install multiversx-sc-meta --locked
# Verify installations
mxpy --version
sc-meta --version
2.3 Ethereum Development Tools​
# Install Hardhat
npm install --save-dev hardhat
# Verify installation
npx hardhat --version
Step 3: Install Wallets & Extensions​
3.1 MetaMask​
3.2 MultiversX Wallet​
- Browser Extension: DeFi Wallet
- Mobile App: xPortal
Step 4: Install Code Editor​
Recommended: Visual Studio Code​
- Download: https://code.visualstudio.com/
- Recommended Extensions:
- Solidity (for Ethereum smart contracts)
- Rust Analyzer (for Rust development)
- Hardhat for VS Code
- GitLens
- Live Share (for collaboration)
📚 First Steps​
1. Clone the Repository​
git clone https://github.com/cs-pub-ro/blockchain-summer-school.git
cd blockchain-summer-school
2. Join the Community​
- Discord: Join our Discord server
- GitHub Discussions: Ask questions here
- Office Hours: Check the schedule for live Q&A sessions
3. Complete the Setup Verification​
Run our setup verification script:
# Navigate to the verification script
cd chapters/introduction/lab/content/setup/
# Run verification (if available)
./verify-setup.sh
4. Start with the Introduction​
Begin your journey with the Introduction Chapter:
- Read the lecture slides
- Complete the lab exercises
- Set up your first wallet
- Make your first transaction
🆘 Troubleshooting​
Common Issues​
Rust Installation Problems​
# If rustup installation fails
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable
# If cargo is not found
export PATH="$HOME/.cargo/bin:$PATH"
mxpy Installation Issues​
# If pipx is not installed
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# If mxpy installation fails
pipx install multiversx-sdk-cli --force --include-deps
Node.js/npm Issues​
# Clear npm cache
npm cache clean --force
# Update npm
npm install -g npm@latest
MetaMask Connection Issues​
- Ensure you're on the correct network (Testnet/Mainnet)
- Check if MetaMask is unlocked
- Try refreshing the page
- Clear browser cache if needed
Getting Help​
Before Asking for Help​
- Check the documentation: Most issues are covered in the setup guides
- Search existing issues: Use GitHub search to find similar problems
- Verify your setup: Run the verification script
- Check system requirements: Ensure your system meets the minimum requirements
How to Ask for Help​
When asking for help, please include:
- Operating System: Windows/macOS/Linux version
- Error Message: Copy the exact error message
- Steps Taken: What you've already tried
- Expected vs Actual: What you expected to happen vs what happened
Support Channels​
- GitHub Issues: For technical problems and bugs
- Discord: For quick questions and community support
- Email:
costin.carabas@upb.ro
for urgent matters - Office Hours: For live troubleshooting sessions
🎓 Success Tips​
Time Management​
- Consistent Schedule: Dedicate 2-3 hours, 3-4 times per week
- Break Down Tasks: Don't try to learn everything at once
- Practice Regularly: Code daily, even if just for 30 minutes
Learning Strategies​
- Hands-on Practice: Don't just read - build something
- Join Study Groups: Collaborate with other students
- Document Your Progress: Keep a learning journal
- Ask Questions: Don't hesitate to ask for clarification
Project Development​
- Start Small: Begin with simple projects and gradually increase complexity
- Version Control: Use Git from day one
- Documentation: Write clear README files for your projects
- Testing: Always test your smart contracts thoroughly
Ready to start? Begin with the Introduction Chapter and happy coding! 🚀
Need help? Check our FAQ or reach out to the community.