Written by Shai Wyborski

Hi $kas, meet @coderofstuff_ from the rusty crew! Coder is a self-taught developer in the Great White North working in the tech industry for over a decade. Coder started making contributions to the Kaspa echosphere since as early as 2022, around mid 2023, he made his first contribution to the rust code base, and has been growingly involved ever since.

Coder was first compelled to contribute by one of the most powerful powers known to man: irritation. The only block explorer available at the time was far from optimized, providing slow loading times of up to 10 seconds, a terrible annoyance for users and miners who want to keep track of their balance. Coder decided to take the initiative. He analyzed the causes for the slowdown, and worked with Rob (lAmeR1 on Discord) to put up a pull request that greatly improved the waiting times. This first contribution compelled him to use his skillset to help out and make things better for himself and the community in general. Among his contribution to the community is a CSV report generator (https://kaspa-transaction-report.vercel.app/) and an ASIC ROI calculator (https://kas-breakeven-calc.vercel.app/) as well as a long list of fixes, reviews and improvements to preexisting ecosystem software. Coder also supports third party integrations of exchanges, wallets and pools. He supported the integrations of Kaspa into Uphold, ByBit, OKX web3 wallet, XT, Poloniex, Antpool and more.

I asked Coder to choose the favourite three of his many contributions.

Third favorite: Local address management
This contribution fixes an issue (discovered in the first run of TN11) that prevented nodes from sharing their addresses, harming network discoverability and connectivity. It also lays the foundation for the client address management.
While not the most impressive contribution under Coder’s belt, he is particularly fond of it because it was his first contribution to the Rusty-kaspa codebase.
Relevant PRs:
https://github.com/kaspanet/rusty-kaspa/pull/222
https://github.com/kaspanet/rusty-kaspa/pull/227
https://github.com/kaspanet/rusty-kaspa/pull/230

Second favorite: Optimize P2P block processing latency
Whenever a block is added to the DAG, it goes a long process. A part of the process is validating the block, but there are many other time consuming tasks that follow, such as computing the GHOSTDAG ordering. In the old design, a node will only transmit the block to its peers once this process is done. This means that blocks are retransmitted much later than they could have. In 1BPS, this is not an issue, but in 10BPS this added latency becomes noticeable. This contribution refactors the block processing pipeline so that blocks are retransmitted as soon as possible.
Coder likes this contribution because it is the first contribution that required him to understand how the block processing mechanism works, and some of the components of Kaspa’s complicated consensus layer.
Relevant PR:
https://github.com/kaspanet/rusty-kaspa/pull/295

Favorite: Transaction relay throttling on high P2P load
This contribution implements the logic that limits the resources available to the peer-to-peer network when loads get high (such as when a lot of people are running Rothschild).
Coder likes this contribution because it was highly important for making Testnet 11 run smoothly, and because it was a chance to take relevant load off @MichaelSuttonIL so he could focus on other things.

Alongside direct contributions to the Rusty kaspa client, Coder is driving the work to get Rust 1BPS onto mainnet, negotiating with 3rd parties and helping them out to try their tools on the rust node.

Besides contributing code, Coder fosters an impressive habit of reviewing all changes and additions to the codebase (which anyone who ever worked on a large codebase would know is extremely impressive). He does so to maintain a broad and deep understanding of the codebase, and in doing so he improves on the already stringent code-review standard the Rusty crew is committed to. He is also devoted to tracking all node-related issues that come up in discussions, so that they could be tackled down the line.

Coder was first exposed to Kaspa by following @SonOfATech, finding that the Kaspa mining content piqued his curiousity. In his words: “The reasons SOAT mentioned for why Kaspa was different from other coins stuck to me: “It (Kaspa) has pedigree in the developers. It’s built from the ground up – it’s not a fork. It has a specific use case – speed of transactions”. I was just a hobbyist miner back then (still am), so anything that was green that had a chance of making profits was interesting to me. I joined the Kaspa Discord, put my mining rigs on Kaspa and started immersing myself with the tech.”

When asked about his motivations to do so, Coder states two of them: “I have stake in the coin because I was mining and holding it too, so I might as well do what I can to try to improve things. My other motivation for contributing is the continuous learning that comes with it. Reading the code base and working with really big-brained folks pushes me to improve further. I joined for the mining, but I stayed for the learning.”

Coder’s word of advice for upcoming developers who want to get involved with Kaspa are: “even if you don’t have all the skills yet, you can start immersing yourself by:
1. Trying to compile the rust codebase locally,
2. Going over GitHub Issues and Pull Requests in different Kaspa project repositories, and
3. Going over to Discord and checking the messages that come up in #research and #development channels.

Salamat!”

If you want to follow Coder’s work, keep on eye on his Github profile:
HTTPS://github.com/coderofstuff