1. web3ウォレットとは
Web3 ウォレットは、トークン、NFT、およびその他のデジタル資産を格納するために使用されるデジタル ウォレットです. 暗号化されたウォレットと Web3 ウォレットは、同じものですが、呼び方が異なります. ウォレットは個人のアイデンティティ証明書でもあり、ユーザーはウォレットを介してさまざまな web3 Web アプリケーションおよび DAPP にログインできます。ニーモニックを所有している人は誰でもこのウォレットを制御できます。
2.よく使われるweb3ホットウォレット
市場に出回っている多くのタイプのホットウォレットは、同様の機能を持っています.それらはすべて、デジタル資産を送信し、デジタル資産を受信し、個人の資格情報としてweb3 WebアプリケーションとDAPPにログインし、同時にスマートコントラクトと通信する機能を備えています.
一般的に使用されるウォレットは、MetaMask と TrustWallet です。MetaMask は、ブラウザ プラグインとして主に Web 側に存在します。TrustWallet は主にモバイル側にあります。
3. コントラクトとやり取りする際のウォレットの役割
まず、概念プロバイダーを接続する必要があります. プロバイダー (プロバイダー) は、イーサリアム ネットワークに接続するために使用される抽象クラスです. ブロックチェーン ネットワークにアクセスし、チェーン上の状態を取得するための読み取り専用フォームを提供します. ここで、ethers はデフォルトでプロバイダーを提供するため、ウォレットに接続せずにスマート コントラクトに対していくつかのクエリ操作を実行できます。例: ドメイン名の登録状況のクエリ、ドメイン名の価格のクエリなど。
ウォレットへの接続の目的は、ウォレットの RPC を取得することでもあるため、ハードコードされたローカル RPC の形式を使用して、一部のクエリ操作の正常な操作を保証できます。
私たちの Dapp の設計原則は、必要な場合を除き、接続されたウォレットの強力な検証を実行しないということです。
import { ethers } from "ethers";
// 方法1
const provider = ethers.getDefaultProvider()
// 方法2,将rpc地址替换即可
const providerRpc = new ethers.providers.JsonRpcProvider(`https://mainnet.infura.io/v3/`)
// RPC地址
{
"ethMain": {
"chainId": 1,
"netInfo": {
"chainName": "以太坊主网",
"Nodes": "https://mainnet.infura.io/v3/",
"BlockExplorerUrls": "https://etherscan.io"
},
"nativeCurrency": {
"name": "ETH",
"symbol": "ETH",
"decimals": 18
}
},
"bnbMain": {
"chainId": 56,
"netInfo": {
"chainName": "BSC MAINNET",
"Nodes": "https://bsc-dataseed.binance.org",
"BlockExplorerUrls": ""
},
"nativeCurrency": {
"name": "UNKNOWN",
"symbol": "UNKNOWN",
"decimals": 18
}
},
"ethTest": {
"chainId": 5,
"netInfo": {
"chainName": "ENS TEST",
"Nodes": "https://goerli.infura.io/v3/",
"BlockExplorerUrls": "https://etherscan.io"
},
"nativeCurrency": {
"name": "ETH",
"symbol": "ETH",
"decimals": 18
}
},
"bnbTest": {
"chainId": 97,
"netInfo": {
"chainName": "BSC TEST",
"Nodes": "https://bsc-testnet.public.blastapi.io",
"BlockExplorerUrls": ""
},
"nativeCurrency": {
"name": "tBNB",
"symbol": "tBNB",
"decimals": 18
}
},
"doMain": {
"chainId": 137,
"netInfo": {
"chainName": "BSC MAINNPolygon Mainnet",
"Nodes": "https://polygon-mainnet.infura.io",
"BlockExplorerUrls": "https://polygonscan.com/"
},
"nativeCurrency": {
"name": "MATIC",
"symbol": "MATIC",
"decimals": 18
}
}
}