官方文档|网络角色之索引人3:与网络的交互

作为索引人参与网络的第一步是批准协议、质押资金,以及(可选)设置一个操作员地址以进行日常协议交互。

官方文档|网络角色之索引人3:与网络的交互

发布时间:2021.02.12

原文作者:The Graph
翻译:The Graph 社区成员
原文出处:https://thegraph.com/docs/network#interacting-with-the-network
翻译出处:https://mp.weixin.qq.com/s/0RN-nBfQOJFRRBEcXKtt4g


在协议中进行质押

作为索引人参与网络的第一步是批准协议、质押资金,以及(可选)设置一个操作员地址以进行日常协议交互。注意:在这些说明中,Remix将用于合约交互,但请随意使用您选择的工具(OneClickDappABItopicMyCrypto是其他一些已知的工具)

一旦索引人在协议中质押了GRT,索引人组件就可以被启动并开始与网络进行交互。

  1. 在浏览器中打开Remix应用
  2. 在File Explorer中创建一个名为Staking.abi的文件,其中包含staking ABI。
  3. 选择Staking.abi并在编辑器中打开,切换到Remix界面的Deploy and Run Transactions事务部分。
  4. 在环境下选择Injected Web3,在Account下选择你的索引人地址。
  5. 调用approveProtocol()来批准协议合约,以便从钱包中提取代币(或代币锁合约)。
  6. 调用stake()在协议中对GRT进行质押。
  7. (可选)索引人可以批准另一个地址作为其索引人基础设施的操作者,以便将控制资金的密钥与执行日常操作的密钥分开,如在子图上分配和服务(付费)查询。为了设置操作员,用操作员地址调用setOperator()。
  8. (可选)为了控制奖励的分配和战略性地吸引委托人索引人可以通过更新他们的indexingRewardCut(索引奖励分成)、queryFeeCut(查询费分成)和cooldownBlocks(参数冷却时间)来更新他们的委托参数。为此,需要调用setDelegationParameters()。下面的例子设置queryFeeCut将95%的查询返利分配给索引人,5%分配给委托人,设置indexingRewardCut将60%的索引奖励分配给索引人,40%分配给委托人,设置cooldownBlocks周期为500块。

setDelegationParameters(950000, 600000, 500)

分配的生命周期

被索引人创建后,一个健康的配置会经历四种状态。

  • Active 活跃
    一旦在链上创建分配( allocateFrom()),它就被认为是活跃的。索引人自身和/或被委托的一部分权益被分配给子图部署,这使得他们可以要求索引奖励并为该子图部署提供查询。索引人代理根据索引人规则管理创建分配。
  • Closed 关闭
    索引人可以在1个纪元过去后自由关闭一个分配(closeAllocation()),或者他们的索引人代理将在maxAllocationEpochs(当前为28天)之后自动关闭该分配。当一个分配以有效的索引证明(POI)关闭时,他们的索引奖励将被分配给索引人及其委托人(参见下面的"奖励是如何分配的?"以了解更多)。
  • Finalized 完成
    一旦一个分配被关闭,就会有一个争议期,之后该分配被认为是最终确定的,它的查询费返利可以被申领(claim())。索引代理监控网络以检测最终完成的分配,如果它们高于一个可配置的(可选择的)阈值,—-allocation-claim-threshold,则对它们进行申领。
  • Claimed 申领
    分配的最终状态;它已经完成了作为活跃分配的过程,所有符合条件的奖励已经分配完毕,其查询费返利也已申领。