A minimal dApp to showcase the process of creating an ERC-20 token on Arbitrum Sepolia. The contract, written in Rust, is deployed using Arbitrum Stylus. Lava RPC is used for contract deployment as well as dApp interactions.
/contracts- Rust smart contract using Arbitrum Stylus SDK/react-frontend- Simple React frontend with ethers.js integration
The ERC20 token contract is written in Rust using the Arbitrum Stylus SDK. It implements the standard ERC20 functionality with an additional minting capability for the contract owner.
A simple dApp allows the users to:
- Connect their wallet
- Mint the token
- Transfer to an address
- Get the receipt of the Mint and Transer transactions
- Continuously monitor Lava network performance
- Clone the directory
- Configure Rust, Node.js on your machine
- Deploy the contract
cd contracts
cargo stylus check
cargo stylus deploy --no-verify --endpoint='https://arbitrums.lava.build' --private-key="your-private-key"
- Run the frontend
Update the
config.jsfile with the address of your deployed contract
cd react-frontend
npm install
npm start
Open your browser and navigate to http://localhost:3000.
- Node.js and npm
- Rust and Cargo
- Arbitrum Stylus SDK
- MetaMask or another Ethereum wallet
This project is open source and available under the MIT License.