Configuration d'un nœud Oracle DAO

Au strict minimum, un nœud Rocket Pool standard exécute les éléments suivants :

  • La CLI Smartnode
  • Le démon API Smartnode
  • Le démon node Smartnode
  • Le démon watchtower Smartnode

En option, le nœud peut également exécuter les composants suivants :

  • Un client d'Execution
  • Un nœud Beacon
  • Un client validateur
  • MEV-Boost
  • Prometheus
  • Le Prometheus Node Exporter
  • Grafana

Chacun de ces composants peut être exécuté en tant que conteneurs Docker dans la configuration standard, en tant que services systemd dans la configuration "Native Mode", ou exécuté en tant qu'entités gérées en externe auxquelles le Smartnode peut se connecter via leurs routes API respectives.

Heureusement, les nœuds Oracle DAO sont les mêmes que les nœuds Rocket Pool normaux, mais le démon watchtower effectue les tâches supplémentaires de l'Oracle DAO et il y a plus de métriques Prometheus collectées à des fins de surveillance des performances.

Configuration initiale du nœud

La meilleure façon de commencer est de suivre les instructions de configuration standard pour un nœud Rocket Pool normal. Ce processus vous aidera à déterminer comment vous souhaitez configurer et exécuter votre nœud.

Si vous souhaitez exécuter des minipools (validateurs) sur votre nœud, veuillez suivre la documentation normale du nœud du début à la fin et revenir ici lorsque vous avez terminé.

Si vous n'avez pas l'intention d'exécuter des minipools et que vous l'utiliserez plutôt uniquement pour les tâches de l'Oracle DAO, vous pouvez ignorer toutes les étapes relatives au staking de RPL et à la création de minipool. Les autres étapes telles que l'enregistrement du nœud, l'établissement d'une bonne posture de sécurité, la surveillance de la santé et des performances du nœud, et la mise à jour du Smartnode après une mise à jour s'appliquent toujours à vous et vous devriez les examiner attentivement avant de continuer. Revenez ici lorsque vous aurez terminé.

Configuration supplémentaire de l'Oracle DAO

Il y a deux paramètres supplémentaires que vous devez fournir afin de satisfaire vos responsabilités de l'Oracle DAO. Veuillez sélectionner le mode que vous utilisez pour configurer votre nœud ci-dessous dans les onglets ci-dessous.

(service config) UI interactive
(service config) En mode headless
Fichier de configuration direct

Ouvrez le TUI rocketpool service config et allez à la section Smartnode and TX Fees. Ici, vous verrez deux options en bas :

L'Archive-Mode EC URL doit être le point de terminaison HTTP de l'API RPC pour votre client d'Execution en mode archive. Notez que si vous utilisez déjà votre EC en mode archive comme client principal en mode géré en externe, vous pouvez ignorer ce paramètre.

Commandes Smartnode de l'Oracle DAO

Le groupe de commandes odao de la CLI Smartnode est utilisé pour interagir avec les contrats et les tâches de l'Oracle DAO on-chain :

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

La commande status résume simplement quelques détails sur l'Oracle DAO tels que le nombre de membres et le nombre de propositions :

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

La commande members affiche des informations détaillées sur chaque membre de l'Oracle DAO, y compris leur handle, leurs informations de contact, l'adresse de leur nœud, leur caution RPL et la dernière fois qu'ils ont soumis une proposition pour un vote :

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 affiche les valeurs actuelles de chacun des paramètres configurables liés à l'adhésion à l'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

Cette commande est décrite plus en détail dans la section Propositions de l'Oracle DAO.

proposal-settings

proposal-settings affiche les valeurs actuelles de chacun des paramètres configurables liés aux propositions sur lesquelles l'Oracle DAO peut voter :

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

Cette commande est décrite plus en détail dans la section Propositions de l'Oracle DAO.

minipool-settings

minipool-settings affiche les valeurs actuelles de chacun des paramètres configurables liés aux minipools sur le réseau Rocket Pool :

Scrub Period: 1h0m0s

propose

La commande propose est utilisée pour soumettre des propositions de gouvernance sur lesquelles le reste de l'Oracle DAO peut voter. Celles-ci peuvent impliquer la modification d'un paramètre ou la modification des membres de l'Oracle DAO (c'est-à-dire inviter ou exclure d'autres membres).

Cette commande est décrite plus en détail dans la section Propositions de l'Oracle DAO.

proposals

La commande proposals est utilisée pour interagir avec les propositions de gouvernance existantes de l'Oracle DAO. Elle peut les afficher, annuler les propositions que vous avez faites, voter dessus et les exécuter (le cas échéant), les faisant prendre effet après leur approbation par les autres membres :

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

Cette commande est décrite plus en détail dans la section Propositions de l'Oracle DAO.

join / leave

Les commandes join et leave sont utilisées pour rejoindre l'Oracle DAO une fois que vous avez été invité, ou quitter l'Oracle DAO une fois que les autres membres ont approuvé votre demande de démission.

Rejoindre l'Oracle DAO

La caution RPL

Pour rejoindre l'Oracle DAO, votre portefeuille de nœud devra avoir suffisamment de RPL pour couvrir la caution d'adhésion requise. Celle-ci sera verrouillée dans le coffre-fort de Rocket Pool dans le cadre du processus d'adhésion. Le montant exact de RPL requis pour la caution sera déterminé au moment de votre invitation et vous sera communiqué par les autres membres de l'Oracle DAO avant de vous intégrer.

NOTE

Contrairement à toutes les autres récompenses en ETH et RPL, la caution RPL n'est pas envoyée à l'adresse de retrait de votre nœud lors de la sortie de l'Oracle DAO. Elle est renvoyée au portefeuille de votre nœud lui-même. Considérez cela comme une incitation supplémentaire à protéger votre portefeuille de nœud contre toute compromission.

Accepter une invitation

Une fois votre nœud configuré et que vous avez été invité à rejoindre l'Oracle DAO par les membres existants, vous pouvez utiliser la commande rocketpool odao join pour accepter l'invitation. Cela impliquera deux transactions :

  • Une pour verrouiller le RPL requis pour votre caution
  • Une pour rejoindre l'Oracle DAO lorsque la caution aura été reçue

Une fois que vous aurez rejoint, votre démon watchtower commencera automatiquement à effectuer ses tâches requises. Vous pouvez le vérifier en consultant ses logs (par exemple rocketpool service logs watchtower pour les installations standard basées sur Docker) ; le watchtower effectue sa boucle de tâches toutes les 4 à 6 minutes, et vous remarquerez un changement distinct dans sa sortie une fois que vous aurez rejoint l'Oracle DAO.

Prochaines étapes

Maintenant que vous avez rejoint l'Oracle DAO, consultez la section suivante pour apprendre comment tester votre nœud dans ce rôle.