解决”recipient.call{value : amount}(““)“问题

    今天,在编译Solidity智能合约时,报"ParserError: Expected ‘;’ but got ‘{’"错误,如图(1)所示。
    问题原因:.call()调用在不同的Solidity版本里,是不相同的。
    解决方法:根据Solidity版本,来更改.call()写法。

图(1) .call()报错

Solidity v0.5 以下版本

.call()写法如下:

(bool success,) = recipient.call.value(amount)("");

Solidity v0.6~v0.8版本

.call()写法如下:

(bool success,) = recipient.call{
    
    value : amount}("");

猜你喜欢

转载自blog.csdn.net/sanqima/article/details/120954252