本文将介绍如何使用 npm 包 @activeledger/activenetwork 来构建基于 Activeledger 区块链的应用程序。@activeledger/activenetwork 提供了一组 API 用来访问 Activeledger 区块链的网络,并使得在 JavaScript 应用程序中轻松构建、发布和访问基于区块链的智能合约成为可能。
安装
@activeledger/activenetwork 是一个 npm 包,因此可以使用 npm 或者 yarn 进行安装。
npm install @activeledger/activenetwork
当然,也可以使用 yarn 进行安装。
yarn add @activeledger/activenetwork
使用
@activeledger/activenetwork 提供了一个名为 ActiveNetwork 的类,用来连接 Activeledger 区块链的网络并调用相应的 API。在使用 ActiveNetwork 类之前,需要先安装并搭建 Activeledger 节点,并获得一个与该节点相匹配的 TLS 证书。
-- -------------------- ---- ------- ----- - ------------- - - --------------------------------------- ----- ------- - --- --------------- ----- ------------ ----- ----- ---- - ----- ----------------------------------------- ---- ---------------------------------------- -- --- ----- - ----- ------ - - ----- ---------------------------------- ----------------- --------
以上代码创建了一个名为 network 的 ActiveNetwork 实例,并使用 getContract 方法来获取名为 HelloWorld 的智能合约的信息。在实际应用中,需要使用自己的智能合约名字来代替 HelloWorld。
API
@activeledger/activenetwork 提供了以下 API,用来访问 Activeledger 区块链的网络。
constructor
-- -------------------- ---- ------- --- ---------------------- - ----- ------- ----- ------- ---- - ----- ------ - ------- ---- ------ - ------- -- --------- ------- --
constructor
方法用来创建一个 ActiveNetwork 实例。options
是一个包含以下属性的对象。
host
。Activeledger 节点的主机名或 IP 地址。port
。Activeledger 节点的端口号。tls
。包含证书和私钥的 TLS 对象。证书和私钥可以是一个字符串或一个 Buffer 构成的数组。timeout
。连接超时时间(可选,默认为 5 秒)。
getContract
network.getContract(name: string): Promise<{ data: Contract, status: number, }>
getContract
方法用来获取指定名字的智能合约。
getMetadata
network.getMetadata(name: string): Promise<{ data: Metadata, status: number, }>
getMetadata
方法用来获取指定名字的智能合约元数据。
getOutput
network.getOutput(name: string, outputHash: string): Promise<{ data: Output, status: number, }>
getOutput
方法用来获取指定智能合约和输出哈希的输出。
getOutputs
-- -------------------- ---- ------- ------------------------ ------- ------- - ---------- ------- ------- --------- - -------- - ------ ------ ------- ----- ------- --- --------- ----- --------- ------- ------- --
getOutputs
方法用来查询指定智能合约的所有输出。
doTx
-- -------------------- ---- ------- ------------- ----- ------- ----- ----------- ------ ------- ---------- ------- ---------- ------- -- --------- ----- ------------ ------- ------- --
doTx
方法用来在 Activeledger 区块链上执行指定的智能合约。args
是一个数组,其中包含要传递给合约方法的参数。
示例代码
以下是一个完整的示例代码,它使用 ActiveNetwork 类来连接 Activeledger 区块链的网络,并使用 doTx 方法来向名为 HelloWorld 的智能合约发送一条交易。
-- -------------------- ---- ------- ----- - ------------- - - --------------------------------------- ----- ------- - --- --------------- ----- ------------ ----- ----- ---- - ----- ----------------------------------------- ---- ---------------------------------------- -- --- ----- ---- - -- ---- ------- -------------- --- ----- -- - ----- ------------- ------------- ----- -- ------------ ------------ -- -------------------- -----------
结语
@activeledger/activenetwork 提供了一组 API 用来访问 Activeledger 区块链的网络,让开发者可以在 JavaScript 应用程序中轻松构建、发布和访问基于区块链的智能合约。我们希望这篇文章可以帮助开发者们更好地使用 @activeledger/activenetwork。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/107777