元掩码注入的window.etherum与web3.js有关系吗?我们两个都能用吗? [英] Is there some relation between window.ethereum injected by metamask and web3.js? Can we use both?

查看:16
本文介绍了元掩码注入的window.etherum与web3.js有关系吗?我们两个都能用吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在学习编写Dapp,出现了一个问题,那就是MetamaskAPI和web3.js注入的API之间的区别。据我所知,MetaMASK注入了一个拥有自己的API的对象,该对象与web3.js库无关。这样对吗?我还可以将web3.js库与MetaMASK一起使用吗?在后一种情况下,我会怎么做呢?如果有人能进一步解释这种差异,我将不胜感激。谢谢!

推荐答案

web3是一些客户端仍可能使用的旧实现,

window.ethereum是新的接口。由于某些客户端仍在使用web3,我们仍应检查它。

MetamASK将您连接到区块链。区块链由数据块组成,这些数据块存储在节点上。没有节点,您无法访问区块链数据。

MetaMASK允许通过InFura提供的基础设施连接到以太区块链(https://infura.io)。这使得用户无需在本地安装任何节点即可与区块链交互。InFura连接到 到不同环境中的不同节点,如Mainnet、Rinkeby、Ropsten等。

web3js或web3py库与元掩码Web3无关。元掩码提供web3.js库的提供程序。此提供程序告诉web3.js库我们要与哪个网络通信,然后连接到该网络中的一个节点。

获得提供程序后,您将实例化一个Web3实例:

   const web3 = new Web3(provider);

然后创建合同实例

contract = new web3.eth.Contract(
      Contract.abi,
      Contract.address
    );

现在使用contract.methods,您可以调用协定上的方法。此外,Web3js库提供了太多的实用函数,如散列、转换单位等

这篇关于元掩码注入的window.etherum与web3.js有关系吗?我们两个都能用吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆