文章目录

  • 1.DAPP实现Metamask自动添加网络/切换网络:
  • 2.常用的Metamask网络列表

1.DAPP实现Metamask自动添加网络/切换网络:

实现方法调用matamask的wallet_switchEthereumChain方法

    async addNetwork() {// console.log("当前链接的节点为:", getInjectedProviderName())if (getInjectedProviderName() !== "MetaMask") {throw "This Network is Error";}let chain_info = ChainInfo[ChainId];try {await this.web3.currentProvider.request({method: 'wallet_switchEthereumChain',params: [{ chainId: this.web3.utils.numberToHex(chain_info.chainId), }],});} catch (switchError: any) {// This error code indicates that the chain has not been added to MetaMask.if (switchError.code === 4902) {await this.web3.currentProvider.request({method: 'wallet_addEthereumChain',params: [{chainId: this.web3.utils.numberToHex(chain_info.chainId),chainName: chain_info.chainParams.chainName,rpcUrls: chain_info.chainParams.rpcUrls,blockExplorerUrls: chain_info.chainParams.blockExplorerUrls,nativeCurrency: chain_info.chainParams.nativeCurrency},],});}}}

2.常用的Metamask网络列表

下面为常用的网络列表和区块浏览器地址:

 const CHAIN_DATA_LIST = {1: {chainId: 1,chain: "ETH",network: "mainnet",networkId: 1,chainParams: {chainName: "Ethereum Chain Mainnet", // 添加到钱包后显示的网络名称rpcUrls: ['https://mainnet.infura.io/v3/', // rpc地址],// iconUrls: [//     'https://testnet.hecoinfo.com/favicon.png' // 网络的图标// ],blockExplorerUrls: ['https://etherscan.io' // 网络对应的区块浏览器],nativeCurrency: {  // 网络主币的信息name: 'ETH',symbol: 'ETH',decimals: 18}}},2: {chainId: 2,chain: "EXP",network: "expanse",networkId: 1},3: {chainId: 3,chain: "ETH",network: "ropsten",networkId: 3,chainParams: {chainName: "Ethereum Chain Ropsten",rpcUrls: ['https://ropsten.infura.io/',  ],blockExplorerUrls: ['https://ropsten.etherscan.io'],nativeCurrency: {name: 'RopstenETH',symbol: 'RopstenETH',decimals: 18}}},4: {chainId: 4,chain: "ETH",network: "rinkeby",networkId: 4,chainParams: {chainName: "Ethereum Chain Rinkeby",rpcUrls: ['https://rinkeby.infura.io/v3/',],blockExplorerUrls: ['https://rinkeby.etherscan.io'],nativeCurrency: {name: 'RinkebyETH',symbol: 'RinkebyETH',decimals: 18}}},5: {chainId: 5,chain: "ETH",network: "goerli",networkId: 5,chainParams: {chainName: "Ethereum Chain Goerli",rpcUrls: ['https://goerli.infura.io/v3/',],blockExplorerUrls: ['https://goerli.etherscan.io'],nativeCurrency: {name: 'GoerliETH',symbol: 'GoerliETH',decimals: 18}}},6: {chainId: 6,chain: "ETC",network: "kotti",networkId: 6},8: {chainId: 8,chain: "UBQ",network: "ubiq",networkId: 88},9: {chainId: 9,chain: "UBQ",network: "ubiq-testnet",networkId: 2},11: {chainId: 11,chain: "META",network: "metadium",networkId: 11},12: {chainId: 12,chain: "META",network: "metadium-testnet",networkId: 12},18: {chainId: 18,chain: "TST",network: "thundercore-testnet",networkId: 18},30: {chainId: 30,chain: "RSK",network: "rsk",networkId: 30},31: {chainId: 31,chain: "RSK",network: "rsk-testnet",networkId: 31},42: {chainId: 42,chain: "ETH",network: "kovan",networkId: 42},56: {chainId: 56,chain: "BSC",network: "binance",networkId: 56,chainParams: {chainName: "Binance Smart Chain Mainnet", // 添加到钱包后显示的网络名称rpcUrls: ['https://bsc-dataseed.binance.org/', // rpc地址],blockExplorerUrls: ['https://bscscan.com' // 网络对应的区块浏览器],nativeCurrency: {  // 网络主币的信息name: 'BNB',symbol: 'BNB',decimals: 18}}},60: {chainId: 60,chain: "GO",network: "gochain",networkId: 60},61: {chainId: 61,chain: "ETC",network: "etc",networkId: 1},62: {chainId: 62,chain: "ETC",network: "etc-morden",networkId: 2},63: {chainId: 63,chain: "ETC",network: "etc-testnet",networkId: 7},64: {chainId: 64,chain: "ELLA",network: "ellaism",networkId: 64},76: {chainId: 76,chain: "MIX",network: "mix",networkId: 76},77: {chainId: 77,chain: "POA",network: "poa-sokol",networkId: 77},88: {chainId: 88,chain: "TOMO",network: "tomochain",networkId: 88},97: {chainId: 97,chain: "BSCT",network: "binance-test",networkId: 97},99: {chainId: 99,chain: "POA",network: "poa-core",networkId: 99},100: {chainId: 100,chain: "XDAI",network: "xdai",networkId: 100},101: {chainId: 101,chain: "ETI",network: "etherinc",networkId: 1},108: {chainId: 108,chain: "TT",network: "thundercore",networkId: 108},162: {chainId: 162,chain: "PHT",network: "sirius",networkId: 162},163: {chainId: 163,chain: "PHT",network: "lightstreams",networkId: 163},211: {chainId: 211,chain: "FTN",network: "freight",networkId: 0},269: {chainId: 269,chain: "HPB",network: "hpb",networkId: 100},385: {chainId: 385,chain: "CRO",network: "lisinski",networkId: 385},820: {chainId: 820,chain: "CLO",network: "callisto",networkId: 1},821: {chainId: 821,chain: "CLO",network: "callisto-testnet",networkId: 2},137: {chainId: 137,chain: "MATIC",network: "matic",networkId: 137},80001: {chainId: 80001,chain: "MUMBAI",network: "mumbai",networkId: 80001},246529: {chainId: 246529,chain: "ARTIS sigma1",network: "artis-s1",networkId: 246529},246785: {chainId: 246785,chain: "ARTIS tau1",network: "artis-t1",networkId: 246785}
};

DAPP实现Metamask自动添加网络和切换网络相关推荐

  1. Metamask添加网络和切换网络

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

  2. ip地址自动切换器_网络IP切换器IPProviders下载_IPProviders官方版下载1.1.22

    IPProviders官方版是非常强大的ip切换器助手,可以进行ip地址更换,网关和dns更改.使用方法很简单,用户只需要提前设置好ip地址,需要切换的时候就可以任意切换了,让你可以随意切换更改自己的 ...

  3. dos批处理脚本自动添加网络IP打印机-简单亲测可用

    dos批处理脚本自动添加网络IP打印机-简单亲测可用 前言: 网上找的批处理添加方法复杂且需要导入注册表. 花了一天时间研究出来的简单.快速的批处理命令. win10亲测可用. 核心代码: 1. 添加 ...

  4. js连接web3,连接小狐狸metamask钱包,实现链不对后切换网络和创建网络

    直接上代码,我这里吧所有配置都改成正式的链56,一旦用户的小狐狸钱包现在的链不一致,就询问切换网络,没有就创建网络,网络切换成功后,收到监听,重新连接一下web3,就是重新调用一些connectWeb ...

  5. 网页自动切换html css js,HTML页面自动清理js、css文件的缓存(自动添加版本号)_HTML/Xhtml_网页制作...

    这篇文章主要介绍了HTML页面自动清理js.css文件的缓存(自动添加版本号),小编觉得挺不错的,现在分享给大家HTML源码,也给大家做个参考.对HTML感兴趣的小伙伴们一起跟随小编过来看看吧 在we ...

  6. OkHttp如何移除User-Agent,Accept-Encoding等框架自动添加的请求头参数

    使用OkHttp网络框架在进行网络请求时会发现,传到后台的请求头中会比我们自己添加的参数多出几个额外参数.查看源码会发现 private Response getResponseWithInterce ...

  7. Windows2008应用之配置客户端自动添加打印机

    打印机对我们每一个人来说都是习以为常的东西了,给你一条远程打印机共享路径,你只要轻轻的双击想安装的打印机图标,等上个三五秒打印机就安装好,这台打印机就任你摆布了.但相对我们IT人员来说,全面的自动化将 ...

  8. ping 丢包 网络摄像头_利用Zabbix监控工具自动帮我们检测目标网络状况

    通过上一篇文章<IT人员必须要掌握的几个网络测试命令详解>的介绍,我们知道了可以使用"ping"命令检测到目标主机的联通性,可以使用"telnet" ...

  9. python logging详解及自动添加上下文信息

    之前写过一篇文章日志的艺术(The art of logging),提到了输出日志的时候记录上下文信息的重要性,我认为上下文信息包括: when:log事件发生的时间 where:log事件发生在哪个 ...

最新文章

  1. 新概念机房运维监控三大新理念
  2. 未来教育计算机三级课后题答案,未来教育计算机三级课后题答案
  3. 如何上手深度学习中的图像处理?有这个代码资源库就够了
  4. php教程数据库操作,PHP实现对文本数据库的常用操作方法实例演示_PHP教程
  5. Uipath 学习栏目基础教学:4Uipath 循环语句
  6. 数据结构与算法 | 用队列实现栈
  7. android多音字排序,Android拼音排序
  8. 数据挖掘之关联分析三(规则的产生)
  9. 第五周课程总结试验报告三
  10. 当你使用微信和QQ时,请不要忘记ICQ这个伟大的公司!
  11. php如何查看openssl扩展安装成功,php如何安装openssl扩展
  12. CentOS7网络配置ping通外网
  13. Delphi 的运算符列表
  14. SDUT 2218 Give Me an E(规律)
  15. 卸载干净ARCGIS不用手动删注册表,一键用GEEK
  16. TCPUDP测试工具 创建UDP通信设置教程
  17. 家庭电信网弄外网唤醒并远程内网电脑
  18. Windows密钥备份
  19. Linux系统故障分析与排查
  20. bzoj4816: [Sdoi2017]数字表格

热门文章

  1. android录音频谱动画,android频谱实现(离散傅立叶)
  2. C++贪心——纪念品分组
  3. 用于风控模型的九种数据维度(常用的金融数据)
  4. 【MySQL】当前读、快照读、MVCC
  5. MASM32 v11 汇编、连接及运行程序的方法
  6. C语言基础 初识c语言
  7. 7位专家– 7条意见:Java 13的亮点是什么?
  8. 怎样管理可以明确职责分工
  9. VSRX防火墙安装与部署
  10. 1044 火星数字 (20 分)