October 19, 2022

Tutorial on voting process in Mande Chain

There are a lot discussions about pros and cons of PoW and PoS. Most people compare these two methods, but both of them has big disadvantages: PoW requires big hardware powers and PoS is a battle among stakers.

Mande chain offers completely new blockchain concept called “Proof-of-Credibility” (POC). The goal of POC is to create a system where a member’s credibility can be assessed through a peer to peer voting system.

Lets see on example how to vote for a validator in mande-testnet-1 chain:

  • Approve Chain Add Request and Requesting Connection

  • Claim MAND from faucet
  • Make sure tokens received
  • Choose validator you want to vote in "validators" section
  • Copy his valoper address
  • Paste his address in "cast vote to", enter amount of MAND you want to vote for the validator and click "Submit"
  • Approve the transaction in pop-up keplr notification
  • Congrats, your votes submitted
  • Votes are casted on certain validator address - CRED will be bonded to them and as CRED represents someone's "credibility". On staking page you can see all Mande chain validators you can vote. To check all your votes use blockchain explorer STAVR Explorer
  • Click on icon of magnifying glass
  • Copy your Mande wallet address in keplr wallet and past in search query
  • You enter your wallet page, scroll down, and you can see all your transactions including "create vote".
  • If you want to see more information about exact vote, click on txhash transaction and you get into transaction page, where you can see status, timestamp, used gas, your wallet, wallet of validator you voted and amount of tokens you voted

You are able to uncast your votes for validators you previously submitted

  • Enter validator address you want to uncast
  • Enter amount of MAND to uncast
  • Click on "Uncast" and "Submit"

P.S. The website is under development, new features are coming soon, errors and bugs are possible to occur, please report all the shortcomings in Mande Chain discord channel.

If you use command line on your personal computer, you can cast/uncast and query the past votes. Command for these actions are below:

Cast/uncast vote : mande-chaind --from [wallet_name] --chain-id mande-testnet-1 tx voting create-vote [validator_WALLET_address_to_vote] [amount] [mode] --fees 1000mand -y

amount can be positive or negative (make sure, -1000000000 < amount < 1000000000, otherwise there might be unexpected behaviour which will be fixed in next phase).

mode : 1 for cast, 0 for uncast.

  • Cast Ex: mande-chaind --from <wallet_name> --chain-id mande-testnet-1 tx voting create-vote mande... 10000000 1 --fees 1000mand -y
  • Uncast Ex: mande-chaind --from <wallet_name> --chain-id mande-testnet-1 tx voting create-vote mande... 10000000 0 --fees 1000mand -y

Query the past votes: mande-chaind q txs --events vote_casted.sender=<ADDRESS> 2>&1 | jq | grep txhash