介绍
daostack-arc-fork 是一个基于 Ethereum 平台的分散式自治组织(DAO)框架,它提供了一个易于使用的工具集,用于创建 DAO 并管理 DAO 的各种操作。这个 npm 包提供了一些列的 API 以便于开发者能够轻松地使用 daostack-arc-fork。
安装
可以通过使用 npm 来安装 daostack-arc-fork:
npm install daostack-arc-fork --save
如何使用
你需要在你的应用程序中导入这个包,然后创建一个 DAO 对象,如下:
var await import('daostack-arc-fork'); var dao = new Dao(<web3>, <dao address>);
在这段代码中,<web3> 是一个 web3.js 实例,<dao> 是一个 DAO 地址,这个地址通常是在部署 DAO 合约时得出的。
API
Dao.getContracts()
获取 DAO 中的所有合约。
var contracts = await dao.getContracts();
Dao.getReputationHolders()
获取 DAO 中的所有声望持有者。
var holders = await dao.getReputationHolders();
Dao.getReputation()
获取指定地址在 DAO 中的声望数量。
var reputation = await dao.getReputation(<reputation holder address>);
Dao.transferReputation()
将声望从一个地址转移到另一个地址。
await dao.transferReputation(<to address>, <reputation amount>);
Dao.setProposalDeposit()
设置投票提案所需的保证金。
await dao.setProposalDeposit(<ether amount>);
Dao.setReputationReward()
设置创建有效提案所需的声望奖励。
await dao.setReputationReward(<reputation amount>);
Dao.vote()
给指定的提案投票。
await dao.vote(<proposal id>, <vote result>, <voting power>);
Dao.createNewProposal()
创建一个新的提案并提交。
await dao.createNewProposal(<title>, <description>, <beneficiary>, <ether amount>, <transaction data>);
示例
下面是一个完整的示例,它创建了一个新的 DAO 对象,然后查询了 DAO 中所有声望持有者的数量。
-- -------------------- ---- ------- --- ----- ---------------------------- --- ---- - --- -------- ------------------------------------------------------ --- --- - --- --------- ---------------------------------------------- --- ------- - ----- --------------------------- ----------------------- ---------- ----------------
结论
daostack-arc-fork 是一个非常实用的 npm 包,用于创建和管理 DAO。使用这个包可以让开发者更加专注于 DAO 的业务逻辑,而不是与底层智能合约交互。
除了上述 API 之外,还有很多其他的 API 可以通过查看该包的文档或源代码获得。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005737b81e8991b448e96cd