Ethereum for Rust developers
Use Ethereum to create decentralized applications (or "dapps") that utilize the benefits of cryptocurrency and blockchain technology. These dapps can be trustworthy, meaning that once they are deployed to Ethereum, they will always run as programmed. They can control digital assets in order to create new kinds of financial applications. They can be decentralized, meaning that no single entity or person controls them and are nearly impossible to censor.
Getting started with smart contracts and the Solidity language
Take your first steps to integrating Rust with Ethereum
Need a more basic primer first? Check out ethereum.org/learn or ethereum.org/developers.
- Blockchain Explained
- Understanding Smart Contracts
- Write your First Smart Contract
- Learn How to Compile and Deploy Solidity
- Choosing an Ethereum Client
- The Rust Ethereum Client * Note that OpenEthereum has been deprecated and is no longer being maintained. Use it with caution and preferably switch to another client implementation.
- Sending Transaction to Ethereum Using Rust
- An Introduction to Smart Contracts with Parity Ethereum Client
- A step-by-step tutorial on how to write contracts in rust Wasm for Kovan
Advanced use patterns
pwasm_ethereum externs library to interact with Ethereum-like network
Rust projects and tools
- pwasm-ethereum - Collection of externs to interact with ethereum-like network
- Lighthouse - Fast Ethereum consensus layer client
- Ethereum WebAssembly - Proposed redesign of the Ethereum smart contract execution layer using a deterministic subset of WebAssembly
- oasis_std - OASIS API reference
- Solaris - Solidity Smart Contracts unit test harness using the native Parity Client EVM.
- SputnikVM - Rust Ethereum Virtual Machine Implementation
- rust-web3 - Rust implementation of Web3.js library
- Wavelet - Wavelet smart contract in Rust
- Foundry- Toolkit for Ethereum application development
- Ethers_rs- Ethereum library and wallet implementation
- SewUp - A library to help you build your Ethereum webassembly contract with Rust and just like develop in a common backend
Looking for more resources? Check out ethereum.org/developers.
Rust community contributors
Help us with this page
If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.
You'll be credited and you'll be helping the Ethereum community!
Use this flexible documentation template
Questions? Ask us in the #content channel on our Discord serverEdit page