DEV Community

Cover image for Mode - Blockchain Developer Apprenticeship
wispy for Mode

Posted on

Mode - Blockchain Developer Apprenticeship

On June 17th, Mode, in collaboration with Bcamp, launched a blockchain-focused bootcamp. This bootcamp lasts for 7 weeks, with a class every Monday. During these sessions, topics such as Solidity in production, an overview of Mode, Web3 security, and global job searching will be covered. The bootcamp is designed for participants to develop a project of their choice. In the first week, the various available projects will be presented, and participants will select one to work on based on their interests (all projects are blockchain-focused and must be developed on Mode).

In this article, we will review each week of the bootcamp, how it was experienced, what topics were covered, the project development process, and more.

June 17th - Week 1: Welcome to BCamp!

In this session, BCamp will be introduced. The projects to be undertaken during the bootcamp will be reviewed, and there will be an opportunity to meet the project mentors and other participants.

Week 1 Objective: Code Review and Project Selection

  1. Submit a code review of IceWater.
  2. Rate the teams based on your interest in joining them.

Agenda:

  • Welcome to BCamp.
  • Guest Speaker - Fede Sarquis (Mode Developer Relations).
  • Project Overview.
  • General Overview of Cohort Logistics:
    • Weekly Challenges and Presentations.
    • Final Evaluation Panel.
    • Weekly MVP Nominations.
    • First Week Challenge.

In the first week, BCamp was introduced.

During the welcome session, it was discussed how BCamp is an educational organization dedicated to empowering ambitious individuals by providing valuable software development experience. Their ultimate goal is to help participants successfully enter the tech industry.

The program lasts 7 weeks, from June 17th to August 2nd, 2024. BCamp is described as a hybrid between an internship and a hackathon, which they call "apprenticeship." Each Monday, a live session takes place from 11:30 AM to 1:00 PM PST. The program includes a competition with 3 teams in the finals, weekly MVP awards, and cohort MVP prizes.
There was also a special guest.

Guest Speaker - Fede Sarquis (Mode Developer Relations)

CryptoFede spoke about his transition from the corporate world to the crypto space, emphasizing the importance of continuous learning in the rapidly growing field of Web 3.0 development. He praised the open-minded culture, internationality, and collaboration in the crypto space, and highlighted the challenges of mastering the Solidity programming language. He stressed the importance of building networks and relationships in the Web 3 space and shared his goal at Mode of empowering developers and helping them create successful applications within the ecosystem. He suggested that the Bcamp initiative could serve as a better alternative to hackathons, as it offers a longer period for participants to build a portfolio and network.

After Fede's talk, the bootcamp projects were shared.

Project Overview:

202Ware Project: The 202Ware project aims to develop a platform on the MODE network that allows artists to upload and mint their works as NFTs. Through LivingChain Showcase, artists can receive community votes to be featured in a magazine and earn tokens as rewards. These tokens can be used to access events and other rewards. This initiative creates a transparent and secure environment for artists to showcase their work, engage with the community, and enrich the magazine’s content.

Plinko & Similar Casino Games Project: The Plinko & Similar Casino Games project aims to develop a Plinko casino game on the Mode network to enhance transparency and trust in online gambling. The solution proposes running the game logic on the blockchain and using random number generation oracles like Chainlink VRF to ensure fair outcomes. Smart contracts make the game rules public and protect users' data and funds. Additionally, the Mode network allows global access without geographical restrictions, enabling players from around the world to participate and setting a new standard of fairness in blockchain-based gambling games.

Ticketchain Project: Ticketchain aims to create a decentralized ticketing platform on the Mode network to address common issues in ticketing systems, such as high fees, ticket resale, and counterfeiting. The solution provides organizers with the ability to create and manage events, sell and verify tickets, while buyers can securely purchase, transfer, and resell tickets with reduced fees. The platform uses blockchain technology to ensure the transparency and authenticity of tickets. Ticketchain enhances trust in the ticket buying and selling process and optimizes event management.

Mode Score Project: The Mode Score project aims to develop a dApp that evaluates users' capital efficiency across various web3 ecosystems through an "Idle Score." The application will calculate a capital efficiency score, ranging from 0 to 100, by connecting the user's wallet or entering their address, and then recommend investment opportunities within the Mode ecosystem or others, based on the idle capital detected. This tool enhances portfolio management by helping users identify and seize investment opportunities, increasing capital efficiency, and promoting the use of Total Value Locked (TVL) in blockchain.

BitLance Project: BitLance is a decentralized platform designed to connect advertisers and freelancers without the high fees of traditional platforms like Upwork and Fiverr. Using smart contracts on the Ethereum blockchain (Mode network), BitLance ensures job completion and freelancer payment, charging a small commission of 1-2% in addition to gas fees, and allowing payments in cryptocurrencies. This approach reduces the costs associated with conventional freelancing platforms and offers a rating system to assess user reliability, providing a more cost-effective and transparent alternative.

Generative Art for Liquidity Position NFTs: Generative Art for Liquidity Position NFTs aims to improve long-term liquidity retention in blockchain protocols by incorporating generative art into NFTs. Instead of relying solely on profits, the emotional value of these NFTs is used to incentivize liquidity providers to maintain their positions, thereby increasing the "stickiness" of liquidity in the protocols. Maintaining solid liquidity is crucial for the success of a protocol, as deep liquidity reduces investor mistrust and increases transaction volume, benefiting the protocol with higher revenue.

Peer-to-Peer Coin Flip Game: The Peer-to-Peer Coin Flip Game aims to provide a fair and transparent alternative to centralized betting through a coin flip game based on smart contracts. Users create and join challenges with specific bets, and a random number generator verifies the outcome. The smart contract ensures trustless execution and immediate payouts. This solution removes intermediaries, offering fair odds and transparent results, reducing the risk of fraud and increasing user trust in the betting system.

Memecoin Audit Bot : The Memecoin Audit Bot aims to identify and prevent fraud in the memecoin market through a static analysis tool. This bot monitors new ERC-20 smart contracts, reviews verified source code, and generates reports on potential security issues. Its significance lies in enhancing security and transparency in the memecoin market, protecting investors, and promoting responsible investment practices.

Collateral-Free Small Loans: Collateral-Free Small Loans addresses the challenge of offering loans without collateral, tackling issues like risk assessment, default management, and liquidity. The solution is a platform that enables trust-based and relationship-driven loans, with robust risk evaluation and native stablecoins to maintain liquidity. It will integrate with other DeFi protocols and feature a user-friendly interface. This approach facilitates access to decentralized financial services and promotes the adoption of Web3 and DeFi by eliminating the need for collateral.

Blockchain Shipping and Receiving Application: The Blockchain Shipping and Receiving Application aims to integrate shipping documentation and logs to improve the tracking of materials during transportation. The solution involves developing an application that uses smart contracts to record loading and unloading, handle payments, and manage rest stops, all on the blockchain. This approach enhances the accuracy of shipment tracking by providing an immutable and real-time accessible record, reducing errors and delays.

They also discussed the logistics that will be followed during the bootcamp.

They explained the topics that would be covered each week and how the Final Judging Panel and weekly MVP nominations would work.

Weekly Topics:

  • June 17th - Session 1: Welcome to BCamp!
  • June 24th - Session 2: Meet Your Team
  • July 1st - Session 3: Project Proposals and Guest Speaker on Solidity in Production
  • July 8th - Session 4: Project Presentations and Overview of Mode
  • July 15th - Session 5: Team Presentations and Guest Speaker on Web3 Security
  • July 22nd - Session 6: Pitch for the Finals and Global Job Search
  • July 29th - Session 7: Final Project Presentations
  • August 2nd - Expert Judging Panel

Final Judging Panel: The Final Judging Panel will operate as follows: Industry experts will be invited to join the panel to evaluate and provide feedback on the projects that reach the final stage.

Weekly MVP Nominations: There will be weekly polls to choose the MVP, who will be given one minute during the session to be thanked and share more about their experience.

First Week Challenge: This week’s challenge involves providing a code review for the IceWater contract, which is a stablecoin with three intentional bugs of varying levels. The code review should be submitted in PDF format. Finding the bugs is not a requirement; the primary goal is for participants to start interacting with blockchain and smart contracts. After submitting the code review, participants can choose which project they want to work on.

June 24th - Week 2: Meet Your Team

In this session, the teams will be announced, and you will get to meet your team in a breakout room.

Objective of Week 2: Project Planning.

It’s time to start development!

  1. Get to know your team, establish task division, and create a meeting schedule that works for everyone.
  2. Finalize an initial plan for your project with some form of architecture (such as a diagram or README.md).
  3. Prepare a 3-minute presentation to introduce your project, including the plans and architecture you have developed.

Agenda:

  • Announcement of team assignments.
  • Meet Your Team!

This week, the submissions for the Week 1 code review challenge were discussed. Several people identified the first bug, and 2 or 3 found the second bug, but no one detected the third bug. These bugs were intentionally added to encourage participants to interact with Solidity code.

It was explained that, in the following weeks, each team will need to give a 3-minute progress update presentation until Week 5. In Weeks 6 and 7, presentations will be 7 minutes long. Examples of presentations were shown and shared, and it was recommended that each team start organizing, as project development will commence this week.

This week, each team got to know each other and began project development.

July 1st - Week 3: Project Proposals and Guest Speaker on Solidity in Production.

In this session, each team will have the opportunity to present their projects for 3 minutes. Additionally, we will welcome a guest speaker, Justin Bebis, CEO of Conclave!

Objective of Week 3: Project Fundamentals

  1. Write pseudocode and set up the project file structure; once ready, begin developing the alpha version.
  2. Prepare a 3-minute presentation for next week's session covering the progress made this week.

Agenda:

  • Guest Speaker: Justin Bebis
  • Project Proposals Presentations
  • Alien Awards
  • Tasks for This Week

Week 3 began with guests Eidolon and Goober from Conclave, who shared their experience in writing production code in Solidity. They focused on smart contract architecture and front-end and back-end applications, highlighting the importance of security, minimalist design, and thorough testing. They recommended tools such as Foundry and Slither and discussed the challenges of invariant testing. Eidolon and Goober explained that auditors identify potential flaws but do not guarantee error-free code, emphasizing the need to combine audits with independent reviews. They also discussed EVM compatibility, Solidity versioning, and the importance of being prepared for emergencies and vulnerabilities. They shared their experiences entering the crypto world and stressed the relevance of continuous learning and collaboration.

During this week, each team had their 3-minute presentation to discuss the project they are working on.

July 8th - Week 4: Project Presentations and Overview of Mode

In this session, each team will have the opportunity to present their projects for 3 minutes.

Additionally, a representative from Mode will join us to review their product and codebase.

Objective of Week 4: Development 1

  1. Start or continue developing your project with the goal of compiling and running something this week.
  2. Prepare a 3-minute presentation for next week’s session that showcases this week’s progress.

Agenda:

  • Highlight of the Learner
  • Project Presentations
  • Negotiation Exercise

Overview of Mode

Fede explained that Mode is a Layer 2 solution based on Optimism technology, designed to improve efficiency and reduce transaction costs on Ethereum. He highlighted the vision of the Superchain, which aims to interconnect multiple chains to facilitate fund transfers and application integration, creating a more efficient and cost-effective ecosystem. He also emphasized the importance of contributing to the OP Stack project, which is essential for the development and enhancement of these technologies.

During this week, each team had their 3-minute presentation to showcase the progress they’ve made on their projects.

July 15 - Week 5: Team Presentations and Guest Speaker on Web3 Security

In this session, each team will have the opportunity to present their projects for 3 minutes. Additionally, we will welcome a guest speaker from SphereX.

Objective for Week 5: Development 2

  1. Finalize an alpha version of your application/dApp.
  2. Prepare a 3-minute presentation for next week's session. This will be your team's final presentation before the judges to determine if you will advance to the finals.

Agenda:

  • Learner Spotlight
  • Project Presentations

Ariel from Spyx addressed security challenges in Web3, highlighting code visibility, the risk of direct financial theft, the decentralized nature, and the anonymity of actors. He emphasized the importance of secure key management and mitigating reentrancy attacks, explaining how a malicious actor can exploit vulnerabilities in smart contracts. He also discussed blockchain protocol design and the protection of private keys using tools such as Multi-Party Computation, multi-sig contracts, and hardware wallets. He recommended using development and auditing tools to write secure code and perform thorough reviews.

During this week, each team had their 3-minute presentation to show the progress of their projects.

July 22nd - Week 6: Finals Pitch and Global Job Search

This week, Samuel Miranda discussed strategies for standing out in the competitive job market. An informational interview exercise was also conducted.

Additionally, each project will have 3 minutes to present their projects and make their final pitch to reach the finals.

Objective of Week 6: Testing

  1. Test your application/dApp and make final adjustments.
  2. Prepare a 7-minute presentation about your project for the final session, highlighting the progress made.

In Week 6, strategies for improving LinkedIn profiles and finding employment in a competitive market were covered. Emphasis was placed on personalizing profiles, including relevant skills in the headline, crafting a personal narrative in the "About" section, and adding recommendations to boost credibility and SEO optimization. Sharing posts on relevant topics and work experiences was also recommended. An informational interview exercise was conducted, and the importance of networking and creating LinkedIn groups to facilitate connections was discussed.

During this week, each team had their 7-minute presentation to showcase the progress of their projects.

July 29th - Week 7: Session 7: Final Project Presentations

Development Completed

The last weekly session! Each team will have the opportunity to deliver a final 7-minute presentation.

Additionally, the teams advancing to the finals will be announced.

Teams that make it to the finals must prepare a 7-minute presentation for Friday, August 2nd, when the final judging panel will determine the winners of this cohort.

CryptoFede shared his insights on the Web3 industry, emphasizing the importance of active participation and feedback. He discussed the challenges of finding work in the sector, advising not to be discouraged by unrealistic job descriptions and to engage in extensive networking. He also mentioned the SuperHack hackathon and the Optimism awards as great opportunities to showcase our projects, earn money, and increase our visibility in the Web3 world.

In the final session of the bootcamp, teams delivered their final presentations. The top three finalist teams will now be selected and must prepare a 7-minute presentation for Friday, August 2nd. On that day, the winner of the bootcamp will be chosen.

The 3 projects that made it to the finals are:

  • Liquidity NFTs
  • Mode Score
  • BitLance

Liquidity NFTs:

The Liquidity NFTs team presented their final project on a landing page. The presentation included the following features and functionalities:

  • Generative Art for Liquidity Positions:
    • Purpose: To create generative art for liquidity positions in the form of NFTs. The goal is to enhance the "stickiness" of liquidity by providing emotional value in addition to financial value.
  • Smart Contract Development:
    • Compatibility and Optimization: The team faced compatibility issues between Solidity versions (0.6.5 for DEX contracts and 0.8.0 for ERC 404) and had to limit the contract size. They addressed these issues by creating a separate contract for token management and implementing multiple optimizations.

Key Components:

  • LP 404 Factory: Modification of the ERC 404 contract to incorporate on-chain metadata logic, allowing the minting of ERC 20 LP tokens alongside ERC 721 (NFTs) tokens that represent ownership in the liquidity pool.
  • NFT Visualization:
    • NFT Viewer: Users can request information about their NFTs using the contract address and token ID. Attributes are stored on IPFS and rendered via a canvas.
  • User Interface and Live Demo:
    • Front-End Interface: The interface allows users to create and manage ERC 20 token pairs, view balances, deposit and withdraw tokens, and view generated NFTs.
    • Live Demo: The demonstration showed the process of creating a token pair, retrieving contract information, depositing tokens, and minting NFTs.

Conclusion

The Liquidity NFTs team delivered an innovative solution that combines emotional and financial incentives to maintain liquidity on DEX platforms. With a robust smart contract structure and an intuitive interface, the project is well-positioned to integrate with major DEXs like Uniswap and expand to other protocols that require liquidity.

Mode Score

The ModeScore team, during their 10-minute presentation, showcased the final project on a landing page hosted on Vercel. The presentation included the following features and functionalities:

  • Landing Page:
    • Navigation: The homepage features a navigation menu that redirects to sections like features, team information, and contact.
    • Contact Form: Users can send messages through a form, with emails being forwarded to the team's inbox.
  • Wallet Connection:
    • Wallet Connection API: The application allows users to connect their wallet using Metamask and other connection options. This functionality is managed through an API that supports over 420 types of wallets, providing flexibility and accessibility for users.
  • User Dashboard:
    • Data Visualization: Once the wallet is connected, users can view their financial score, details of their assets, and recent transactions. The dashboard displays the ModeScore, congratulating the user on their first step toward financial efficiency.
    • Interactive Interface: The dashboard includes a sidebar navigation that allows users to view specific details of their assets and transactions. Users can also switch between different cryptocurrencies, such as ETH and MODE.
  • Score Calculation Algorithm:
    • Integration with Covalent API: The backend uses the Covalent API to retrieve detailed data from the user's wallet.
    • Complex Algorithm: An algorithm that calculates the financial score based on multiple factors, including wallet activity, transaction history, balance, and more.
  • Score Presentation:
    • Score Range: Users receive a score ranging from 300 to 900, with personalized messages explaining their financial situation.
    • Credibility Details: Detailed visualization of the evaluated parameters, including credibility and transaction traffic.
  • Deployment and Accessibility:
    • Back-End: Deployed on Render, handling requests and data processing.
    • Front-End: Deployed on Vercel, providing a user-friendly and accessible interface.

Conclusion

The ModeScore team delivered a comprehensive and well-designed application that enables users to assess and optimize their digital assets. With an intuitive interface and a sophisticated algorithm, ModeScore positions itself as an essential tool for efficient investment management in the Mode ecosystem.

BitLance

The Bitlance team presented their final project, a decentralized freelance platform. The presentation included the following features and functionalities:

  • Bitlance: Decentralized Freelance Platform
    • Problems in Web 2: Freelance platforms in Web 2 face issues such as fees up to 20%, payments taking up to two weeks, and lack of transparency.
    • Bitlance Solution: Lower fees, instant payments through smart contracts, and transparent data.
  • Project Structure:
    • Front-End and Back-End: Users interact with the web interface and can connect their wallet via Metamask or Rainbow Wallet. The back-end only stores the user's email and name.
    • Mode Network: Communication with the Mode network to manage data and transactions.
  • System Features:
    • Login and User Profile: Users can log in and view their profile, both as clients and freelancers.
    • Job Creation and Application: Clients can create job listings, and freelancers can apply to them.
    • Job and Payment Management: Clients can select freelancers for their jobs, and payments are managed through a smart contract acting as an escrow account.
  • Work and Payment Process:
    • Client: The client creates a job and specifies the payment in LINK tokens.
    • Freelancer: The freelancer applies for the job and waits for client approval.
    • Approval and Completion: Once approved, the freelancer completes the job, and the client releases the payment from the escrow account upon job completion.
  • Live Demo:
    • Demo Interaction: The demo showcased the complete flow from job creation, freelancer application, client selection of the freelancer, job completion, and final payment to the freelancer.
    • Transactions on the Network: LINK tokens on the Mode network were used to demonstrate the movement of funds between the client's and freelancer's accounts.

Conclusion: The Bitlance team delivered a solution that addresses issues faced by Web 2 freelance platforms through a decentralized platform with lower fees, instant payments, and increased transparency. The project is well-positioned to enhance the freelance experience for both freelancers and clients within the blockchain ecosystem.

Each team must prepare a 10-minute presentation for Friday, August 2, the day when the winning project of the bootcamp will be chosen.

August 2nd - Week 8: Expert Evaluation Panel

Industry experts will form an evaluation panel to assess and provide feedback on the projects that reach the final. Additionally, the MVPs of the cohort will be announced, and awards will be distributed.

In the final evaluation session of the incubation program, it was announced that third place went to the ModeScore project and second place to the Bitlance team. The winning project was Liquidity for NFT Positions, excelling in the categories of innovation and product vision. The judges praised the quality of the projects and the enthusiasm of the participants, highlighting that many demonstrated a high level of commitment and collaboration.

During the final discussion, there was enthusiasm for the projects and participation in the program, with a focus on ongoing connection and support among community members. Future sponsorships and opportunities for participating teams were mentioned, especially in areas such as game development and blockchain-based solutions.

The intent to use the program as a platform to promote and connect emerging talent with real market opportunities was discussed, emphasizing the potential for collaboration with various platforms and projects.

The event concluded with thanks and a call to maintain connections through LinkedIn and other networks, encouraging participants to stay in touch and explore new opportunities.

A Successful Journey

The recent bootcamp, which brought together 47 participants, has been an incredibly enriching experience for everyone involved. Throughout the program, each team had the opportunity to develop and present projects addressing a wide range of challenges and innovations in the blockchain space.

This event not only helped boost individual talent but also laid the groundwork for future developments in the blockchain ecosystem, particularly within the Mode Network. The diversity of projects and the creativity demonstrated by the teams highlight the potential for creating solutions that enhance the efficiency, security, and scalability of decentralized applications. These advancements could influence new technological proposals, attracting more developers and users to the network, thus strengthening its adoption.

We would like to express our sincere gratitude to Mode and Bcamp for making this event possible. Their support was crucial to the success of the bootcamp. A special thanks to Fede, whose commitment was outstanding throughout the entire process.

As the projects continue to evolve, it's likely that collaborations and ideas will emerge, driving new applications within the Mode ecosystem. This initiative not only fosters short-term innovation but could also serve as a catalyst for larger-scale projects, contributing to the growth and development of the blockchain sector as a whole. The impact of this bootcamp could, in the long term, influence the strategic direction of Mode Network, setting a precedent for future training and development programs.

We look forward to seeing how these projects will continue to evolve and significantly contribute to the Mode Network ecosystem and beyond, driving new solutions for the blockchain industry.

Top comments (1)

Collapse
 
therevealer profile image
Aguchukwu Emmanuel

Interesting stuff man.