⚙️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 into process.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