November 24th-25th Challenge
Create and deploy a voting smart contract

Assume this is a smart contract for voting on a US president.
The contract should have the following methods:

  • Add candidate: adds a potential candidate that users can vote on
  • View candidates: view all the candidates and the number of votes they have
  • Vote: anyone with a NEAR wallet can vote on *one* candidate *once*

You do not have to worry about permissions. We won't deduct points if anyone can call every method
You can write the contract in any language

How to win 

  • Deploy the contract on testnet
  • Share the commands on the Discord thread under the channel #challenge-7-voting-contract so we can vote and view candidates


  • Everyone who completes the challenge gets 300 points
  • The 5 funniest names of fungible token gets 100 points
  • The most creative solution (judged by the NEAR team) gets 500 points
  • The three most helpful people in the Discord (judged by the NEAR team) get 200 points each
  • Anyone who can write a GOOD tutorial (judged by the NEAR team) for writing a smart contract on NEAR gets 300 points each
  • Combo Bonus: +40 points for each challenge you complete in a row

You might find these resources helpful: A voting contract in Solidity, and NEAR's live contract reviews.

Join in All challenges