IOTA 是一种基于 DAG (Directed Acyclic Graph) 的分布式账本技术,是物联网(IoT)领域的翘楚,而 @iota-pico/pal-nodejs 是一个专门为 IOTA 编写的 Node.js 包,提供了许多便捷的 API 和工具,方便开发者在 Node.js 环境下使用 IOTA。
本教程将介绍如何使用 @iota-pico/pal-nodejs 包进行 IOTA 的开发,包括:
- 包的安装和引入
- 生成 IOTA 钱包 Seed
- 发送 IOTA 交易
- 查询 IOTA 交易状态
1. 包的安装和引入
@iota-pico/pal-nodejs 包是通过 npm 进行管理和安装的,因此需要先在本地环境中安装 Node.js 和 npm。安装完毕后,在项目根目录下打开终端,输入如下命令进行安装:
npm install @iota-pico/pal-nodejs --save
安装成功后,在需要引用该包的文件中使用 require() 方法进行引入:
const IOTA = require('@iota-pico/pal-nodejs');
2. 生成 IOTA 钱包 Seed
IOTA 钱包中的 Seed 是用于验证 IOTA 交易的私钥,生成 Seed 的方法如下:
const seed = IOTA.utils.generateSeed(); console.log(seed);
执行上述代码会生成一个类似于以下形式的 Seed:
YJCXCGHNLQUJDGFMMOAWHGRRBAFETJUKSBDXTAVLZKMJQHEFGAPYUJUBNYGLBXPJNEQRDRSEXNRSANCPD
IOTA 的 Seed 需要注意以下两点:
- Seed 的长度为 81 个字符。
- Seed 是用于验证交易的私钥,必须妥善保管,且不要泄露给任何人。
3. 发送 IOTA 交易
发送 IOTA 交易需要先连接 IOTA 节点,可以使用 @iota-pico/pal-nodejs 提供的 getNode() 方法获取一个 IOTA 节点的实例。该方法使用一个节点的 URL 作为参数,可以在 iotanode.host 等网站上找到可用的 IOTA 节点。
const nodeUrl = 'https://nodes.comnet.thetangle.org:443'; const node = IOTA.getNode(nodeUrl);
连接节点后,使用 createTransfer() 方法创建一个 IOTA 交易对象,该方法接受两个参数:
- 需要发送的 IOTA 数量。
- 接收方的地址。
const iotas = 1; const address = 'ODHBAQUZDJGJERRNWSHELWJNNS9XHQTZGHLUTQYZUQZMEEFFQVQBVJAZFNAWPABBJTXCJMGWJMO9F' const transferObj = IOTA.createTransfer(iotas, address);
然后使用 attachToTangle() 方法将交易添加到 Tangle 中,并使用 sendTrytes() 方法发送交易。
node.attachToTangle('', transferObj.trunkTransaction, transferObj.branchTransaction, 14, transferObj.finalBundle) .then(trytes => node.sendTrytes(trytes, 3, 14)) .then(transactions => { console.log('Transaction sent!'); console.log(transactions); }) .catch(error => console.error(error));
执行上述代码后,在控制台中会输出本次交易的交易哈希值和其他信息。
4. 查询 IOTA 交易状态
查询 IOTA 交易状态需要使用 transactionObjects() 方法,该方法接受一个交易哈希作为参数,并返回一个包含该交易状态和其他相关信息的对象。
const txHash = 'LLVLNNLNUWRUWFPZJZN9ZKBBMKMVYRLWHVRGUYWKPORKMGRVSSOFEXKXEWNWVHMXKAZNJPZVQXKFJSTWZ' node.transactionObjects(txHash) .then(transactions => { console.log(transactions); }) .catch(error => console.error(error));
执行上述代码后,会输出交易状态,包括是否确认、所在的区块编号等信息。如果交易未确认,可以等待一段时间后再进行查询。
至此,@iota-pico/pal-nodejs 的使用教程就结束了。通过学习本教程,你可以学习到如何在 Node.js 环境下使用 IOTA 进行开发,并能够完成 IOTA 的发送和状态查询操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bc2967216659e24424c