⚙️Web3 Service
Web3 Service Stack
Our dApp leverages a robust Web3 service stack, designed to optimize development and ensure seamless blockchain integration. Here is a breakdown of the dependencies and development tools used:
Dependencies
@typechain/ethers-v6 (
~0.5.1): Generates TypeScript bindings for Ethereum smart contracts.dotenv (
~16.0.3): Loads environment variables from.envfiles intoprocess.env, securing sensitive configurations.envfile (
~6.18.0): Parses and manages.envfiles for environment variables.qrcode (
~1.5.1): Generates QR codes for easy sharing of information, useful in wallet and transaction interfaces.
Development Dependencies
Ethers (
ethers~6.10.0): A complete Ethereum wallet implementation and utilities in JavaScript (and TypeScript).Hardhat (
hardhat~2.19.4): A development framework for Ethereum, enabling tasks like compilation, testing, and deployment of smart contracts.TypeChain (
typechain~8.1.0): Provides TypeScript bindings for Ethereum smart contracts, enhancing developer experience and type safety.OpenZeppelin Contracts (
@openzeppelin/contracts^5.0.2): Library for secure smart contract development.Hardhat plugins:
@nomicfoundation/hardhat-ethers (
~3.0.5): Integrates Hardhat and Ethers library.@nomicfoundation/hardhat-chai-matchers (
~2.0.3): Extends Chai with matchers for Ethereum smart contract testing.@nomicfoundation/hardhat-network-helpers (
~1.0.6): Provides utilities for network operations in Hardhat tests.@nomicfoundation/hardhat-verify (
~2.0.3): Automates the process of verifying smart contracts on Etherscan.hardhat-deploy (
hardhat-deploy~0.11.45): A Hardhat plugin to manage and automate the deployment of smart contracts.hardhat-deploy-ethers (
hardhat-deploy-ethers~0.4.1): Combines Hardhat-deploy and Ethers for seamless smart contract interactions.hardhat-gas-reporter (
~1.0.9): Displays gas usage per unit test and code function, aiding in optimization.
Testing and Linting:
Mocha (
@types/mocha~9.1.1), Chai (chai~4.3.6): Used for writing and running tests.ESLint (
eslint~8.26.0), Prettier (prettier~2.8.4): Ensure code quality and consistency.Solidity Coverage (
solidity-coverage~0.8.5): Measures the coverage of tests against your smart contracts.
This comprehensive stack supports the full lifecycle of smart contract development from writing, testing, deploying, and verifying, ensuring a high-quality user experience and secure blockchain interactions.
Last updated