I took a project from the Ethereum dev class I am working on and rewrote it for a development boilerplate. The idea is simple, add and remove messages on the Ethereum blockchain. This project has a smart contract that is deployed to the Rinkeby testnet and React to access it via web3.js.

This project uses NodeJs, Metamask, Solidity, Web3.js, React, and Next technologies.


  • Setup an acount in the MetaMask plugin and copy your 12 words to a notepad.
  • Then go to https://infura.io and setup an account to get an API key.
  • Go to https://faucet.rinkeby.io, follow the instructions to get some test ETH in your primary MetaMask account
  • Add your 12 words to ethereum/deploy.js
  • Add your API key to ethereum/deploy.js AND ethereum/web3.js
  • Install required NodeJs modules npm install
  • Compile your contracts node ethereum/compile.js
  • Test your setup npm test
  • Deploy to Rinkeby: node ethereum/deploy.js
  • Run your App: npm run dev

Special thanks to Stephen Grider for the awesome Udemy class

Class Link

Modified and updated from https://github.com/StephenGrider/EthereumCasts