Def*_*irl 4 web3js hedera-hashgraph ethers.js hedera
\xe2\x80\x8b\n我想使用 web3.js 或 ethers.js 与 Hedera 测试网进行交互。我该如何执行此操作?\n\xe2\x80\x8b\n我之前曾使用 与 Hedera Testnet 进行过交互hedera-sdk-js,\n例如使用以下代码:\n\xe2\x80\x8b
import {\n AccountBalanceQuery, \n Client\n} from "@hashgraph/sdk";\n\xe2\x80\x8b\nconst client = new Client({\n network: "testnet"\n});\n\xe2\x80\x8b\nconst accountId = \'0.0.3996280\';\nconst balance = await new AccountBalanceQuery()\n .setAccountId(accountId)\n .execute(client);\n \nconsole.log(\n `Balance of ${accountId} in Tinybars:`,\n balance.hbars.toTinybars().toString(10)\n);\n\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\x8b\n如何在 web3.js/ ethers.js 中执行与上述相同的操作?
\n(1)\n首先,获取 RPC 端点 URL,\n详细信息请参阅如何通过 RPC 连接到 Hedera Testnet?。
\n一旦你明白了,替换${RPC_URL}值后,请用该值替换下面的代码示例。
(2)\n安装viem:\n\xe2\x80\x8b
\nnpm install viem\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\x8b(3) 然后定义一个viem.Chain为 Hedera Testnet 定义一个实例:
import { defineChain } from \'viem\';\n\nconst hederaTestnetChain = defineChain({\n id: 0x128,\n name: \'HederaTestnet\',\n nativeCurrency: {\n symbol: \'\xe2\x84\x8f\',\n name: \'HBAR\',\n decimals: 18,\n },\n rpcUrls: {\n default: {\n http: [\'${RPC_URL}\'],\n },\n },\n blockExplorers: {\n default: {\n name: \'Hashscan\',\n url: \'https://hashscan.io/testnet\'\n },\n },\n contracts: {},\n});\nRun Code Online (Sandbox Code Playgroud)\n(4)\n然后使用以下脚本建立到 RPC 端点的连接,\n使用viem.createPublicClient,\n和查询eth_blockNumber并使用它进行查询:
import { createPublicClient, http } from \'viem\';\n\nconst web3Client = createPublicClient({\n chain: hederaTestnetChain,\n transport: http(),\n});\n\nconst blockNumber = await web3Client.getBlockNumber();\n console.log(\'block number\', blockNumber);\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |