首页 > 其他分享 >web3-react基本用法

web3-react基本用法

时间:2022-11-05 11:45:02浏览次数:54  
标签:const SUPPORTED 用法 react web3 injected SupportedChainId

背景:web3真会玩,除了web3js,etherjs外,又搞出来一个web3-react,看不懂原来是知识盲区。

 

唤起metamask只需要一个activate方法

const { activate } = useWeb3React();

const option = SUPPORTED_WALLETS["METAMASK"];

onClick={() => {
            activate(option.connector);
            onClose();
          }}

 

export const SUPPORTED_WALLETS: { [key: string]: WalletInfo } = {
  INJECTED: {
    connector: injected,
    name: "Injected",
    iconURL: INJECTED_ICON_URL,
    description: "Injected web3 provider.",
    href: null,
    color: "#010101",
  },
  METAMASK: {
    connector: injected,
    name: "MetaMask",
    iconURL: METAMASK_ICON_URL,
    description: "Easy-to-use browser extension.",
    href: null,
    color: "#E8831D",
  },
};


// 里面的injected
// InjectedConnector是web3-react的方法
const injected = new InjectedConnector({
  supportedChainIds: ALL_SUPPORTED_CHAIN_IDS,
});


// ALL_SUPPORTED_CHAIN_IDS怎么来的

export enum SupportedChainId {
  MAINNET = 1,
  ROPSTEN = 3,
  RINKEBY = 4,
  GOERLI = 5,
  KOVAN = 42,
  BSC = 56,
  OKC = 66,
  OKCTest = 65,
  POLYGON = 137,
  // LOCAL = 31337,
  LOCAL = 67,

  ARBITRUM_ONE = 42161,
  ARBITRUM_RINKEBY = 421611,
  OPTIMISM = 10,
  OPTIMISTIC_KOVAN = 69,
}

export const ALL_SUPPORTED_CHAIN_IDS: SupportedChainId[] = [
  SupportedChainId.MAINNET,
  SupportedChainId.ROPSTEN,
  SupportedChainId.RINKEBY,
  SupportedChainId.GOERLI,
  SupportedChainId.KOVAN,

  SupportedChainId.ARBITRUM_ONE,
  SupportedChainId.ARBITRUM_RINKEBY,
  SupportedChainId.OPTIMISM,
  SupportedChainId.OPTIMISTIC_KOVAN,
  SupportedChainId.BSC,
  SupportedChainId.OKC,
  SupportedChainId.OKCTest,
  SupportedChainId.LOCAL,
  SupportedChainId.POLYGON,
];

 

原始语法其实更容易看懂

import { InjectedConnector } from '@web3-react/injected-connector'
export const injected = new InjectedConnector({
  supportedChainIds: [1, 3, 4, 5, 42],
})

 

标签:const,SUPPORTED,用法,react,web3,injected,SupportedChainId
From: https://www.cnblogs.com/zccst/p/16859886.html

相关文章

  • etherjs基本用法
    前言:直到2022.11.5才知道etherjs真正的用法,之前只用过web3.js,原来两个库是并行的,选择一个就好。 连接etherjs需要的几要素:infra_keyprivate_keyrpc_url 连接合约......
  • 2、文件操作open,with用法
    """程序的运行是需要消耗内存的内存是软件运行时存储数据的一个地方RAM内存的作用是给CPU的进行任务调度提供资源内存和硬盘是不一样的编码与传输UTF-8程序......
  • 1、python基础用法
    """1.字符串的基础用法str.strip()#去除头尾空格str.split()#以空格为分隔符,包含/nstr.split('',1)#以空格为分隔符,分割一次str.replace(str1,str2,n......
  • string 类的用法
    访问字符串中的元素string字符串也可以像C风格的字符串一样按照下标来访问其中的每一个字符。string字符串的起始下标仍是从0开始。请看下面的代码:intmain(){s......
  • react组件传值
    1.父传子1.1父组件准备数据,父组件通过属性age直接传递给子组件父importReact,{useState}from'react'importChildsfrom'./Childs'exportdefaultfunctio......
  • 前端框架学习react还是vue?
    究竟如何正确使用?作为小白的我们从何学起比较好?带着一系列问题来看看吧。这篇主要介绍:1、从出身背景、优势、缺点、适合场景、开发模式、实践情况进行对比2、相似之处......
  • JS-ClassList and ClassName的用法
    ClassList:1.ClassList属性有以下几种方法:(1)通过ClassList可以获取元素的全部类名;(2)通过ClassList.remove()可以删除元素的一个或多个类名;(3)通过ClassList.add()......
  • React Markdown Documentation Generator All In One
    ReactMarkdownDocumentationGeneratorAllInOneSSGhttps://github.com/topics/static-site-generatornext.jshttps://github.com/vercel/next.jsgatsbyhttps:......
  • react生命周期(详细版)
    首先生命周期分为三个阶段:挂载:已经插入真实dom渲染(更新):正在被重新渲染卸载:已经移出真实dom一、挂载:在组件实例被创建并插入到dom中时,生命周期调用顺序......
  • Linux下grep讲解及用法示例
    关于正则表达式的讲解请看博文:​这里写链接内容​​简介grep(缩写来自GloballysearchaRegularExpressionandPrint)是一种强大的文本搜索工具,它能使用特定模式匹配(包括......