前言
@kleros/archon 是一款由 Kleros 团队开发的 Web3.js 的拓展包,支持以智能合约方式发送交易、获取合约状态和数据等功能,同时支持针对不同合约实例化多个 Web3 实例。本文将详细介绍 @kleros/archon 的使用方法,并为初学者提供指导意义。
安装
使用 npm 安装 @kleros/archon:
npm install --save @kleros/archon
使用
以下是 @kleros/archon 的一些常用功能和使用方法。
实例化
实例化一个 Web3 对象:
const { Web3 } = require('@kleros/archon'); const web3 = new Web3('http://localhost:8545'); // 传入你的以太坊节点 url
指定 web3-providers 的类型:
const Web3 = require('web3'); const { WSProvider } = require('@kleros/archon'); const wsProvider = new WSProvider('wss://kovan.infura.io/ws'); const web3 = new Web3(wsProvider);
发送交易
调用以太坊合约里的特定函数:
-- -------------------- ---- ------- ----- - -------- - - -------------------------- ----- --- - ------------------------------------------- ----- --------------- - -------------------- ----- ---------- - --- ------------- ----------------- ----------------------------------- -------------- ----- ---------- ---- ------- ------ ---------------- ---展开代码
该方法会将交易发送给以太坊网络,并返回交易的哈希值。
获取合约状态和数据
调用合约里的 getter 方法:
const { Contract } = require('@kleros/archon'); const abi = require('./contracts/MyContract.json').abi; const contractAddress = '0x123456789abcdef'; const myContract = new Contract(abi, contractAddress); myContract.methods.myMethod(param1, param2).call();
返回该合约方法的返回值。
事件监听
监听合约事件:
-- -------------------- ---- ------- ----- - -------- - - -------------------------- ----- --- - ------------------------------------------- ----- --------------- - -------------------- ----- ---------- - --- ------------- ----------------- --------------------------- ---------- -- -------- --------- -- ------- ------ -- - ------------------- ---展开代码
可在回调函数中获取到触发的事件及其参数。
结语
@kleros/archon 是一款功能强大的 Web3.js 扩展库,可以帮助我们更加便捷地与以太坊网络进行交互。希望本文能对初学者们有所帮助,也欢迎大家在实践中探究更多的使用方式!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/83515