马蹄链(matic)智能合约系统开发

Ethers.js与Web3.js一样,都是以太坊标准JavaScript API库,Ethers.js最初是为了ethers.io设计,系统开发对接详情+牛客号V后来拓展为一个开放的JS API库,与Web3.js相同的是,Ethers.js同样可以与Moonbeam进行正常交互,这得益于Moonbeam是一个完全兼容以太坊EVM的智能合约平台;而与Web3.js不同的是,Ethers.js在使用时不需要过多的回调函数,而且可以搭配Hardhat工具是的语法得到进一步的优化

Ethers.js(Hardhat)的安装与常用API介绍

Ethers.js(Hardhat)的安装

Ethers.js的安装分为两种,一种为直接使用命令行安装,另一种为通过Hardhat间接安装(配合Hardhat使用),推荐第二种通过Hardhat的方式使用Ethers.js(安装Hardhat时通过hardhat-ethers插件安装经过包装后的Ethers.js)

安装步骤如下:

// command line

npm install --save ethers

// install Hardhat

npm init

npm install --save-dev hardhat

npx hardhat

常用API介绍

Ethers.js库中的API主要由4大部分组成:Providers,Signers,Contract Interaction,Utilities

1. Provider

Provider是以太坊网络连接的抽象,其为标准以太坊节点功能提供简洁、一致的接口

在Provider中比较常用的方法为JsonRpcProvider,该方法允许通过JSON-RPC的方式连接某一个节点网络

// new ethers.providers.JsonRpcProvider([urlOrConnectionInfo[, networkish]])

const provider = new ethers.providers.JsonRpcProvider(

'https://rpc.api.moonbase.moonbeam.network',

{

chainId: 1287,

name: 'moonbase-alpha'

}

);

在上面的代码示例中,通过JsonRpcProvider的方式,连接到了Moonbase Alpha测试网中,在其中不止可以定义url参数,还可以定义该网络的chainId与name等信息

2. Signers

Signer是以太坊账户的抽象,可用于对消息和交易进行签名,并将签名过的交易发送到以太坊网络以执行状态更改操作

在Signer中比较常用的方法为Wallet,只有Wallet可以使用私钥对交易和信息进行签名

// new ethers.Wallet(privateKey[, provider])

const alice = new ethers.Wallet(privateKeyAlice, provider);

const bob = new ethers.Wallet(privateKeyBob, provider);

const txReceipt = await alice.sendTransaction({

to: bob.address,

value: ethers.utils.parseEther('1.0')

});

await txReceipt.wait();

全部评论

相关推荐

09-12 11:55
已编辑
湖南工商大学 Java
那一天的Java_J...:这种一堆问题的,别去
点赞 评论 收藏
分享
码农索隆:邮件那么小的内存,把邮箱都干满了
点赞 评论 收藏
分享
2025年10月3日中午,在写完定时一年后发给自己的信之后,敲下键盘,写下这篇文字。我把标题的“所有人”加了引号,因为如我们所见,确实有的人顺风顺水,每天过的很开心,或是早早进入大厂,或是年纪轻轻就拿到了高薪offer,或是过着可能我努力十年也不一定实现的生活。但也许,不是每个人的痛苦都能被别人看到的,这个月我经常会哭,被骗6000块钱、手上钱不够导致拖欠房租、生活还要借朋友钱、国庆长假也没有钱去旅游,互联网公司不稳定担心试用期不过(毕竟上段实习就是被裁了,一有点风吹草动就害怕),但这样的我,不是所有人都知道的,居然是有些朋友的羡慕对象。回忆我的七年“长跑”别人都是多年幸福的恋爱长跑,我没有恋...
故事和酒66:让每一颗种子找到合适自己的生长方式,最终绽放出独一无二的花朵,这远比所有人都被迫长成同一棵“参天大树”的世界,更加美好和富有生机。这是社会和环境的问题,而不是我们的问题。然而就是在这样的环境中,楼主依然能突破自我,逆势成长,其中的艰辛可想而知。这一路的苦难终究会化作你成长的养料
你小时候最想从事什么职业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务