@tfc-chain/core
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

@tfc-chain/core

npm version

TFC-Chain的以太坊智能合约实现。

Change Logs

配置文件

复制env.example.yml为env.yml,这是本项目的环境变量配置文件,配置TFC-Chain(以太坊)接入点和部署合约所使用的TFC-Chain(以太坊)账户私钥。关于TFC-Chain(以太坊)接入点和账户参考这里

env.yml:

endpoint: ETHEREUM_ENDPOINT
turboFilContract: DEPLOYED_CONTRACT_ADDRESS
accountPrivateKey: 
  - PRIVATE_KEY

合约部署

我们使用 hardhat 作为智能合约开发框架。部署合约的hardhat脚本可以在 tasks.tx 中找到,使用方法如下:

yarn workspace @tfc-chain/core hardhat --network development deploy --sector-reward 100000000000000000 --seed-reward 100000000000000000 --verify-reward 100000000000000000 --lock-period 90 --submit-proof-timeout 6 --verify-proof-timeout 12 --verify-threshold 3

以上脚本包含了智能合约的一些初始配置:

  • 0.1 TFC 作为sector验证通过的奖励
  • 0.1 TFC 作为seed被用作验证之后的奖励
  • 0.1 TFC 作为验证proof的奖励
  • sector奖励锁定90个周期(例如,第一次的奖励在第九十次奖励发出时解锁)
  • sector拥有者必须在sector被选中进行验证的事件发生后6个区块的时间内上传proof
  • sector验证者必须在proof上传之后12个区块内提交验证结果
  • 至少3个验证者认为验证通过/失败后,sector被认为仍然有效(发放奖励)或已经失效(扣除押金)
  1. 保存部署的合约地址:

部署完成后会在控制台打印TurboFil智能合约的地址。 将这个地址复制后更新到env.yml文件和deployment.json文件中。 @tfc-chain/core会作为一个独立的node.js包发布,提供调用合约的底层API,deployment.json文件中的合约地址会随着这个包一起发布。

测试

智能合约的单元测试使用hardhat+jest编写,源码在test文件夹中。

yarn workspace @tfc-chain/core test

合约设计

Readme

Keywords

none

Package Sidebar

Install

npm i @tfc-chain/core

Weekly Downloads

0

Version

2.0.7

License

MIT

Unpacked Size

3.01 MB

Total Files

106

Last publish

Collaborators

  • troublor