首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个调用的Calldata和Payload

多个调用的Calldata和Payload
EN

Ethereum用户
提问于 2022-04-27 19:18:47
回答 1查看 188关注 0票数 0

如果我能理解的话,有效载荷和呼叫数据是一回事?基本上是被调用的函数的字节表示。我听说这对于在一次调用中调用多个函数很有用。

假设我有一个简单的函数,我想多次调用

function getReserves(address factory, address tokenA, address tokenB) internal view returns (uint reserveA, uint reserveB);

我的理解是,我可以神奇地将这个函数编码成一个有效负载(或者调用数据?)然后把这个寄给我的合同

代码语言:javascript
复制
function callPayloads(address target, bytes[] memory _payloads) external view returns (uint256[2][] memory) {

for (uint256 i = 0; i < _payloads.length; i++) {
      (bool _success, bytes memory _response) = targets.call(_payloads[i]); 
            require(_success); _response;                                              
      }

}

我可以使用这个而不是使用多个调用聚合调用,或者有区别吗?此外,我如何将目标契约地址和功能编码为有效载荷?使用醚或任何其他方法

此外,此有效载荷是否需要由私钥签名?

对不起,如果这些是复制的,但是我看到的大多数线程对我来说太技术性了,我希望对虚拟人做一个更基本的解释:')

EN

回答 1

Ethereum用户

发布于 2022-04-28 03:34:40

从技术上讲,它们是不同的东西:

  • calldata是存储契约输入的内存区域。
  • 有效载荷是将发送到另一个合同的数据。

简单地说,calldata是容器,而有效负载是容器中的内容。

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/127048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档