IOV Labs & RSK to participate in the Gitcoin Web3 World Hackathon
By Sergio Lerner, Head of Innovation at IOV Labs.
IOV Labs is thrilled to participate in the Gitcoin Web3 World hackathon. This is our first time, and hopefully we’ll continue participating in both standard bounties and themed hackathons.
IOV Labs is a for-purpose organization that seeks financial inclusion through the use of blockchain technology, smart-contracts, and Bitcoin. IOV Labs supports RSK and we are working to make it The Bitcoin DeFi platform. RSK is a Bitcoin sidechain that shares the Solidity/EVM/Web3 toolchain so it’s very easy to develop dApps for RSK if you have already done so for Ethereum. The main difference is .. well.. the native coin is Bitcoin instead of Ether. But RSK is much more.
In this hackathon, we’d like to raise interest on the internals of our RSK client, called RSKj, which is written in Java language. This client started as a fork of Ethereumj while it was still in development. During the last two years, RSKj has undergone many refactorings, extensions and protocol changes, and it is now a real pleasure to work on. Safety and efficiency were greatly improved. For example, one of the core consensus changes is that we use a different data structure for the world state. In fact, it looks more similar to Eth 2.0 sparse binary tree than to Eth 1.0 trie. It’s called the Unitrie, which is a binary trie, and it holds all accounts, code, and contract storage cells in a single tree. Plus, it holds the original unhashed keys! This makes state housekeeping activities much easier and fun. You may bump into this data structure while hacking the RSK node. Want to scan all state to retrieve all active accounts? Easy! Want to look for duplicate code? Also easy! You can read more about the Unitrie here.
For this web3 world hackathon, we’ve selected 10 issues of varying difficulty and prizes. We have got more than 20K USD worth of prizes up for grabs. Are the prizes attractive? Are the issues to easy or too complex? Please tell us so we keep improving.
Some of the issues are meant for pure coders: issues such as interfacing native libraries and creating JINI bindings to improve the efficiency of the node. A few more issues are from the innovation proposals, also known as RSKIPs. These are intended for experienced researchers and they may require you to hard fork our node to implement cool new features, such as parallel transaction processing. It’s up to you!
Finally, don’t be intimidated by code in RSKj that you’ve not seen before in Ethereum clients. These parts are well encapsulated. You’ll see the merge-mining functionality, and also the classes that manage the bridge with Bitcoin (which is similar to Ethereum’s btcrelay, but includes a fully working wallet in consensus!). We will be on hand to help you through our community channels and the Gitcoin Events Discord. Before you start coding, don’t forget to read the contribution guidelines, which are important to follow. Don’t forget to include test cases to cover all the new code.
To get started you can register for Web3 World here. If you don’t have a Gitcoin account you can create one by linking GitHub. Sign up, browse the prizes, and join the Discord to find a team if you’d like. Once you’re in Discord, the RSK team can assist with any questions on challenges you may have – check out the #rsk channel. The Gitcoin team can also assist with any Gitcoin platform questions. The hackathon will run from October 28th through November 11th at 11:59 pm ET, so don’t hesitate to dive right in!