Foundry 工具链分享

bixia1994 发布于 2022-03-26 阅读 5118

以太坊智能合约开发工具链

Solidity.png

//SPDX-License-Identifier: MIT

pragma solidity 0.8.12;

contract Dev {
    address public owner;
    uint256 private key;
    constructor() payable {
        owner = address(0xdeadbeef);
        key = 32;
    }
    modifier onlyOwner() {
        require(msg.sender == owner,"!owner");
        _;
    }
    function setKey(uint256 _key) public onlyOwner {
        key = _key;
    }
    function getOwner() public view returns (address) {
        return owner;
    }
    function hack(uint256 _key) public {
        require(key == _key, "Wrong key");
        payable(address(msg.sender)).transfer(address(this).balance);
    }
    receive() external payable{}
}

相关文章

6 条评论

bixia1994 回复 晓道

还是比ganache要快好多,它有缓存

2022-03-27 19:25

一直没来得及试试forge fork 功能,学到了又能比用Ganache快一秒了

2022-03-27 10:40

hardhat呢?

2022-04-16 15:51

out of date了

2022-04-17 13:45
Tee

老哥,为什么我在测试类里面new 自己的合约,然后再测试函数里面调new出来的合约的函数,trace 里面不会自动转换自己合约调用的函数签名?

2022-05-13 00:48

真的好用,嘿嘿。

2022-08-03 19:43