设置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职责。
请从下面的选项卡中选择您用于配置节点的模式。
打开rocketpool service config TUI并转到Smartnode and TX Fees部分。
在这里,您将在底部看到两个选项:

Archive-Mode EC URL必须是您的归档执行客户端的RPC API的HTTP端点。
请注意,如果您已经在外部管理模式下将您的归档EC用作主要客户端,则可以忽略此设置。
运行以下命令以无头方式配置您的节点:
rocketpool service config --smartnode-archiveECUrl "http://your Archive EC URL"
其中:
--smartnode-archiveECUrl必须是您的归档执行客户端的RPC API的HTTP端点。
请注意,如果您已经在外部管理模式下将您的归档EC用作主要客户端,则可以忽略此设置。
最后,重启您的watchtower守护进程(即,在Docker或混合模式下使用docker restart rocketpool_watchtower,或在原生模式下使用sudo systemctl restart rp_watchtower)以使设置生效。
在文本编辑器中打开您的Smartnode目录(默认为~/.rocketpool)中的user-settings.yml文件。
向下滚动到smartnode部分:
smartnode:
archiveECUrl: http://your Archive EC URL
dataPath: /home/user/.rocketpool/data
manualMaxFee: "0"
minipoolStakeGasThreshold: "150"
network: mainnet
priorityFee: "2"
projectName: rocketpool
rewardsTreeMode: generate
替换archiveECUrl字段中的值,其中:
archiveECUrl必须是您的归档执行客户端的RPC API的HTTP端点。
请注意,如果您已经在外部管理模式下将您的归档EC用作主要客户端,则可以忽略此设置。
最后,重启您的watchtower守护进程(即,在Docker或混合模式下使用docker restart rocketpool_watchtower,或在原生模式下使用sudo systemctl restart rp_watchtower)以使设置生效。
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相关的每个可配置参数的当前值:
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
join和leave命令用于在被邀请后加入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,请查看下一节以了解如何在此角色中测试您的节点。