Jess
Comms at WakeUp Labs.
September 14, 2023
Exploring the Web3 Tools in Use at WakeUp Labs
Discover the Tools Employed by Our Development Team
In this article, we'll delve into the tools our team at WakeUp Labs utilizes for blockchain development.
1. Hardhat
Hardhat serves as a comprehensive development environment tailored for Ethereum software development. It comprises various components that seamlessly handle tasks such as code editing, compiling, debugging, and deploying smart contracts and decentralized applications (dApps). These components collaboratively form a complete development ecosystem.
At the heart of Hardhat lies the Hardhat Runner, the primary interface for developers. It functions as a flexible and adaptable task runner, simplifying the management and automation of routine tasks that are integral to smart contract and dApp development.
The architecture of Hardhat Runner revolves around two fundamental concepts: tasks and plugins. Whenever you invoke Hardhat from the command line, you're essentially executing a task. For instance, when you run 'npx hardhat compile,' you trigger the built-in compile task. Tasks can invoke other tasks, enabling the creation of intricate development workflows.
Moreover, both users and plugins have the ability to modify existing tasks, granting the flexibility to customize and expand these workflows to suit specific needs.
OpenZeppelin is an open-source framework to build secure dApps. Their resources equips developers with a comprehensive set of tools essential for the development and automation of Web3 applications. Additionally, OpenZeppelin extends its expertise to offer audit services, making industry best practices accessible to companies of all sizes.
OpenZeppelin has earned the trust of prominent entities in the crypto world, including the Ethereum Foundation and Coinbase. Their core mission revolves around enhancing the security, reliability, and risk management of Ethereum projects, with a broader goal of safeguarding the open economy. They stand ready to perform security audits at your request, implementing robust security measures to fortify your dApps. Following a thorough evaluation of your code, OpenZeppelin provides a detailed report that not only highlights best practices but also offers recommendations to rectify any vulnerabilities within the system.
OpenZeppelin has established an extensive library for smart contract development, currently empowering over 3,000 public projects. Their developers employ Solidity to craft modular and reusable contracts within this library.
3. Web3auth
Web3Auth serves as a versatile wallet infrastructure tailored for Web3 applications and wallets. Its primary aim is to simplify the onboarding process for both mainstream users and crypto enthusiasts, achieving this in under a minute by offering user experiences aligned with their preferences. With broad compatibility encompassing all OAuth-based login systems, as well as support for web and mobile native platforms, Web3Auth delivers a seamless onboarding journey for your user base.
When you integrate Web3Auth into your decentralized application (dApp) or blockchain wallet, you gain the ability to significantly streamline the user onboarding process. This translates to a user-friendly and uncomplicated experience, enhancing user adoption. Importantly, Web3Auth preserves the non-custodial nature of your wallet management system. This means that users continue to exercise complete control and ownership over their cryptographic wallets, reinforcing the core principles of privacy and security that underpin blockchain technology.
4. Rainbow Kit
RainbowKit offers a rapid and cost-free solution for integrating web3 wallets into decentralized application (dapp) frontends. It simplifies the process for dapp developers to enable users to link their wallets with the frontend user interface. By adopting RainbowKit, developers empower dapp users to select their preferred wallet from a range of options. This toolkit is the go-to choice for renowned web3 teams like Zora, Showtime, the Ethereum Name Service (ENS), and the Optimism Bridge. In comparison to other wallet toolkits, RainbowKit stands out by allowing developers to tailor the user experience through custom themes, wallet choices, blockchain networks, and connection buttons.
5. Ethers
Ethers.js is a compact library designed for developers to interact with the Ethereum blockchain efficiently. It's available for both JavaScript and TypeScript and comes in a small 284 kb (uncompressed) package. This library organizes its API into three key components:
Provider: This is like a gateway to the Ethereum blockchain, allowing you to read and write data to it.
Signer: Think of a Signer as an Ethereum account that can sign transactions, enabling you to perform actions on the blockchain.
Contract: In Ethers.js, a Contract represents a specific smart contract deployed on the Ethereum blockchain, making it easier to interact with these contracts.
Each of these components plays a crucial role in how Ethers.js functions, making it a valuable tool for Ethereum blockchain development.
6. Viem
Viem is a TypeScript interface for Ethereum that provides low-level stateless primitives for interacting with Ethereum. Viem is focused on developer experience, stability, bundle size, and performance:
Developer experience. Automatic type safety and inference, comprehensive documentation, composable APIs.
Stability. Test suite runs against forked Ethereum networks, complete test coverage.
Bundle size. Tree-shakable lightweight modules.
Performance. Optimized encoding/parsing, async tasks only when necessary, consistently #1 in benchmarks.
WakeUp Labs provides a platform for easily deploying web3 contracts, minting digital assets, retrieving NFT metadata, and working with token gating and other features through APIs. With a simple REST API call containing all the necessary information, you can take advantage of various functionalities. To get started, you'll need to sign up and obtain an API key. This key will serve as your credential for accessing our services. These APIs are designed to work on different blockchains, including Roostock, Arbitrum, Optimism, and Polygon.
The WakeUp Platform offers the chance to enhance your business by integrating web3 tools and features into your projects. By leveraging blockchain technology's security, transparency, and decentralization, you can engage with your audience in new ways, generate secondary markets, and take your projects to the next level.
-
These are the main tools in use at WakeUp Labs. We've used some of them for several clients, including Win, Optimism, and Mokens League.