RateMyTeam is a PoC demonstrating the abilites of Tezos smart contracts and our tools tezosgen and TezosSwift. RateMyTeam solves the following problem: every year we distribute bonuses to the various teams of our company. To make this process transparent, every team member would get a limited number of votes that can be casted to whichever team they felt like performed the best that year. When the vote ends, all tokens from the contract are distributed to the candidates depending on how many votes they have received during the voting process. But this voting process can be expanded to many other use cases, so feel free to experiment with it 🙂
This app, as it is a PoC, runs on Carthagenet - that means that do expect that contracts that you use will be deleted eventually.
The easiest way to get yourself up and running with your contracts are the following steps:
- Go to https://smartpy.io/demo/faucetImporter.html
- After you download data from the Faucet, copy your private key (this key will be then used to sign you in the app!)
- Change the node to https://rpcalpha.tzbeta.net/
- Leave protocol to Babylon, activate account and when it is included in the network, reveal it
- Go to https://smartpy.io/test2/
- Paste the contract code from the root folder of this repo in
contract.py
file - Edit addresses to your desired ones (
addr4
is a master that can end the vote,addr5
andaddr6
are votes - you probably want your new account to be in these addresses, other addresses will appear on the ballot) - Run the code, change to
Michelson
tab and hit deploy contract - Paste your private key, change the node again to https://rpcalpha.tzbeta.net/
- Type in the amount you want for your contract (generally it is good to go over the below gas limit in order for the contract to work properly)
- Deploy contract
- Open RateMyTeam app, paste in your private key, hit plus button and paste in the address of the originated contract
- Vote and have fun!
To build this app, first clone this repository and then run pod install
. After you open Xcode, you should be able to build the app.