当前位置: 首页 > news >正文

海口专业网站制作策划南昌网站开发公司

海口专业网站制作策划,南昌网站开发公司,网站网页框架构架图怎么做,wordpress jitpecj插件ethers官方文档:Documentation 1、ethers简介: ethers.js是一个完整而紧凑的开源库,用于与以太坊区块链及其生态系统进行交互。如果你要写Dapp的前端,你就需要用到ethers.js。 与更早出现的web3.js相比,它有以下优点…

ethers官方文档:Documentation

1、ethers简介:

ethers.js是一个完整而紧凑的开源库,用于与以太坊区块链及其生态系统进行交互。如果你要写Dapp的前端,你就需要用到ethers.js

与更早出现的web3.js相比,它有以下优点:

  1. 代码更加紧凑:ethers.js大小为116.5 kB,而web3.js为590.6 kB。
  2. 更加安全:Web3.js认为用户会在本地部署以太坊节点,私钥和网络连接状态由这个节点管理(实际并不是这样);ethers.js中,Provider提供器类管理网络连接状态,Wallet钱包类管理密钥,安全且灵活。
  3. 原生支持ENS

ethers.js连接Dapp前端和区块链

2、开发工具

我选择使用本地vscode进行开发。

3、安装和使用ethers

需要安装Node.js,然后利用包管理工具npm安装ethers库:

npm install --save ethers
//我选择安装指定版本
npm install ethers@5.6.9

 示例代码:

import { ethers } from "ethers";
const provider = ethers.getDefaultProvider();
const main = async () => {const balance = await provider.getBalance(`vitalik.eth`);console.log(`ETH Balance of vitalik: ${ethers.utils.formatEther(balance)} ETH`);
}
main()

逐行分析这个程序:

1. 导入ethers

import { ethers } from "ethers";

2. 连接以太坊

 在ethers中,Provider类是一个为以太坊网络连接提供抽象的类,它提供对区块链及其状态的只读访问。我们声明一个provider用于连接以太坊网络。ethers内置了一些公用rpc,方便用户连接以太坊:

const provider = ethers.getDefaultProvider();

注意:ethers内置的rpc访问速度有限制,仅测试用,生产环境还是要申请个人rpc

3. 声明async函数

由于和区块链交互不是实时的我们需要用到js的async/await语法糖。每次和链交互的调用需要用到await,再把这些这些用async函数包裹起来,最后再调用这个函数。

const main = async () => {//...
}
main()

 4. 获取v神地址的ETH余额

我们可以利用Provider类的getBalance()函数来查询某个地址的ETH余额。由于ethers原生支持ENS域名,我们不需要知道具体地址,用ENS域名vitalik.eth就可以查询到以太坊创始人豚林-vitalik的余额。

const balance = await provider.getBalance(`vitalik.eth`);

 5. 转换单位后在console中输出

我们从链上获取的以太坊余额以wei为单位,而1 ETH = 10^18 wei。我们打印在console之前,需要进行单位转换。ethers提供了功能函数formatEther,我们可以利用它将wei转换为ETH

    console.log(`ETH Balance of vitalik: ${ethers.utils.formatEther(balance)} ETH`);

 6、在vscode控制台输出

node 01_HelloVitalik/HelloVitalik.js

这样,就能在控制台中看到v神的ETH余额了:1951 ETH

踩坑记录:

运行后报错

Error: Cannot find module 'D:\voting\ethers-learn\ethers-learn\hello.js'      at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)     at Module._load (node:internal/modules/cjs/loader:885:27)at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)at node:internal/main/run_main_module:23:47 {code: 'MODULE_NOT_FOUND',requireStack: []
}Node.js v18.13.0

把import { ethers } from "ethers"替换为:

const ethers = require("ethers");

http://www.tj-hxxt.cn/news/96494.html

相关文章:

  • 重庆哪里有做淘宝网站推广的北京建站
  • 做下载网站用阿里云的什么产品今日实时热搜
  • 衢州做网站的公司公司网站如何推广
  • 网站介绍ppt怎么做论坛企业推广
  • 衡水做网站建设如何自己建设网站
  • 成都科技网站建设哪里有seo推广软件
  • 网页制作与设计的内容南昌seo服务
  • 有没有专门做家纺的网站东莞网站建设推广
  • 中国酒店设计网网页优化公司
  • 网站建设自身优势的分析百度优化排名软件
  • 做网站的的人收入多少钱seo优化网络公司
  • 红酒网站定位自己做网站网页归档
  • 陌陌引流推广软件网站搜索引擎优化方案
  • 温州如何进行网站推广seo赚钱
  • 企业手机网站建设信息网络推广的常用方法
  • 旅游网站开发目的北京seo公司助力网络营销
  • 网站项目评价长沙seo公司排名
  • 用什么做flash游戏下载网站免费引流app下载
  • 陕西咸阳网站建设互联网媒体推广
  • 网站备案授权书软文广告300字范文
  • 做旅行网站好百度快照怎么用
  • 郑州网站建设搭建公司今日油价92汽油价格调整最新消息
  • 建设人力资源网站目标厦门seo哪家强
  • 网站建设年终总结郴州网络推广公司排名
  • 做投资理财网站长春关键词优化报价
  • 前端做网站需要的技能优化网站内容的方法
  • 绵阳 网站建设天津百度推广网络科技公司
  • 企业做网站需要什么软件优化设计数学
  • 旅游网站做模板素材个人网站设计图片
  • 有域名怎么免费建站最新重大新闻