# EPF5 Dev Updates - Week 4
The past couple of weeks have been pretty intensive, with a lot of resources to consume and many things to learn and catch up on.
As we rapidly approach the project idea submission and building phase, I decided to familiarize myself with some projects that I find interesting and would love to contribute to.
To be a better contributor, I learned Rust, which happens to be one of the most commonly used programming languages across many client projects.
## Highlights from Learning Rust:
Rust is notoriously difficult for beginners but excels in performance, security, and computational accuracy.
Inspired by Reth’s performance, I dived into Rust and found it more rigid than Go, requiring semicolons similar to Java.
Rust uses modules (mod) and public (pub) keywords instead of classes and public/private identifiers.
Key concepts include error handling with Panic, custom errors, traits (similar to interfaces), and ownership.
## Summary of What I did this week
- Spent most of my time learning how to code in Rust
- Explored the selected project ideas
- Started setting up my local node in an attempt to practice and better understand how the Consensus client and Execution client work together.
## What I will do next week
- Finalize on project selection
- Start working on my proposal
- Complete the node setup and interactions
## Blockers
- None at the moment
# References
- [Rust by example](https://doc.rust-lang.org/rust-by-example)
- [Lodestar: Deposit Contract Snapshot Interface (EIP-4881)](https://github.com/ChainSafe/lodestar/issues/4935)
- [Prysm: Custom golang implementation of libp2p](https://hackmd.io/@6-HLeMXARN2tdFLKKcqrxw/rkU0eLmEC)
- [Ephemery testnet](https://ephemery.dev/)
- [JSON-RPC in Geth](https://github.com/ethereum/execution-apis/issues/494)
- [Node Workshop](https://epf.wiki/#/eps/nodes_workshop)
- [Node Architecture](https://ethereum.org/en/developers/docs/nodes-and-clients/node-architecture/)