@joincivil/ethapi
是一个基于 Node.js 的 npm 包,用于与以太坊区块链互动。它提供了一套简明的 API,方便前端开发者进行对区块链的访问和交互。
安装
使用 npm 包管理器进行安装:
npm install @joincivil/ethapi
如何使用
首先,我们需要引入包并初始化,如下:
const EthApi = require('@joincivil/ethapi'); const ethApi = new EthApi({ ethereumNodeUrl: 'https://mainnet.infura.io' });
初始化时,我们需要传入以太坊节点的 URL,可以使用如 infura.io 等托管服务。在这个例子中,我们使用的是以太坊的主网。
接下来,我们就可以开始使用 ethApi 对象进行与以太坊区块链的交互了。例如,我们可以通过调用 getBlockInfo()
方法来获取块的信息:
ethApi.getBlockInfo(1000000).then((blockInfo) => { console.log(blockInfo); }).catch((error) => { console.log(error); });
这里的 getBlockInfo()
方法接收一个块的高度或哈希值作为参数,返回一个 Promise
,当有返回值时就使用 .then()
方法进行处理。
API
以下是该包提供的 API 列表:
getBlockInfo()
getBlockInfo()
方法用于获取块的信息。它接收一个块的高度或哈希值作为参数,并返回一个包含块信息的对象。
ethApi.getBlockInfo(1000000).then((blockInfo) => { console.log(blockInfo); }).catch((error) => { console.log(error); });
getTxInfo()
getTxInfo()
方法用于获取交易的信息。它接收一个交易的哈希值作为参数,并返回一个包含交易信息的对象。
ethApi.getTxInfo(txHash).then((txInfo) => { console.log(txInfo); }).catch((error) => { console.log(error); });
getAddressInfo()
getAddressInfo()
方法用于获取地址(账户)的信息。它接收一个地址作为参数,并返回一个包含地址信息的对象。
ethApi.getAddressInfo(address).then((addressInfo) => { console.log(addressInfo); }).catch((error) => { console.log(error); });
sendRawTransaction()
sendRawTransaction()
方法用于将交易信息发送到以太坊区块链。它接收一个 Buffer
类型的原始交易数据作为参数,并返回一个包含交易哈希值的 Promise
。
const signedTx = '...' // 交易原始数据 const bufferTx = Buffer.from(signedTx, 'hex'); ethApi.sendRawTransaction(bufferTx).then((txHash) => { console.log(txHash); }).catch((error) => { console.log(error); });
示例代码
以下是一个完整的使用示例:
-- -------------------- ---- ------- ----- ------ - ----------------------------- ----- ------ - --- -------- ---------------- --------------------------- --- --------------------------------------------- -- - ----------------------- ---------------- -- - ------------------- --- -------------------------------------- -- - -------------------- ---------------- -- - ------------------- --- ------------------------------------------------- -- - ------------------------- ---------------- -- - ------------------- --- ----- -------- - ----- -- ------ ----- -------- - --------------------- ------- ------------------------------------------------- -- - -------------------- ---------------- -- - ------------------- ---
总结
使用 @joincivil/ethapi
npm 包,前端开发者可以轻松地访问和交互以太坊区块链。本文介绍了如何安装和使用该包,并提供了包含完整 API 和示例代码的教程。希望这篇文章可以对您有帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/joincivil-ethapi