在以太坊开发中,经常需要查询区块链交易、合约等信息。而 Etherscan 是一个提供以太坊区块链浏览器服务的网站,它提供了大量的以太坊相关数据,并且还提供了以太坊 API,供开发者使用。npm 包 @seangob/etherscan 就是一个使用 Etherscan API 的包,本文将介绍如何使用它。
安装和配置
首先,我们需要安装该包。在命令行中输入以下代码即可:
npm install @seangob/etherscan
安装完成后,我们需要在代码中使用自己的 Etherscan API key。如果您没有 Etherscan API key,您可以通过 Etherscan 网站注册并获得。
在代码中引入 @seangob/etherscan 包,并使用 setApiKey 方法设置 apiKey。示例代码如下:
const etherscan = require('@seangob/etherscan'); etherscan.setApiKey('YourApiKey');
查询区块链信息
@seangob/etherscan 提供了很多方法用于查询区块链信息,包括请求余额、查询块信息、检查交易状态等等。
请求余额
使用 getBalance 方法可以请求一个地址的余额,代码如下:
const etherscan = require('@seangob/etherscan'); etherscan.setApiKey('YourApiKey'); etherscan.getBalance('0x742d35Cc6634C0532925a3b844Bc454e4438f44e', 'latest') .then(result => console.log(result)) .catch(error => console.error(error));
该方法接受两个参数:address 和 tag。address 为需要查询余额的地址,tag 为区块的高度或者 "latest"。该方法返回一个 Promise,resolve 时返回查询结果的字符串表示,reject 时返回错误信息。
查询块信息
使用 getBlockByNumber 方法可以请求指定高度的块信息,代码如下:
const etherscan = require('@seangob/etherscan'); etherscan.setApiKey('YourApiKey'); etherscan.getBlockByNumber('9292887') .then(result => console.log(result)) .catch(error => console.error(error));
该方法接受一个参数:tag,为需要查询的块高度或者 "latest"。该方法返回一个 Promise,resolve 时返回查询结果的对象表示,reject 时返回错误信息。
检查交易状态
使用 getTransactionReceipt 来检查交易状态,代码如下:
const etherscan = require('@seangob/etherscan'); etherscan.setApiKey('YourApiKey'); etherscan.getTransactionReceipt('0xed1ee68e58bc5695f5d668abf38ac94af4dc4e3a03dd5dbb2e67456a5a5a5c5b') .then(result => console.log(result)) .catch(error => console.error(error));
该方法接受一个参数:hash,为需要查询的交易哈希。该方法返回一个 Promise,resolve 时返回查询结果的对象表示,reject 时返回错误信息。
其他功能
@seangob/etherscan 还提供了其他一些功能,包括发起转账,查询代币余额等等。详细内容请访问 GitHub 中的文档。
总结
@seangob/etherscan 提供了一个便捷的方式来使用 Etherscan 的区块链 API。我们可以使用它查询区块链信息,发起转账等等,在以太坊开发中非常有用。最后建议一定要保护好自己的 API key,不要泄露给他人。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056fd381e8991b448e7bb1