Ether
單呼叫與多呼叫
與單呼相比,多呼到底是什麼以及它的好處是什麼?什麼是多呼叫契約及其用途,我找不到任何合適的定義。
一些消息來源說多呼叫將所有呼叫合併為一個 RPC 呼叫,我不明白這樣做有什麼好處。
在某些情況下,您可能需要從區塊鏈收集同步數據。一個很好的例子是從 Uniswap 查詢代幣價格。您不希望從區塊 x 獲得一個代幣的價格,而在區塊 y 獲得另一個代幣的價格。
Multicall 在一次呼叫中將所有查詢聚合到不同的合約,因此它保證您的數據是從同一個塊中檢索的。
了解它是如何完成的很有用。這原則上解釋了它是如何在後台工作的:https ://blockheroes.dev/same-block-data-querying/
請閱讀MultiCall 自述文件。
Multicall 允許將多個智能合約常量函式呼叫分組為單個呼叫,並將結果聚合為單個結果。如果使用 Infura 等遠端節點,這減少了需要通過網路發送的單獨 JSON RPC 請求的數量,並保證所有返回的值都來自同一個塊。最新的塊號也與聚合結果一起返回。