writing rust (sometimes on-chain) / wannabe cypherpunk
Share Dialog
Share Dialog
writing rust (sometimes on-chain) / wannabe cypherpunk

Subscribe to etcetera

Subscribe to etcetera
<100 subscribers
<100 subscribers
I started digging into rollups by reading Vitalik’s An Incomplete Guide to Rollups article. At a high level, the picture makes sense:
On-chain smart contract: minimal, responsible for deposits, withdrawals, and proof verification.
Off-chain computation: where the heavy lifting happens.
That gave me a solid mental model.
I also joined the zkSync Discord, shared what I was doing, and got pointed to their core/prover docs and community discussions. It felt like a signal that I’m in the right place. At the same time, it also made me realize just how deep this rabbit hole is.
After sharing my goals and plan with a close friend who’s more experienced in systems/Rust we had a long chat and he told me that jumping straight into building a sequencer (even a toy one) might be biting off more than I can chew right now.
His advice was to first deepen my Rust fundamentals through smaller, quicker feedback loop projects before tackling something as ambitious as rollup infra.
Instead of burning out on a huge project early, building up intuition and confidence layer by layer with quick wins seemed like solid advice to me.
So, I made some adjustments to my original plan and I feel a lot more confident with this new path, with much clearer, concrete and achievable steps now.
We start with solidifying the fundamentals.
The Rust Book → I'm at chapter 15.5 right now and taking it slow to understand things well
Too Many Linked Lists → next in line for learning low-level development, unsafe, memory management
To practice what I learn, I am thinking of following a pattern of small exercises + a medium sized project alongside the theory. Right now it is like so:
Exercises: Exercism rust track
Project: Codecrafters Build Your Own Git
The Rustonomicon → invariants, unsafe patterns
Rust Atomics and Locks → concurrency + CPU-level considerations
Project: Codecrafters Build Your Own Bittorrent
It is worth getting a hang of some common programming patterns, for interviews and potentially when fiddling with low-level system programs.
LeetCode (1 problem/day)
Computer Enhance → assembly, instruction-level parallelism, and what it really means for code to be “fast”
This way I can keep making progress, but with a more realistic foundation that won’t collapse under its own weight.
Once I’ve leveled up through these, I think I'll have a solid enough foundation to both apply for jobs and start making meaningful contributions to some of the infra level client and SDK repos.
One thing I do want to point out is that while I've laid this stuff out linearly, I probably would be jumping back and forth between some of these resources to keep myself engaged, nevertheless I feel like it is a good general guideline that I'll more or less adhere to.
Thanks for reading this! If you wanna follow my journey, you can subscribe below or follow me on twitter.
I started digging into rollups by reading Vitalik’s An Incomplete Guide to Rollups article. At a high level, the picture makes sense:
On-chain smart contract: minimal, responsible for deposits, withdrawals, and proof verification.
Off-chain computation: where the heavy lifting happens.
That gave me a solid mental model.
I also joined the zkSync Discord, shared what I was doing, and got pointed to their core/prover docs and community discussions. It felt like a signal that I’m in the right place. At the same time, it also made me realize just how deep this rabbit hole is.
After sharing my goals and plan with a close friend who’s more experienced in systems/Rust we had a long chat and he told me that jumping straight into building a sequencer (even a toy one) might be biting off more than I can chew right now.
His advice was to first deepen my Rust fundamentals through smaller, quicker feedback loop projects before tackling something as ambitious as rollup infra.
Instead of burning out on a huge project early, building up intuition and confidence layer by layer with quick wins seemed like solid advice to me.
So, I made some adjustments to my original plan and I feel a lot more confident with this new path, with much clearer, concrete and achievable steps now.
We start with solidifying the fundamentals.
The Rust Book → I'm at chapter 15.5 right now and taking it slow to understand things well
Too Many Linked Lists → next in line for learning low-level development, unsafe, memory management
To practice what I learn, I am thinking of following a pattern of small exercises + a medium sized project alongside the theory. Right now it is like so:
Exercises: Exercism rust track
Project: Codecrafters Build Your Own Git
The Rustonomicon → invariants, unsafe patterns
Rust Atomics and Locks → concurrency + CPU-level considerations
Project: Codecrafters Build Your Own Bittorrent
It is worth getting a hang of some common programming patterns, for interviews and potentially when fiddling with low-level system programs.
LeetCode (1 problem/day)
Computer Enhance → assembly, instruction-level parallelism, and what it really means for code to be “fast”
This way I can keep making progress, but with a more realistic foundation that won’t collapse under its own weight.
Once I’ve leveled up through these, I think I'll have a solid enough foundation to both apply for jobs and start making meaningful contributions to some of the infra level client and SDK repos.
One thing I do want to point out is that while I've laid this stuff out linearly, I probably would be jumping back and forth between some of these resources to keep myself engaged, nevertheless I feel like it is a good general guideline that I'll more or less adhere to.
Thanks for reading this! If you wanna follow my journey, you can subscribe below or follow me on twitter.
No activity yet