Have you ever wanted to build your own cryptocurrency? Or learn Rust? Well, now you can. This is the first video in a series in which we will build a basic blockchain-based cryptocurrency in the programming language Rust. Don’t know Rust? No problem! I’ll be explaining some of the basics of Rust programming along the way. This tutorial series will be easier to follow if you have experience with lower-level/systems programming in languages like Assembly, C, or C++ and/or if you have experience with languages that have strict/complex type systems like Java or Haskell (at least stricter than Python or JavaScript).
Timestamps:
2:18 - Blockchains for Programmers
4:43 - Concept: Hashing
6:35 - What we will be using
9:52 - Code comparison (Java, Rust, JavaScript)
14:19 - Overview of starter files
15:54 - First line of code written: Implementing the Block struct
18:11 - Implementing Block “constructor”
21:40 - Implementing Debug formatter
27:26 - Creating the Hashable trait
30:52 - Implementing Hashable on Block
Let “mining Bitcoin” not be a mysterious concept anymore! Through our (so far) basic block implementation, I’ll explain and demonstrate the essential concepts of mining, difficulty, and nonces. We’re on our way to becoming the next Bitcoin! (Well, maybe not… But we’re getting closer!)
Timestamps
4:12 Difficulty
8:34 Implement: Check Difficulty
11:23 Nonce
13:08 Mining Strategy (Algorithm)
14:58 Implementing the mine(&mut self) function
17:23 Testing the code we’ve written so far
21:44 Review: What does are the implications of the nonce for blockchain security?
We can use the infrastructure we’ve built so far to secure a blockchain. Note that I am NOT a security professional, and the information presented in this video is not to be taken as any sort of certified advice.
Timestamps
00:37 Description of the Blockchain struct
00:53 Implement: Blockchain Struct
02:01 Creating a block-chain
06:03 Review: Mining
07:17 Block Verification
10:16 Implement: Blockchain Verification
17:33 Testing the verify() function
What does it mean to own a Bitcoin? How do transactions work on the blockchain? In this concept video (no coding!) we’ll go over the basics of how and why transactions work on the blockchain.
Timestamps
00:40 Example transaction
01:45 Transaction verification requirements
04:55 The blockchain as a “distributed ledger”
06:12 Structure of a transaction
08:09 Regular transactions
10:30 Coinbase transactions
12:10 Transactions: Bad Artwork
12:50 Recap
13:24 Meeting tx verification requirements
13:38 Overspending
14:10 Double spending
15:36 Impersonation
16:58 Further reading
Cool features of the Rust language, maintaining an unspent output pool, and more in this doozy of a video! Ha. I’m not a security professional; for all practical purposes I’m a random guy on the Internet. DYOR, IANAL, RTFM, CYA, kthxbye.
This video is super long because there was a heckin lotta code to write.
Timestamps
00:17 Iterators
02:20 Implement: Transaction & Output
14:13 Errors in Rust
15:51 Null in Rust
16:46 Updating our Blockchain
18:31 Implement: Transaction checking
36:42 Writing a working example
37:55 Implement: Working example
42:32 First run and various testing
47:21 Notes/security concerns
Github: https://github.com/GeekLaunch/blockchain-rust
Blog: https://medium.com/geeklaunch/blockchain-in-rust-01-blocks-hashing-4192f2265d3d
#rust #blockchain #cryptocurrency #bitcoin