How to Safely Vote for Referendum as a Block Producer: The Dummy-Proof Guide

Add a separate key to your BP account just for voting (Or any other action, claimrewards for instance)

Luka Percic
ChainRift
3 min readMar 13, 2019

--

EOS has a powerful account permission system. As a block producer, you want to minimize the exposure of your owner and active key. If exposed, it can be used to switch the producing key and put your account, and the whole EOS ecosystem, at risk.

We suggest giving vote permissions to a community-facing person in your team. Let them prepare a public key of their ledger wallet.

After adding a new key to the scatter, click on a key => Keys & Blockchains => Copy.

You are now ready to start.

Create a new permission group in cleos

First, unlock your active wallet.
Then create a new permission group called “vote” (or choose any name up to 12 characters)

Command format:

cleos set account permission YOUR_ACCOUNT NEW_PERMISSION PUB_KEY PARENT

Example:

cleos set account permission chainriftxxx vote EOS8DVHeihVgjy3m4qNVuVTLXEDwXfUxyZ52pD5SFwJ9DbWK73qxt active

…Or Create a new permission group with Scatter

Go to Bloks.io permissions-manager

Click Add new permission at the bottom (right under ‘active’)

Then fill up the fields:
• Vote
• Active
• 1

• 1
• Voting pubkey

Then click Save Permission.

To make sure the permission group ‘vote’ was added, check your favourite explorer;

Right now, you can’t do anything with this group. In the next step, let’s add it to a specific action.

Link new actions authorizations in cleos

Again, you need your active wallet to be unlocked.

Then authorise two new actions in eosio.forum contract: vote and unvote (could be any action in any contract).

The cleos command:

cleos set action permission YOUR_ACCOUNT CONTRACT ACTION PERMISSION_NAME

Example:

cleos set action permission chainriftxxx eosio.forum vote vote

And then a second authorization:

cleos set action permission chainriftxxx eosio.forum unvote vote

…Or Link a new action authorization with Scatter

Go to Bloks.io Link/Unlink Auth

Then fill up the fields:
• vote (permission group)
• eosio.forum
• vote

And click Link Auth button.

Then repeat for another action
• vote
• eosio.forum
• unvote

And click Link Auth button.

You’re all done!

Now, your community representative can vote through with your account with no worries. Jump into whichbpstovotefor.com/bp to fill up the questionnaire from the community tool and then visit the voting tools from EOS Titan or Bloks.io.

…and join the Block Producer who signall to the community on what they stand for eostitan.com/heatmap.

--

--