solidity Remix hardhat console开发

使用Remix DeskTop开发

open folder

使用hardhat

npx hardhat init
调整配置hardhat.config.ts

import {HardhatUserConfig} from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

// @ts-ignore
const config: HardhatUserConfig = {
    solidity: {

        version: "0.8.28", // The version is a property *inside* the 'solidity' object
        // 👇 'settings' is also a property *inside* the 'solidity' object
        settings: {
            optimizer: {
                enabled: true,
                runs: 1000,     // Adjust runs if needed (e.g., 5000 or 10000 for size optimization)
            },
        },
    },
    networks: {
        hardhat: {
            chainId: 31337,
            allowUnlimitedContractSize: true,
        },
    }

};

export default config;

npx hardhat node

Remix DeskTops链接本地hardhat node

http://127.0.0.1:8545
ENVIRONMENT->Dev-Hardhat Provider

在合约中添加日志
  1. 导入import “hardhat/console.sol”;
  2. 方法中console.log(“mint: feeOn=%u totalSupply=%u”,feeOn,totalSupply);
  3. 在运行npx hardhat node终端下面可以看到日志信息
使用flutter 来调试合约

web3client

  static Web3Client getWeb3Client() {
    final httpClient = Client();
    var web3 = Web3Client(
      // "https://mainnet.infura.io/v3/${Constants.apiKey2}",
      // "https://sepolia.infura.io/v3/${Constants.apiKey2}",
      // "https://optimism-sepolia.infura.io/v3/${Constants.apiKey2}",
      //"https://polygon-mainnet.infura.io/v3/${Constants.apiKey2}",
       "http://127.0.0.1:8545",
      httpClient,
    );
    return web3;
  }
在智能合约项目中,生成测试文件主要是为了对合同的功能进行单元测试和集成测试,确保代码质量和正确性。对于像ElectionSeal这类合约,你需要按照以下步骤操作: 1. **创建测试文件**: - 首先,打开你的项目结构,找到对应于ElectionSeal合约的`tests`目录,如果还没有的话,需要新建一个。 - 使用Solidity特定的测试框架,如Truffle(针对Ethereum)或Remix(在线IDE的内置测试功能),创建一个新的测试文件,通常命名为`ElectionSeal_Test.sol`,它会继承自`Mocha.sol`或类似的基础测试框架。 2. **编写测试脚本**: - 在新创建的`ElectionSeal_Test.sol`里,编写测试函数,模拟各种可能的输入和场景,检查合约的预期行为是否符合预期,比如投票、验证选票等操作的结果应该是怎样的。 ```solidity pragma solidity ^0.8.0; import "hardhat/console.sol"; import "../contracts/ElectionSeal.sol"; contract ElectionSealTest is Mocha, ElectionSeal { // 测试变量和初始化 ... function testVote() public { // 编写投票的测试案例 } function testValidation() public { // 编写验证选票的测试案例 } // ...其他测试函数 // 运行所有测试 function runTests() public view override { runSpecs(); } } ``` 3. **编译与部署**: - 使用`truffle compile`命令编译整个项目,包括测试文件。 - 如果合约尚未部署,可以使用`truffle migrate`命令将测试合约部署到测试网络上。 4. **配置测试**: - 确保你的项目配置(如.truffleconfig.js)已经设置了正确的环境和测试运行选项。 5. **运行测试**: - 使用`truffle test`命令运行ElectionSeal_Test.sol中的所有测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值