Listen to this story
Of late, the shift towards Web3-based infrastructures has made developers excited to contribute towards the emerging ecosystem, but most of them struggle to kickstart their metaverse journey.
And to begin with, GitHub repositories offer a great starting point for developers to dive into communities in various fields by learning from contributing expert developers. This article covers some of these repositories that offer modular and independent tools for Web3 or Solidity development.
Sign up for your weekly dose of what's up in emerging technology.
Blockchain Learning Path
To step into and get started with Blockchain, this repository is an opinionated learning path which is still a work in progress. The repository contains links to reads and videos of topics related to Bitcoin and especially Ethereum.
Developers embarking on this code need to have an understanding of Public Key Cryptography, Digital Signatures, and Cryptographic Hashing.
Click here for the GitHub repository.
Created by Mark Nadal in 2014, GUN is a community and ecosystem stack collection of modular and independant tools that help developers build encrypted applications. It is an open source cybersecurity protocol used for the syncing of decentralized graph data.
The toolkit allows the creation of community run applications such as Decentralized Dropbox or Open Source Firebase and is in use by hundreds of apps like the Internet Archive and Twitter’s Bluesky.
Click here for the code of GUN.
This network infrastructure comprises decentralized threshold cryptography focusing on proxy re-encryption and offers accessible, intuitive, and extensible runtimes with interfaces for dynamic access control and secrets management—free to use and without restrictions and permissions.
The network leverages the cryptological narrative of Alice and Bob, permeating the code-base and enabling developers to write misuse-resistant code. Alice is the data owner that grants access to her encrypted data, Bob is the data recipient that obtains the encrypted data and sends access requests into the NuCypher network, which when accepted, is re-encrypted to be decrypted by his private key.
To check out the repository for NuCypher, click here.
MetaMask is a mobile extension-based wallet that gives easy access to websites using Ethereum blockchain. It comes preloaded with connections to several test networks and Ethereum blockchain which allows users to start developing without synchronising a full node.
A code is built using React-Native that runs locally on a Mac or Linux OS. The users need to set up the device by installing Android SDK for Android or iOS dependencies for iOS along with yarn. The repository contains links to all the prerequisites for the tool and guides to build the tool locally on one’s device.
Click here to check out the code.
A React UI library crafted specifically for Web3 use cases such as Toast notifications, NFT display in various forms, ETH wallet and more. In late 2021, 24 developers collaborated to create a light-weight, step-by-step guide for Web3 UI development.
The repository includes:
- Elements: Basic building blocks like buttons, badges and more.
- Components: Common web3 components like NFT, Token Balance, Address Display
- Hooks: These use common API calls to nodes like Ankr or Alchemy to get NFT information.
Click here to check out the repository.
Perhaps the most well known repository for smart contract development, Scaffold is a forkable Ethereum development stack with focus on fast product iterations. The front end repository lets developers experiment with Solidity, which is an object oriented programming language.
The repository provides developers access to tools and off-the-shelf stack for quick prototyping on Ethereum. It allows developers to build over frontends and smart contracts by leveraging Solidity, Hardhat for local networks, React for frontend, Ethers.js for interacting with smart contracts, and Ant for the UI.
For the repository for Scaffold-ETH, click here.
Built by a community of developers, Web3UI kit is a repository consisting of lightweight and reusable Web3 UI components for development of dApps.
There are three packages included in the repository:
- Core module that contains basic UI components.
- Icons module with svg code.
- Web3 module with components which have react-moralis dependencies.
Click here to view the repository of GitHub.
Create Eth App
As the description of the repository says—Create Ethereum-powered apps with one command, developers can create React apps with just one command. To create a single-page react app, the repository includes Yarn Workspaces for smoother project management.
The code comes with decentralized finance templates filled with contract ABIs, addresses and subgraphs. This provides end-to-end coverage to build and maintain Ethereum-powered React apps.
Click here to check out the repository.
(Not So) Smart Contracts
This repository is filled with examples of Ethereum smart contract vulnerabilities like the code from real smart contracts. Developers can learn about EVM and Solidity vulnerabilities as benchmarks for analysis and security tools, and security reviews.
This repository includes description of each vulnerability type, recommendations to eliminate vulnerabilities, real-world contracts that show the flaw, and references to third-party resources for information.
Click here to see the repository by Crytic on GitHub.
Built on the foundation of community-vetted code, OpenZepplin’s contracts is a library for secure and safe smart contract development. This library has reusable Solidity components to build complex decentralized systems and custom contracts.
The repository features a stable API, therefore contracts do not break unexpectedly during upgrades. The repository provides—
- Access control for the developer to decide who performs actions on the system.
- Tokens to create tradable assets.
- Gas Station Network that lets users interact with contracts without paying for the gas.
- Utility tools like signature verification, trustless paying systems, and non-overflowing maths.
Click here for the repository by OpenZeppelin.