当前位置: 代码迷 >> 综合 >> 解决”recipient.call{value : amount}(““)“问题
  详细解决方案

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

热度:93   发布时间:2023-12-21 06:16:41.0

? ? 今天,在编译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}("");
  相关解决方案