truffle部署合约ganache测试

 

contract目录下 Storage.sol

复制代码
// SPDX-License-Identifier: GPL-3.0
 
pragma solidity >=0.8.2 <0.9.0;
 
/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 * @custom:dev-run-script ./scripts/deploy_with_ethers.ts
 */
contract SimpleStorage {

    constructor () public {

    }
    uint256 storedData;

    function set(uint256 x) public {
        require(x>10,'number can not less then 10');
        storedData = x;
    }

    function get() public view returns (uint256) {
        return storedData;
    }
}
复制代码

 

migrate目录下,1_deploy_storaga.js

const SimpleStorage = artifacts.require("SimpleStorage");

module.exports = function(deployer) {
    deployer.deploy(SimpleStorage);
};

 

test目录,storage_test.js

复制代码
const BN = require("bn.js");
module.exports = async function (callback) {
    try {
        let frac = new BN(200);
 
        let SimpleStorage = artifacts.require("SimpleStorage");
        let tokenInstance = await SimpleStorage.deployed();
 
        await tokenInstance.set(frac);
        let data = await  tokenInstance.get();

        console.log('data =' + JSON.stringify(data));

        callback()
    } catch (e) {
        callback(e);
    }
};
复制代码

 

运行

合约编译

truffle compille

 

合约迁移

truffle migrate

 

合约测试

truffle exec .\storgae_test.js

 

测试结果,获得返回结果 200 的十六进制,c8

Using network 'development'.

data ="c8"

 

posted @   apeNote  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示