Web3Bridge Bootcamp Weeks 4–6: Writing Smart Contracts, My First Hackathon, and the Web3 Lagos Conference
The past three weeks at Web3Bridge have been a whirlwind of learning, building, and pushing ourselves beyond the basics of writing smart contracts. We went from writing simple smart contracts to testing, deploying, and even diving into hackathons and attending the web3lagos conference. It's been challenging, but super rewarding. In this article, I'll take you through Weeks 4 to 6, capturing and sharing pivotal moments and valuable lessons throughout the journey.
Week 4: Introduction to Smart Contract Writing
Week 4 was when we really got into smart contract development. Under the tutelage of Casweeney Ojukwu (@codingcas), we explored Solidity learning about storage slots and variable packing, and used Hardhat to test, deploy, and interact with our deployed contracts. One of the major focuses of this week was understanding ERC20 and ERC721 tokens, which are fundamental to Ethereum.
Cas challenged us to write our own ERC20 and ERC721 tokens. ERC20 tokens are fungible, meaning they hold the same value and can be traded like-for-like. Meanwhile, ERC721 tokens represent unique assets, which is why they’re perfect for NFTs like the CryptoPunks or Bored Ape Yacht Club (BAYC) NFT.
We weren’t just writing code; we were encouraged to research, share our findings through blog posts, and post our work on social media. The idea was to make us better learners and better communicators.
Learning Highlights:
ERC20 and ERC721 Tokens:
ERC20 tokens represent fungible assets, meaning each token is the same as another in terms of type and value.
ERC721 tokens are non-fungible, meaning each one is unique, making them perfect for representing ownership of distinct assets like art or property.
Hardhat Framework:
- Hardhat simplified the development process by enabling us to seamlessly test, compile, and deploy contracts.
MerkleAirdrop Contract:
- We learned about Merkle trees and used them to build an airdrop smart contract. This contract verifies eligible users through the Merkle root, streamlining the airdrop process. Check it out on Github
Week 5: Web3Lagos Hackathon & Conference—A Crash Course in Building
Week 5 was a game-changer. We took a short break from structured learning to participate in the Web3Lagos Hackathon—an event that packed three days of non-stop coding. It was intense! Working on a team project under tight deadlines was both exhausting and exhilarating.
Although our team didn’t take home the grand prize, we still managed to win a bounty from Web3.js, which was a win in itself! More than the prize, the experience of building something from scratch in a real-world environment was invaluable.
After the hackathon, the week transitioned into the Web3Lagos Conference. This wasn’t just another blockchain event—it was packed with technical workshops, networking, and exposure to different blockchain fields. One of the most fascinating topics introduced to us was the Checksum Protocol and the concept of creating secrets with polynomials.
Here are some of my recaps of the three-day conference on X:
Key Highlights:
Hackathon:
- Building a project in a high-pressure environment was intense but rewarding.
Conference Takeaways:
I learned about onboarding users, simplifying content for the blockchain space, and using tools to build faster. Also, I was introduced to zero-knowledge topics like the Checksum Protocol and how to create secrets with polynomials. These were key insights into cryptography, privacy, and security in the blockchain world.
💡Checksum Protocol: A method used to verify the integrity of data by generating a unique fingerprint (or checksum) for it, ensuring no data corruption or tampering has occurred.💡Secrets with Polynomials: A technique in cryptography where polynomials are used to split and securely share a secret, such that only by combining enough parts can the original secret be reconstructed (a key concept in secret sharing).
Networking and Exposure:
- I also had the opportunity to explore other areas of blockchain technology, like DePIN, while connecting with some brilliant minds in the space. And yes, I grabbed tons of merch!
Week 6: Complex Smart Contracts and Real-World Blockchain Applications
Week 6 brought us back to the structured classroom setting, but this time, we were moving beyond the basics. Under Cas’s guidance, we took a deeper dive into complex Solidity development. Here, we explored topics such as:
Libraries: Reusable pieces of code that allow for efficient contract development.
Factory Contracts: Contracts that can be used to deploy other contracts dynamically, which is particularly useful in building scalable applications.
Multisig Contracts: Smart contracts that require multiple signatures to execute transactions, increasing security.
Mainnet Forking with Real-World Interactions: We practiced interacting with Uniswap V2, specifically the Uniswap V2 router and V2 factory contracts. This opened our eyes to how decentralized exchanges (DEXs) work under the hood and gave us a strong foundation for building in the DeFi space.
Building Real-World Solutions:
One of the most exciting projects we worked on was an NFT-gated event management contract. This contract allows event organizers to use NFTs as tickets, ensuring that only users holding specific NFTs can access certain events. It’s a practical application of blockchain technology and one that has real-world use cases in event management, music, and entertainment. Check the project out on GitHub
Cas’s Impact:
Cas (@codingcas) was not just a teacher—he was a mentor who pushed us to our limits. He constantly challenged us to explain our code, think critically about our solutions, do the research, and present our ideas to the class. He called out almost every student, ensuring that no one could hide from the challenge. For those he didn’t call, he was already confident in their capabilities. His tough-love approach kept us sharp and focused, and the lessons learned under his mentorship will stick with me for a long time.
Wrapping Up Weeks 4–6: What’s Next?
The past three weeks have been transformative in my Web3 journey. From writing basic ERC20 and ERC721 contracts to building full-fledged projects during the Web3Lagos Hackathon, I’ve grown significantly as a developer. The exposure to complex contract structures, interacting with real-world protocols like Uniswap, and learning about blockchain scaling have expanded my perspective on the future of decentralized technology.
We’ve just concluded the eviction test, which was a big milestone, and now we’re moving into full-fledged smart contract practice this week 7. The coming weeks are all about applying everything we've learned—building dApps, incorporating Web3 frontends, and exploring the complexities of smart contracts, including proxy and diamond contracts. The projects are getting more complex, and the expectations are even higher, but I’m excited to continue growing and pushing myself.
I’m excited to continue this series, diving into even more advanced topics as we progress in the boot camp. The journey so far has been intense, but the challenges are what have driven me to grow. There’s still so much to learn, and I’m ready for the challenge.
Stay tuned for the next article where I'll share these new developments and continue bringing you along on my journey ✌️🤗.
Smart contracts are more than code; they’re the building blocks for a decentralized future.
Subscribe to my newsletter
Read articles from Michael Ojekunle directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Michael Ojekunle
Michael Ojekunle
I am an Enthusiastic, curious and imaginative Web Developer, eager to contribute to team success through hard work, Attention to detail and Excellent Organizational Skills, always open to new and unconventional ideas. I take my work as a Web Developer seriously and this means I always ensure my skills are kept up to date within this rapidly changing industry.