如果我能理解的话,有效载荷和呼叫数据是一回事?基本上是被调用的函数的字节表示。我听说这对于在一次调用中调用多个函数很有用。
假设我有一个简单的函数,我想多次调用
function getReserves(address factory, address tokenA, address tokenB) internal view returns (uint reserveA, uint reserveB);
我的理解是,我可以神奇地将这个函数编码成一个有效负载(或者调用数据?)然后把这个寄给我的合同
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;
}
}我可以使用这个而不是使用多个调用聚合调用,或者有区别吗?此外,我如何将目标契约地址和功能编码为有效载荷?使用醚或任何其他方法
此外,此有效载荷是否需要由私钥签名?
对不起,如果这些是复制的,但是我看到的大多数线程对我来说太技术性了,我希望对虚拟人做一个更基本的解释:')
发布于 2022-04-28 03:34:40
从技术上讲,它们是不同的东西:
简单地说,calldata是容器,而有效负载是容器中的内容。
https://ethereum.stackexchange.com/questions/127048
复制相似问题