Partecipare alle proposte pDAO on-chain
Qualsiasi nodo con un potere di voto diverso da zero può presentare o partecipare a una proposta pDAO in qualsiasi momento. Le proposte possono essere di uno dei seguenti tipi:
- Modifiche alle impostazioni pDAO
- Spese una tantum dal tesoro
- Spese ricorrenti dal tesoro (comitati di gestione)
- Appartenenza al consiglio di sicurezza
Per maggiori dettagli e motivazioni, consulta tipi di proposte. È importante capire che una proposta pDAO è un'entità on-chain che esiste per eseguire modifiche a livello di protocollo.
Processo di governance
Una proposta dovrebbe essere prevista dal processo di governance prima di finire on-chain.
Le modifiche al protocollo Rocket Pool vengono proposte, votate ed eseguite utilizzando un processo di governance rigoroso ma trasparente. Il processo inizia con una discussione informale di un'idea all'interno della comunità Discord. Questa idea poi progredisce a discussioni formali nel canale #governance su Discord e nel DAO Forum, dove viene sottoposta a ricerche approfondite, modellazione e scrutinio in preparazione per una Rocket Pool Improvement Proposal (RPIP). Successivamente, viene preparata una bozza di RPIP e revisionata da revisori RPIP designati per garantirne la qualità e la prontezza per la presentazione alla DAO. La bozza della proposta viene quindi presentata alla DAO sul forum per ulteriore revisione, feedback e incorporazione di eventuali modifiche necessarie. Una volta che la proposta è stata perfezionata in base al contributo della comunità, viene sollevato un sondaggio sul forum DAO per valutare la prontezza per finalizzare il testo RPIP. Se il sondaggio passa, indicando l'approvazione della comunità, la RPIP viene contrassegnata come finale e pronta per un voto della Protocol DAO, che viene condotto tramite Snapshot per determinare se la proposta debba essere implementata.
Da qui, l'Oracle DAO solleverà una proposta on-chain. C'è una finestra in cui la Protocol DAO, l'Oracle DAO e la comunità possono rivedere la proposta. Se si raggiunge un consenso, la proposta viene eseguita e le modifiche vengono applicate al protocollo.
Una comoda rappresentazione visiva di questo processo può essere trovata sul sito web di Rocket Pool.
Prerequisito
Si prega di leggere il ciclo di vita di una proposta prima di procedere. Spiegherà le differenze tra tutti i periodi di voto e le azioni che possono essere intraprese durante ciascun periodo.
Il resto di questa pagina ti guiderà attraverso i passaggi necessari per partecipare alle proposte pDAO on-chain.
Inizializzazione del voto
Se sei un operatore di nodo che si è registrato prima dell'aggiornamento Houston, devi inizializzare il voto per sbloccare il potere di voto. Tieni presente che avere almeno un minipool è un requisito per avere potere di voto.
Questo comando solleverà il prompt qui sotto. Si prega di leggerlo attentamente:
- Se rispondi con
direct, il potere di voto verrà inizializzato al tuo nodo e potrai votare direttamente sulle proposte della Protocol DAO. - Se rispondi con
delegate, avrai l'opportunità di risparmiare un po' di gas inizializzando il voto e impostando un delegato all'interno della stessa transazione.
Devi farlo solo una volta. Configura le informazioni snapshot iniziali per un nodo. Dopo aver inizializzato il voto, ogni azione intrapresa aggiornerà le informazioni snapshot del tuo nodo. Una volta inizializzato il tuo potere di voto, puoi verificare quanto ne hai usando il seguente comando smartnode:
Ogni volta che viene creata una nuova proposta, viene creato un albero di voto che rappresenta uno snapshot del potere di voto della rete e delle informazioni sui delegati in concomitanza con la nuova proposta. Ciò significa che il potere di voto del tuo nodo non sarà incluso in una proposta se è stata sollevata prima che tu inizializzassi il voto. rocketpool pdao status mostrerà il potere di voto del tuo nodo all'ultimo blocco, che potrebbe o meno essere rappresentativo del tuo potere di voto su una particolare proposta.
Auto Initialize Vote Power
La versione Smartnode 1.13.8 introduce una nuova funzionalità Auto Initialize Vote Power, che è progettata per inizializzare automaticamente il potere di voto sui nodi che non lo hanno ancora fatto. Il potere di voto inizializzato automaticamente è auto-delegato. Questa funzionalità può essere configurata nelle impostazioni dello Smartnode eseguendo rocketpool service config e navigando nella sezione Smartnode and TX Fees.
La soglia di gas Auto-Init Vote Power è un limite (in gwei) su questa transazione automatica. Puoi rinunciare a questa attività impostando la soglia a 0. Sentiti libero di rinunciare se il tuo nodo è stato registrato dopo l'aggiornamento Houston o se il potere di voto è già abilitato.
Impostazione del tuo indirizzo di segnalazione Snapshot
Impostare il tuo indirizzo di segnalazione Snapshot ti permetterà di partecipare ai voti Snapshot su un browser o dispositivo mobile senza dover esporre le chiavi del nodo a un hot wallet.
Ci sono alcune cose da preparare:
- L'indirizzo del tuo nodo
- Un indirizzo che vuoi usare per il voto snapshot (indirizzo di segnalazione)
Firmerai un messaggio che dice che l'indirizzo del tuo nodo può delegare al nuovo indirizzo. Questo messaggio dichiara la tua intenzione di usare il tuo indirizzo wallet come indirizzo di segnalazione Snapshot.
Seleziona quale rete stai usando da una delle schede qui sotto.
Non caricare la chiave privata del tuo nodo su un hot wallet. Si prega di scegliere un altro account come indirizzo di segnalazione. Dopo aver impostato l'indirizzo di segnalazione, puoi usarlo per votare su Snapshot con il potere di voto del tuo nodo.
Inizia connettendo l'indirizzo che vuoi usare come indirizzo di segnalazione al sito web usando MetaMask, WalletConnect, o uno degli altri metodi supportati dal sito web. Ti verrà quindi presentata questa finestra di dialogo per cercare il tuo indirizzo nodo.
Successivamente, inserirai il tuo indirizzo nodo e poi cliccherai sul pulsante arancione "Find". Questo verificherà se l'indirizzo è un nodo registrato e ti porterà al passo successivo.
Assicurati di avere l'indirizzo nodo corretto prima di fare questo! se hai bisogno di confermare l'indirizzo del tuo nodo, puoi recuperarlo rapidamente tramite CLI usando il comando rocketpool node status.
Una volta effettuato l'accesso e confermato il tuo indirizzo nodo, vedrai il tuo indirizzo di segnalazione Snapshot. Dovrebbe essere lo stesso dell'account a cui hai effettuato l'accesso sul sito. Ricontrolla che sia corretto prima di procedere. Una volta sicuro di essere connesso all'account desiderato, clicca sul pulsante arancione "Sign Message". Vedrai un prompt nella tua app wallet extension per firmare il seguente messaggio:
La firma non ti costerà alcun gas ma l'impostazione sì. Dopo aver firmato, il frontend ti darà un comando da incollare nello smartnode. Vai avanti e incollalo nella CLI del tuo smartnode e segui i passaggi richiesti. Il comando dovrebbe apparire simile a questo:
Se vedi questo messaggio nella tua CLI, sei a posto!
Non preoccuparti se chiudi accidentalmente il sito o perdi traccia del comando. Puoi semplicemente ripetere i passaggi e firmare di nuovo usando lo stesso indirizzo nodo e indirizzo di segnalazione. Il frontend usa signer.Signmessage() dalla libreria ethers, il che significa che la tua firma è deterministica dato lo stesso input. Clicca qui per saperne di più.
Cancellare il tuo indirizzo di segnalazione è piuttosto facile, basta usare questo comando nella CLI:
Consentire il blocco RPL
Puoi ignorare questo passaggio se sei interessato solo a votare su una proposta. Consentire il blocco RPL è richiesto solo per coloro che desiderano proporre o sfidare una proposta.
Il blocco RPL è richiesto per proporre e sfidare. Per impostazione predefinita, il blocco di RPL per qualsiasi scopo sarà disabilitato. Gli operatori di nodo acconsentiranno a svolgere attività di governance abilitando il blocco di RPL dal loro nodo o dall'indirizzo di prelievo primario. Puoi farlo usando questo comando nello Smartnode:
Questo ti chiederà di consentire il blocco di RPL quando crei o sfidi proposte di governance. Al contrario puoi usare il seguente comando per rinunciare al blocco RPL:
L'RPL bloccato si comporta allo stesso modo dell'RPL regolarmente messo in staking ai fini di ricompense, voto e requisiti collaterali. L'RPL bloccato non viene conteggiato verso le soglie per il prelievo di RPL.
Delegare il potere di voto
Un operatore di nodo può scegliere di delegare il proprio potere di voto a un altro operatore di nodo. L'unico requisito è che il tuo delegato sia un nodo registrato.
Per delegare il potere di voto on-chain a un altro nodo, usa il seguente comando:
Se hai delegato il tuo potere di voto a un altro operatore di nodo, puoi ripristinarlo impostando l'indirizzo del delegato all'indirizzo del tuo stesso nodo.
- Durante la fase 1 di una proposta: Votanti e Delegati possono esprimere il loro voto su una proposta.
- Durante la fase 2 di una proposta: Gli operatori di nodo che hanno delegato il loro voto hanno l'opportunità di annullare il voto del loro Delegato, se non sono d'accordo.
Se sei un operatore di nodo con potere di voto delegato, devi votare durante la fase di voto 1 affinché il potere di voto delegato conti verso la proposta. Il tuo voto nella fase 1 varrà il tuo potere di voto locale + potere di voto delegato. Il tuo voto nella fase 2 vale solo il tuo potere di voto locale.
Creare una proposta
Per essere idoneo a proporre, un nodo deve soddisfare alcuni requisiti:
- Incluso nello snapshotting (tramite inizializzazione del voto o registrandosi post Houston)
- Deve avere almeno un minipool
- Ha un potere di voto diverso da zero
- Ha consentito il blocco RPL
- Ha uno stake RPL (meno qualsiasi RPL già bloccato) superiore al bond della proposta
Le proposte esistono per modificare parametri ed eseguire codice a livello di protocollo! Dovrebbe esserci discussione e consenso attraverso il processo di governance prima che una proposta venga creata on chain.
Usa il comando rocketpool pdao propose per far apparire un menu di opzioni
Ognuno di questi comandi ti chiederà un elenco di input per creare la proposta desiderata. In questa guida, inviteremo un nodo al consiglio di sicurezza come esempio. Per sollevare una proposta per invitare un nodo al consiglio di sicurezza, useresti il comando:
Tieni presente che questo passaggio avrà qualche leggera variazione a seconda del tipo di proposta. Questo particolare comando: rocketpool pdao propose security-council invite ti chiederà di inserire un ID seguito da un indirizzo membro.
Dopo che questo è incluso in un blocco, verrà creata una proposta pDAO! La proposta entrerà nel periodo di ritardo del voto al momento della creazione.
Visualizzare lo stato di una proposta
A ogni proposta viene assegnato un proposalID. In questo caso, la nostra proposta per invitare 0xBdbc... al consiglio di sicurezza è rappresentata con ID 71. Ci sono alcuni modi per visualizzare lo stato della proposta. Un metodo mostrerà un elenco di ogni proposta pdao insieme al loro stato (in sospeso, riuscita, eseguita, ecc.). Il secondo metodo mostra dettagli approfonditi su una proposta specifica.
Per elencare tutte le proposte, usa il seguente comando:
Questo mostrerà un elenco di tutte le proposte e il loro stato
Qui possiamo vedere che la nostra proposta invite test-member ha un ID di 71 ed è nello stato in sospeso. In questo stato, i contestatori possono contestare la validità del merkle pollard (usato per calcolare il potere di voto) fornito dal proponente. Quando proposal.vote.delay.time termina, la proposta passerà nelle fasi di voto attive. Sentiti libero di rivedere il ciclo di vita di una proposta per un ripasso.
Votare su una proposta
Durante un periodo di voto, Operatori di nodo e Delegati possono esprimere un voto con una delle quattro opzioni:
Il loro potere di voto sarà applicato all'opzione scelta. Il potere di voto è una funzione dello "stake RPL effettivo". Una lettura più dettagliata può essere trovata nel repository rocketpool-research.
Se sei un operatore di nodo con potere di voto delegato, devi votare durante la fase di voto 1 affinché il potere di voto delegato conti verso la proposta. Il tuo voto nella fase 1 varrà il tuo potere di voto locale + potere di voto delegato. Il tuo voto nella fase 2 vale solo il tuo potere di voto locale. Si prega di tenere presente che un nodo può votare una volta e una sola volta su una proposta, quindi scegli con attenzione.
Usa questo comando per esprimere un voto:
Ti verrà chiesto di selezionare una proposta su cui votare se c'è almeno una proposta in una fase di voto attiva. Il menu dovrebbe mostrare tutte le proposte su cui il tuo nodo è idoneo a votare:
Dopo aver selezionato un'opzione, ti verrà chiesto come vuoi esprimere il tuo voto.
Selezionando un'opzione verrà visualizzato il tuo potere di voto, e poi ti verrà chiesto di inviare la transazione:
Hai votato con successo sulla proposta una volta che la transazione è inclusa nel blocco! A questo punto, puoi usare rocketpool pdao proposal details <proposal-id> per visualizzare lo stato della proposta. Una proposta deve raggiungere il potere di voto richiesto del proposal.quorum e una maggioranza di potere di voto a favore per avere successo.
Perché l'esempio sopra passi, il potere di voto deve superare un quorum di 140970562215 di potere di voto. C'è 197980809837 di potere di voto a favore e nessun voto contro o astenuto. La proposta è destinata al successo e pronta per l'esecuzione entro la fine di proposal.vote.phase2.time.
Eseguire una proposta riuscita
Congratulazioni! La tua proposta è passata! Ora tutto ciò che resta da fare è eseguire la proposta. Tieni presente che chiunque può essere l'esecutore di una proposta. Per eseguire una proposta riuscita, digita il comando:
Selezionando un'opzione ti verrà chiesto di inviare una transazione. Una volta che questa transazione è inclusa in un blocco, la modifica verrà applicata al protocollo Rocket Pool!
Richiedere bond e ricompense
I proponenti o i contestatori possono richiedere i loro bond al termine di una proposta. A seconda dell'esito di una proposta, un proponente o un contestatore può o meno essere in grado di richiedere il loro proposal.bond e proposal.challenge.bond.
Ecco alcune regole che dettano le condizioni in cui i bond possono essere richiesti:
- Se una proposta viene sconfitta, il proponente perde il proprio bond che viene diviso proporzionalmente tra i contestatori che hanno contribuito alla sconfitta della proposta. Tutti gli altri contestatori ricevono solo il loro bond indietro.
- Contribuire alla sconfitta di una proposta significa che un contestatore ha presentato un indice che è stato successivamente dimostrato essere errato dall'incapacità del proponente di rispondere a una sfida. È possibile che ci siano più indici errati ma solo quelli che hanno portato alla sconfitta della proposta condividono la ricompensa. Tutti gli altri contestatori ricevono solo il loro bond indietro.
- Se un contestatore sfida un nodo, il proponente risponde e la proposta non viene sconfitta. Il proponente può richiedere i bond di sfida dalle sfide non valide.
- Se una proposta viene sconfitta, il proponente perde il proprio bond che viene diviso proporzionalmente tra i contestatori che hanno contribuito alla sconfitta della proposta.
Usa questo comando per richiedere i bond:
Questo mostrerà ogni proposta da cui sei idoneo a richiedere bond. Puoi richiedere bond da una proposta specificata, oppure puoi richiedere bond e ricompense da tutte le proposte idonee.
Una volta selezionata un'opzione, ti verranno presentate le raccomandazioni sui costi del gas della rete; conferma la tua selezione del prezzo del gas e segui il resto dei prompt.
Nota che se selezioni la prima opzione per richiedere tutte le proposte disponibili, ognuna verrà eseguita individualmente e non come una transazione unica.
Creare una spesa ricorrente dal tesoro
Dovrai preparare alcuni input per creare una spesa ricorrente dal tesoro:
- Un nome di contratto
- L'indirizzo del destinatario
- Quantità di RPL da inviare per periodo
- L'ora di inizio per il pagamento ricorrente (come timestamp UNIX)
- La durata di ciascun periodo di pagamento in ore / minuti / secondi (ad es., 168h0m0s)
- Numero di periodi di pagamento
Il destinatario dovrà prendere nota del nome del contratto per richiedere i pagamenti. Non preoccuparti però, poiché queste informazioni sono memorizzate e possono essere recuperate usando il comando rocketpool pdao proposals details <proposal-id>
Per sollevare una proposta per impostare una spesa ricorrente dal tesoro, usa il seguente comando smartnode e segui i prompt:
Ecco come appare tutto insieme:
Una volta inseriti tutti gli input richiesti, verrà sollevata una proposta per creare un pagamento ricorrente. Quando la pDAO approva ed esegue questa proposta, al destinatario viene allocato 1 RPL a partire da 2024-06-09 12:13:53 +0000 UTC ogni 720 ore per un totale di 24 pagamenti.
Richiedere una spesa ricorrente dal tesoro
Richiedere pagamenti ricorrenti dovrebbe essere piuttosto semplice! Naviga sul nostro strumento frontend qui per farlo. Se stai provando questo su Hoodi testnet, usa questo link invece.
Una volta sul sito, clicca sul pulsante connect wallet. Si prega di leggere e accettare i Termini di servizio e la Politica sulla privacy, questo abiliterà diversi modi per connettersi, poi clicca su connetti metamask.
MetaMask ti chiederà di selezionare un account da connettere al sito web. Dopo aver effettuato l'accesso, dovrai inserire il nome del contratto. Farlo mostrerà tutti i dettagli rilevanti. Assicurati di ricontrollare l'indirizzo del destinatario. Chiunque può chiamare la funzione di richiesta, ma ogni contratto di pagamento avrà un destinatario designato a cui erogare RPL.
Puoi richiedere i tuoi pagamenti in qualsiasi momento, riceverai solo l'RPL totale non richiesto fino al periodo più recente. In alternativa puoi aspettare fino a quando tutti i periodi sono passati per raccogliere tutto in una volta e risparmiare sul gas.
Basta premere il grande pulsante arancione di richiesta quando sei pronto e rivedere la transazione in metamask (o il tuo wallet preferito). Una volta fatto, sei a posto!