I flew to Hong Kong last weekend to participate in the first-ever EOS hackathon. There were ~360 hackers on ~90 different teams (69 team submitted a final project) all competing to build DApps utilizing the EOS blockchain. Not surprisingly, there was a huge showing by the block.one team. Many other EOS community celebrities were there as well, including Brock Pierce, Michael Cao, and the entire Everipedia team. The event had high production value with impressive swag, high-quality food & coffee bar, a dedicated sleeping area (where I slept for 2 hours) and high-ticket prizes ($100k, $25k and $10k to the top 3 teams).
My team of 5 (three from the U.S., one from China and one from Hong Kong) built a fully functioning decentralized peer-to-peer data marketplace with a customized smart contract on top of the EOS blockchain. I led the development and built the React application in addition to the EOSJS integration, which tied our custom smart contract to our front end. The technical mentors were incredibly helpful and provided us with lots of guidance throughout the 26-hour hackathon.
I came away impressed with the EOS platform. I’ve done some Ethereum development over the past few months and, by comparison, EOS has many strengths. Here are my takeaways from the hackathon:
- EOS has a built-in default token contract. So if you want to deploy standard, audited tokens into your DApp ecosystem, it is super simple.
- EOS smart contracts are built in C++. This is either a pro or a con depending on whether you know the language already. Many web developers don’t know C++ and are more comfortable learning Solidity, but there is a massive community of outstanding C++ engineers.
- The DApp we produced ran entirely on our custom EOS smart contract. The UI felt as fast and fluid as if we were using a real-time centralized database / server. Compared to the ~20 second delay when interacting with an Ethereum smart contract, this felt like the modern internet versus the dial-up days. However, we were using an EOS node running on our localhost during the hackathon, so it still remains to be seen what the speeds will be like in the wild (mainnet).
- EOSJS is pretty slick and already includes most of the same functionality as Ethereum’s Web3. The tech is rapidly developing and the documentation was a little outdated for the hackathon, which caused a lot of confusion. I’ll write a follow-up article walking through how we used EOSJS in our application to help anyone that wants to get started today.
- Demux is a project that the EOS team is working on to lend Redux-like functionality to EOS contracts. This will enable all sorts of action/reducer functionality including listening to contracts for particular actions. This is very exciting.
I’ll publish a technical guide on how to build an EOS DApp using ReactJS and EOSJS in a couple of days!
This is what the hackathon looked like at 3am.