What are the basic features of multi-chain required for building voting system?

+1 vote
I am new to multichain and I am a bit confused about the multichain or maybe i have not understood about the multichain.

can u please guide me through basic requirements of the multichain to develop a simple voting system.

what else should I know to make the system possible?

your help is highly appreciated.
asked Dec 11, 2018 by somsring

3 Answers

+1 vote
I am also interested to develop a voting system, hope to get an answer from the previous question of Somsring.. TIA
answered Dec 12, 2018 by Tet
+1 vote

I haven't made a voting application before, but let's try and do it together! laugh

I think the architecture should be something like this:

  1. Multiple admin nodes with all permissions except issue permission
  2. Multiple voting nodes that have activate, connect, send and receive permissions

You'll need an API or an application of sort to do the following:

  1. All users should be added by admin nodes, or should be capable to ask for being added by the voting nodes.
  2. An admin node should issue an asset called "vote" with the maximum value of the number of possible voters (or you could issue more latter), and a number of addresses equal to the options you can vote for with receive permissions.
  3. An voting node would generate the addresses externally, import them, give them send and receive permissions and send 1 vote to each address
  4. After sending the votes to the user addresses, the receive permission should be revoked from the users
  5. A user then can use the voting nodes to send the 1 vote he has to one of the voting options (your app should be whitelisted and call the RPC of the voted node with that created the asset and create, sign and send a raw transaction)
  6. Afterwards, you can close the votes by revoking the users' send permission and the voting options' receive permission and then count the vote by getting a balance of each voting options' balance

I hope this scenario helped!

answered Dec 12, 2018 by SDVII
of course this is probably a bit of a complex example, but i wanted it to be as secure and permissioned as possible.

You can do a simpler and much less secure voting system with:
1. 1 or 2 nodes with all permissions by following the steps above
2. Setting `anyone-can-send` and `anyone-can-receive`  to true in the blockchain parameters.
3. ignoring the steps with permissions
4. Instead of handling the accounts externally, you can store the accounts with their private keys in the node and use a normal send transaction instead of a raw one.
I also need to develop a voting system based on multichain , and your approach is very correct , I think the same estructure.
0 votes
I could help by showing you what I already have. Are you interested in helping out? I am creating one now and half way thru. Looking for people to help. www.electionexplorer.net
answered Sep 20, 2019 by gravyplaya