⚙️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.env
files intoprocess.env
, securing sensitive configurations.envfile (
~6.18.0
): Parses and manages.env
files 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