Web3.js:使用`call(..)`执行网络活动吗?

时间:2018-05-14 15:23:30

标签: blockchain ethereum smartcontracts web3 web3js

使用web3的[contract].[method].call(..)时,web3是否会执行网络活动来获取合约的最新状态?或者它是否始终与新块一起更新,因此不需要提取? 它取决于提供商吗?如果是这样,MetaMask的政策是什么?

1 个答案:

答案 0 :(得分:1)

该代码在您用作提供程序的节点上调用eth_call JSON-RPC方法。如果该节点位于同一台计算机上,则表示没有外部网络活动。 (这可能是通过websocket或HTTP进行的,因此它是一种网络呼叫,但没有任何东西离开计算机。)

如果您正在使用外部节点,例如Infura(默认提供程序MetaMask连接到),然后有外部网络活动将请求发送到该节点并接收响应。