介绍
tarkjs 是一个在以太坊上开发和测试 JavaScript 智能合约的工具包,提供了很多有用的函数和工具,方便我们编写和测试智能合约。
安装
我们可以通过 npm 安装 tarkjs 包:
npm install tarkjs
使用
在使用 tarkjs 之前,我们需要先配置一个 Provider。Provider 是一个 HTTP/S 源,它可以将我们的请求发送到以太坊网络。
下面是一个简单的 Provider 配置示例:
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ---- - ---------------- -- ---- -------- ----- ----------- - -------------------------------------------- ----- -------- - --- ----------------------------------------- -- -- -------- - ---- ----- ---- - --- --------------- ---------------------
编译合约
我们可以使用 tarkjs 的 compile
方法编译我们的智能合约。这个方法接受一个合约源码字符串,并返回编译后的合约对象。
下面是一个简单的编译智能合约的示例:
-- -------------------- ---- ------- ----- ---------- - - ------ -------- ------- -------- ---------- - ------ ------ -------- ------------------ ------ --------- - ------- - --------- - -------- ----------------- ------ --------- ------ - ------- - --------- - - -- ----- -------- - --------------------------- ----------------------
部署合约
我们可以使用 tarkjs 的 deploy
方法部署智能合约。这个方法接受一个编译后的合约对象和构造函数参数,并返回一个 Promise,这个 Promise 在合约部署成功后返回部署后的合约实例。
下面是一个部署智能合约的示例:
const contract = tarkjs.compile(sourceCode); const args = ["Hello, World!"]; const instance = await tarkjs.deploy(contract, args); console.log(instance.address);
调用合约
我们可以使用 tarkjs 的 call
方法调用合约的公共函数。这个方法接受一个合约实例、一个函数名称和函数参数,返回一个 Promise,在函数执行完成后返回函数的返回值。
下面是一个调用智能合约的示例:
const contract = tarkjs.compile(sourceCode); const args = ["Hello, World!"]; const instance = await tarkjs.deploy(contract, args); const result = await tarkjs.call(instance, "setMessage", "Hello, tarkjs!"); console.log(result);
总结
tarkjs 是一个非常有用的工具包,可以方便地在以太坊上进行智能合约的开发和测试。本文介绍了 tarkjs 的一些常用方法,包括编译合约、部署合约和调用合约,希望可以对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055ea981e8991b448dc137