Stellar

Voting for SHx voting power on Stellar.

How to Vote

Stronghold provides an interface allowing you to create and submit your vote easily, and without having to reveal your secret key. This is enabled through the use of either a WalletConnect enabled wallet or the Stellar Development Foundation's open source Freighter browser extension.

WalletConnect

You can cast your vote using a WalletConnect enabled wallet, such as Lobstr.

The process for connecting your wallet will vary depending on the particular wallet you are using. Generally the process involves downloading the wallet's mobile app and scanning the QR code on the voting interface to connect and sign your vote.

For information on Lobstr's WalletConnect implementation, see here.

Freighter

Another option for voting is using the Freighter extension. You may need to import your voting account in separately, depending on whether you have a seed phrase or secret key available.

  1. Install Freighter in a compatible web browser.

  2. Either create a new Freighter wallet (this account does not need to be used/funded for voting), or if you have a 12-word seed phrase for your account, you can import your wallet into freighter.

  3. Import the secret key for your voting account into Freighter. Skip this step if you created a new Freighter wallet.

  4. Ensure the correct account is selected for voting.

Voting

With either a WalletConnect wallet or Freighter installed and your voting account selected, you are ready to vote on proposals!

When the voting window for a proposal is open, head to vote.stronghold.co.

  1. Review the proposal.

  2. When you are ready to vote, click Cast Vote.

  3. Make your voting selections and click on your preferred connection method.

  4. If this is your first time interacting with the voting interface, your wallet or Freighter will ask your permission to share your public key.

  5. Your wallet or Freighter will ask you to confirm your voting transaction, showing you the operations that add your vote into the ledger.

  6. Your transaction will be submitted to the ledger via the Stellar Development Foundation's publicly available 'Horizon' API server. Usual Stellar network fees apply. You will be shown a confirmation with a link to the transaction in a blockchain explorer once successful.

    • Occasionally Horizon may fail to submit your transaction to the ledger. If this is the case, please submit your vote again.

Manual Voting

If you cannot use either WalletConnect or Freighter via the SHx voting interface, you may create and submit your vote manually. The Stellar Development Foundation hosts a tool which may be of use if your wallet does not provide the ability to add Manage Data operations.

Requirement

A Manage Data operation must be submitted to the ledger with the source account being the voting account. The last operation that the account submits within the voting window will be taken as the account's casted vote.

The data entry must be formatted as follows, using the first proposal, 1 - MCA Origination Fee Burn as an example:

  • name => "SHX::PROP:<proposal number>", e.g. "SHX::PROP:1"

  • value => comma delimited vote positions, e.g. "FOR,40" ('for' the proposal, at a 40% burn proportion). Most Stellar/Horizon tool and libraries will base64 encode the ASCII bytes for you for submission. Note that some blockchain explorers display the data value as decimal bytes. This will not prevent the counting of votes.

Reference

The reference voting implementation, hosted at vote.stronghold.co, submits a vote to the ledger in the following manner:

  • A single transaction, having two operations and the memo "SHX PROPOSAL 1 VOTE"

    • Operation 1: manageData(name: "SHX::PROP:1", value: "<vote positions>")

    • Operation 2: manageData(name: "SHX::PROP:1", value: "")

The second operation clears the data entry so the account does not incur the ongoing reserve cost. It is not required for the vote to be counted. The memo on the transaction is also optional.

FAQs

  • Can I vote using Lobstr? Yes, Lobstr supports the WalletConnect protocol. When voting, select the WalletConnect connection method and scan the QR code from the Lobstr app.

  • Can I disconnect the WalletConnect connection after I vote? Yes, you may safely disconnect the SHx connection after you have submitted your vote.

  • How do I set up Freighter? See our Youtube walkthrough or read about it.

  • How do I vote? We've got a Youtube tutorial here, or a step-by-step writeup here.

  • I accidentally voted more than once! Does my vote still count? The last vote submitted to the ledger within the voting window will be taken as the account's cast vote. Any other vote submissions will be ignored.

  • Do I have to use WalletConnect or Freighter to vote? You can manually vote. Stellar Laboratory may be of help for you to manually vote.

  • Does it cost to vote? While there is no additional fee for the vote itself, usual Stellar XLM ledger transaction fees will apply as your vote is recorded as an operation on the ledger.

Last updated

© Stronghold 2017 - 2024. All rights reserved.