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 @ 2024-10-02 15:22  apeNote  阅读(2)  评论(0编辑  收藏  举报