Diva voting from Rocket Pool node
Prerequisites:
- A self-delegated Diva airdrop “stuck” in a Rocket Pool Validator (DIVA tokens are not transferable at the moment).
- 5 minutes of your time
1. Understand the Proposal
Before voting, ensure you understand the proposal you’re voting on.
Engage with the community on Discord to make sure you are not just casting a vote at random.
Typically, proposals are hosted on Tally.
The proposal ID can usually be found in the URL.
2. Determine Your Vote
In most cases:
1
means FOR the proposal0
means AGAINST the proposal
Choose wisely!
3. Access the Ethereum Playground
Navigate to https://playground.ethers.org/.
4. Generate the Calldata
- In the Ethereum playground, paste the following code:
new utils.Interface(['function castVote(uint256 proposalId, uint8 support)']). encodeFunctionData('castVote',['PROPOSAL_ID', YOUR_VOTE])
- Replace
PROPOSAL_ID
with the proposal ID from the URL. - Replace
YOUR_VOTE
with1
(for) or0
(against).
After pasting and making the necessary replacements, the Ethereum playground will generate the calldata for you. It should look something like this:
0x56781388630d7e8433c49ee82f60dfdb765dd7f0cd38e6db46e03eaee10cb393bae8948a0000000000000000000000000000000000000000000000000000000000000001
5. Send the Transaction
With the generated calldata, you can now send the transaction. Use the following command:
rocketpool node send-message ADDRESS GENERATED_CALLDATA
Replace:
ADDRESS
with the DivaGovernor contract address. In our example, it's0xfb6b7c11a55c57767643f1ff65c34c8693a11a70
.GENERATED_CALLDATA
with the calldata you generated in the previous step.
Conclusion
Congratulations! You’ve just participated in the governance of the protocol using your self-delegated Diva airdrop from a Rocket Pool Validator. It’s essential to actively participate in governance to ensure the protocol’s future aligns with your vision and the community’s best interests.
Also, go say thank you to peteris8560 for his help in writing this.
Stay informed and vote wisely!