微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ChainID Solidity 版本 0.6.12

如何解决ChainID Solidity 版本 0.6.12

我已经在许多工厂合同中看到了此代码

constructor() public {
    uint chainId;
    assembly {
        chainId := chainid
    }
    DOMAIN_SEParaTOR = keccak256(
        abi.encode(
            keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),keccak256(bytes(name)),keccak256(bytes('1')),chainId,address(this)
        )
    );
}

但是,这在我使用时有效 pragma solidity =0.5.16; 但是如果我使用 pragma solidity =0.6.12;,我会收到一个错误

ParseError: Expected '(' but got '}' } ^

我尝试执行以下操作:

constructor() public {
    uint chainId;
    assembly {
        chainId := chainid()
    }...

但是后来我在变量和函数上遇到多个错误说:

TypeError: overriding public state variable is missing string public constant name = ...

solidity 0.6.12 版本如何写流水线?

谢谢,

使用 0.5.16 版本不是一种选择,因为许多导入使用 0.6.12 并且它们将无法工作...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。