Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 2.64 KB

File metadata and controls

64 lines (44 loc) · 2.64 KB

Decentralized Consensus Challenge


Congratulations on making it to the Decentralized Consensus Challenge! Blockchain's have several layers starting from the protocol level all the way up to the dApp layer. Your challenge today is to EITHER extend Rchain OR implement an ERC20 Token! ​

YOU ONLY NEED TO CHOOSE 1 CHALLENGE

Submission equals invitation to interview! Incomplete solutions are welcomed!

Submit a single PDF containing

  1. Write up on your process (w/ screenshots)
  2. Link to your Github repository containing challenge code
  3. Screenshot of showing successful completion of the challenge
    • Challenge 1 (Extending Rchain): Screenshots of get_total_tokens() and get_transactions_for() output.
    • Challenge 2 (ERC20 Token): Screenshots of contract deployed to Ropsten with time/date stamp and link to smart contract's public hash via Ropsten scanner.

We will ask you to run the code and demo it live!

Tips On Getting Started:

  • Dive Deep into the code! Then build fast!
  • Find resources online.
  • Keep it simple.
  • Test driven development.

Challenge 1

Extending Rchain + Starting Resources:

  1. Understand and familiarize with the Rchain codebase
  2. Run Rchain as per example
    • Multiple users on the network
    • Both example attacks
  3. Extend World State with get_total_tokens() to display the current token total in the network.
    • Tip: can be calculated by walking through the chain
  4. Extend World State with get_transactions_for() display all the transactions in coronological order and block # for a given id.

Optional:

  • Dockerize the Rchain codebase
  • Scale to 10 users

Challenge 2

ERC20 Token + Starting Resources:

  1. Understand the fundamentals
  2. Implement YOUR OWN ERC20 Token
    • Add a comment at the top of your contract saying Insight Decentralized Consensus Challenge
  3. Deploy the Smart Contract to Ethereum testnet Ropsten using Truffle

Optional:

  • Deploy contract to a local testnet

Please have your code ready to demo!