设置Oracle DAO节点

至少,标准的Rocket Pool节点运行以下内容:

  • Smartnode CLI
  • Smartnode API守护进程
  • Smartnode node守护进程
  • Smartnode watchtower守护进程

可选地,节点还可以运行以下组件:

  • 执行客户端
  • 信标节点
  • 验证者客户端
  • MEV-Boost
  • Prometheus
  • Prometheus Node Exporter
  • Grafana

这些组件中的每一个都可以在标准设置中作为Docker容器运行,在"原生模式"设置中作为systemd服务运行,或作为Smartnode可以通过其各自的API路由连接的外部管理的实体运行。

方便的是,Oracle DAO节点与普通Rocket Pool节点相同,但watchtower守护进程执行补充的Oracle DAO职责,并且出于性能监控目的收集更多Prometheus指标。

初始节点设置

最好的开始方式是遵循普通Rocket Pool节点的标准设置说明。 该过程将帮助您确定您希望如何配置和运行您的节点。

如果您想在节点上运行minipool(验证者),请从头到尾遵循正常的节点文档,完成后返回这里。

如果您打算运行minipool,而是将其纯粹用于Oracle DAO职责,您可以跳过所有与质押RPL和minipool创建相关的步骤。 其他步骤,如节点注册、建立良好的安全态势、监控节点的健康和性能以及在更新后更新Smartnode,仍然适用于您,您应该在继续之前仔细查看它们。 完成后返回这里。

额外的Oracle DAO配置

您需要配置两个额外的设置,以满足您的Oracle DAO职责。 请从下面的选项卡中选择您用于配置节点的模式。

(service config) 交互式UI
(service config) 无头模式
直接配置文件

打开rocketpool service config TUI并转到Smartnode and TX Fees部分。 在这里,您将在底部看到两个选项:

Archive-Mode EC URL必须是您的归档执行客户端的RPC API的HTTP端点。 请注意,如果您已经在外部管理模式下将您的归档EC用作主要客户端,则可以忽略此设置。

Oracle DAO Smartnode命令

Smartnode CLI的odao命令组用于与链上的Oracle DAO合约和职责进行交互:

NAME:
   rocketpool odao - Manage the Rocket Pool oracle DAO

USAGE:
   rocketpool odao command [command options] [arguments...]

COMMANDS:
   status, s             Get oracle DAO status
   members, m            Get the oracle DAO members
   member-settings, b    Get the oracle DAO settings related to oracle DAO members
   proposal-settings, a  Get the oracle DAO settings related to oracle DAO proposals
   minipool-settings, i  Get the oracle DAO settings related to minipools
   propose, p            Make an oracle DAO proposal
   proposals, o          Manage oracle DAO proposals
   join, j               Join the oracle DAO (requires an executed invite proposal)
   leave, l              Leave the oracle DAO (requires an executed leave proposal)

OPTIONS:
   --help, -h  show help

status

status命令简单地总结了有关Oracle DAO的一些详细信息,如成员数量和提案数量:

The node is a member of the oracle DAO - it can create unbonded minipools, vote on DAO proposals and perform watchtower duties.

There are currently 8 member(s) in the oracle DAO.

There are 29 oracle DAO proposal(s) in total:
- 22 proposal(s) have passed and been executed
- 7 proposal(s) were cancelled, defeated, or have expired

members

members命令打印有关Oracle DAO每个成员的详细信息,包括他们的句柄、联系信息、节点地址、RPL保证金以及他们上次提交投票提案的时间:

The oracle DAO has 8 members:

--------------------

Member ID:            kermit-2
URL:                  https://www.rocketpool.net
Node address:         0x04ddB06D1429578691F630B67A53916445DA38bE
Joined at:            31 Jul 21 23:32 EDT
Last proposal:        27 Sep 22 21:18 EDT
RPL bond amount:      5000.000000
Unbonded minipools:   0
...

member-settings

member-settings显示与Oracle DAO成员资格相关的每个可配置参数的当前值:

ODAO Voting Quorum Threshold: 51.000000%
Required Member RPL Bond: 1750.000000 RPL
Max Number of Unbonded Minipools: 250
Consecutive Challenge Cooldown: 300 Blocks
Challenge Meeting Window: 900 Blocks
Cost for Non-members to Challenge Members: 1.000000 ETH

此命令在Oracle DAO提案部分中有更详细的描述。

proposal-settings

proposal-settings显示与Oracle DAO可以投票的提案相关的每个可配置参数的当前值:

Cooldown Between Proposals: 1h0m0s
Proposal Voting Window: 168h0m0s
Delay Before Voting on a Proposal is Allowed: 15m0s
Window to Execute an Accepted Proposal: 168h0m0s
Window to Act on an Executed Proposal: 168h0m0s

此命令在Oracle DAO提案部分中有更详细的描述。

minipool-settings

minipool-settings显示与Rocket Pool网络上的minipool相关的每个可配置参数的当前值:

Scrub Period: 1h0m0s

propose

propose命令用于提交其他Oracle DAO可以投票的治理提案。 这些可能涉及更改设置或修改Oracle DAO成员(即,邀请或踢出其他成员)。

此命令在Oracle DAO提案部分中有更详细的描述。

proposals

proposals命令用于与现有的Oracle DAO治理提案进行交互。 它可以查看它们,撤销您提出的提案,对它们进行投票,并执行它们(如果适用),使它们在被其他成员批准后生效:

NAME:
   rocketpool odao proposals - Manage oracle DAO proposals

USAGE:
   rocketpool odao proposals command [command options] [arguments...]

COMMANDS:
   list, l     List the oracle DAO proposals
   details, d  View proposal details
   cancel, c   Cancel a proposal made by the node
   vote, v     Vote on a proposal
   execute, x  Execute a proposal

OPTIONS:
   --help, -h  show help

此命令在Oracle DAO提案部分中有更详细的描述。

join / leave

joinleave命令用于在被邀请后加入Oracle DAO,或在其他成员批准您的辞职请求后离开Oracle DAO。

加入Oracle DAO

RPL保证金

为了加入Oracle DAO,您的节点钱包需要有足够的RPL来支付所需的成员保证金。 这将在加入过程中锁定在Rocket Pool的金库中。 保证金所需的确切RPL金额将在您被邀请时确定,并将在将您加入之前由其他Oracle DAO成员传达给您。

注意

与所有其他ETH和RPL奖励不同,RPL保证金在退出Oracle DAO时发送到您节点的提款地址。 它被发送回您的节点钱包本身。 将此视为保护您的节点钱包免受妥协的额外激励。

接受邀请

一旦您的节点设置完毕并且您被现有成员邀请加入Oracle DAO,您可以使用rocketpool odao join命令接受邀请。 这将涉及两笔交易:

  • 一笔用于锁定您的保证金所需的RPL
  • 一笔用于在收到保证金后加入Oracle DAO

一旦您加入,您的watchtower守护进程将自动开始执行其所需的职责。 您可以通过查看其日志来验证这一点(例如,对于标准基于Docker的安装,使用rocketpool service logs watchtower);watchtower每4到6分钟执行一次其职责循环,一旦您加入Oracle DAO,您将注意到其输出有明显的变化。

后续步骤

现在您已经加入了Oracle DAO,请查看下一节以了解如何在此角色中测试您的节点。