└── ExtendingRchain.md /ExtendingRchain.md: -------------------------------------------------------------------------------- 1 | ## Extending Rchain 2 | 3 | Rust is quickly becoming one of the most popular languages in the blockchain industry. It is also equally important to understand how different components of a blockchain work. So to knock two birds with one stone your group will be extending Rchain. 4 | 5 | ### Getting started 6 | 1. Understand and familiarize with the [Rchain codebase](https://github.com/Mereep/rchain) 7 | * Learning Rust [[1]](https://doc.rust-lang.org/rust-by-example/)[[2]](https://youtu.be/U1EFgCNLDB8) 8 | 2. Run Rchain as per [example](https://github.com/Mereep/rchain/raw/gh-pages/Blockchain%20Article%20Part%201.pdf) 9 | * Multiple users on the network 10 | * Both example attacks 11 | 12 | ### Objectives 13 | Now that you have the basic Rchain running, its time to extend it! As a team you will work together on 1 github repo to extend Rchain. The repo should contain a README with set up instructions and the code should be commented. This is due 1 week from now 14 | 15 | 1. Extend *World State* with *get_total_tokens()* to display the current token total in the network. 16 | 2. Extend *World State* with *get_transactions_for()* display all the transactions in coronological order and block # for a given id. 17 | * Tip: 1 & 2can be calculated by walking through the chain 18 | 3. Add signed message functionality 19 | 4. Scale to 10 users on the network. 20 | 5. Build a presentation that covers the fundamentals of your groups chain and a series of screenshots that provides 1-3 functionality. 21 | * 1 slide - Introduction / Problem set up 22 | * 2 slide - Rust fundamentals 23 | * 2 slide - Signed Message functionality fundamentals 24 | * 1 slide - Software Architecture diagram 25 | * 1 slide - Demo (screenshots, gif, video) 26 | * 1 slide - Key take aways / Challenges 27 | * 1 slide - Trade offs to this approach 28 | * 1 slide - Contributions 29 | 30 | --------------------------------------------------------------------------------