profile picture

@code @crypto @robotics

#bitcoin #ethereum #haskell

Understanding Ethereum by studying the source code 🧬

For deep understanding it helps to get your hands dirty. Armed with the whitepaper, the yellow paper and the source code for the Go implementation we dive into the inner workings of Ethereum. In this Saturday long read, we cover among other things the state model, the peer-to-peer network, the EVM and the consensus algorithm. Lastly we discuss the Ethereum ice-age and why it exists. So prepare yourself a nice cup of coffee ☕️ and jump in!

A brief history of Ethereum

Ethereum, the second largest cryptocurrency by market cap, was proposed by Vitalik Buterin in 2013. Its intended purpose was to provide a blockchain with a Turing-complete programming language allowing users to extend its functionality by uploading custom code. The code could be used to create digital assets to represent custom currencies and financial instruments, the ownership of an underlying physical device, non-fungible assets such as domain names, as well as more complex applications involving having digital assets being directly controlled by a piece of code implementing arbitrary rules or even blockchain-based decentralized autonomous organizations.

My personal Hakyll cheatsheet

A cheatsheet for my future self. We cover using the Hakyll eDSL to write website rules, advanced configuration which enables interesting features such as auto-generation of table of contents and \( \LaTeX \) math support on this website as well as discussion on how to roll your own Hakyll constructs.

Receiving bitcoins

The goal is to use Haskell to receive satoshis in as simple manner as possible by generate a private key and deriveing from it an address. Using the address we can receive the coins and as long as we keep the key safe we can spend it later using any wallet which supports importing WIF keys.