Skip to content

Roxxik/cuddly-bassoon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cuddly-bassoon

The Ethereum Implementation Tutorial

Why did you choose this name?

github advised me to do so:

"Great repository names are short and memorable. Need inspiration? How about cuddly-bassoon."

Why does this repository exist?

I wanted to do an implementation of a simple ethereum client in easy to understand code. And because I like to make myself challenges, to drive further work, I post these challenges and keep snapshots of their status, so that anyone can follow along, implementing their own client. I'll track challenges/features in issues, but am listing the important ones in the readme, too.

I'll also upload test cases to see if my/your code works as intended

Challenges

  1. parse RLP encoded data
    • write a datastructure to capture RLP data
  2. encode RLP trees
  3. encode/decode hex values
  4. hash byte arrays with keccak256
  5. hash block0 (0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3)
    • find block0

Tips and Tricks

  • always have the yellow paper open
  • sometimes it's helpful to look into other ethereum implementations (geth, pyethereum, cppethereum, ...)

TODO

  • expand challenge descriptions, to make it easier to follow along, maybe i'll make a blog post series out of this
    • include page references to the yellow paper

About

The Ethereum Implementation Tutorial

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published