Metamask添加网络和切换网络

在Dapp中,自动给用户Metamask添加一个网络(比如Heco主网或Heco测试网),程序主动切换用户Metamask的网络为指定网络(比如Heco主网)

Metamask新增了一个AddEthereumChainParameter 的api,可以自动给用户Metamask添加一个网络,并把当前页面连接到这个网络。

执行这个api时,如果用户的Metamask还没有添加参数指定的网络,则Metamask会弹出一个提示框,提示用户当前页面要给Metamask添加一个网络,并显示要添加网络的信息。如果用户点确定,Metamask就会添加这个网络到用户的钱包。


如果用户的Metamask已经添加了参数指定的网络,但是当前钱包连接的网络不是这个网络,则Metamask会弹出一个提示框,提示用户当前页面要把Metamask的网络切换到指定网络,如果用户点确定,Metamask当前连接的网络就会切换到指定网络。

以上判断Metamask是否添加了指定网络,是根据参数中的ChainID来判断,网络id一样就认为是同一个网络。

如果执行时Metamask已经添加了指定网络,当前也正好连接的是这个网络,则什么也不会执行,不会有任何提示。

在官方文档中,说这个api必须由用户主动操作来触发(点某个按钮),但是实测并不需要,在页面加载时,程序自动执行这个api也是可以的。所以可以在应用初始化的地方,固定执行这个api,这样当用户没有添加网络时,会自动添加;用户没有连接到网络时,会自动连接;用户已连接网络时,什么也不会做。</

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值