# EPF Dev Update #1 - (10/17) Completed Rustlings - (10/17) Learned Golang - (10/24) Making CLI Tools - (10/24) Review execution layer fundamentals - (10/24) Narrowed down project ideas to two choices - (10/24) Writing a lecture for a public workshop on the EVM w/ Developer DAO The last two weeks have been pretty eventful! ## (10/17) I played a little catch-up with lower level languages (Rust and Go) that are frequently used in developing Ethereum clients and related tooling. - Rust is a big adjustment relative to Golang, error handling and the borrow checker haunt me a little bit -- crates help with this a bit. The memory safety baked into Rust makes it attractive. - Go feels pretty similar to Solidity, so it makes me feel quite comfortable. ## (10/24) This week I realized I had a workshop to teach on the fundamentals of the EVM, so I did a bit of review and read the GETH implimentation. Some resources that I really enjoy on the topic come from: - [Noxx's substack](https://substack.com/profile/80455042-noxx) - [Mastering Ethereum (A. Antonoupolus)](https://github.com/ethereumbook/ethereumbook) - [Peter Robinson's Lecture](https://www.youtube.com/watch?v=RxL_1AfV7N4&t=1s) - [Ethereum Illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf) - [Go-Ethereum Github](https://github.com/ethereum/go-ethereum/tree/master/core/vm) I also had an opportunity to learn how to make CLI tools due to Rust's [awesome resources](https://rust-cli.github.io/book/index.html) The two project ideas are both awesome in their own way, the first is a bit ambitious. My first idea is an Ethereum-centric linux distro with the goal of: - Bolstered security for hot keys - Easy setup for EL + CL clients, choose your own pairings (Light -> Heavy) - Baked in dev tooling My second idea is to help with: - EOF (Ethereum Object Formatting), - Testing / Benchmarks ## Next Steps: This upcoming week I will settle on my project and begin a deep dive! I'm leaning towards EOF + testing. To-do: [Ipsilon's Post](https://notes.ethereum.org/@ipsilon/evm-object-format-overview) [EIP-3540](https://eips.ethereum.org/EIPS/eip-3540) [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) [EIP-3670](https://eips.ethereum.org/EIPS/eip-3670) [EIP-4200](https://eips.ethereum.org/EIPS/eip-4200) [EIP-2938](https://notes.ethereum.org/@axic/account-abstraction-with-eof) [EIP-3690](https://eips.ethereum.org/EIPS/eip-3690) [EIP-4750](https://eips.ethereum.org/EIPS/eip-4750) [Fun with merkle trees](https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) [RLP Serialization](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/) [Simple Serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/)