I

Ivonne

User-friendly Smart Contracts to Decentralize Politics

The problem Ivonne solves

The midterms in Mexico were two week ago. But as our teammate said, "A lot of people died in my country. It was not a day to celebrate." Right before the Mexican election, 40 people that were running for office got killed. Ivonne Gallegos was one of them. Our teammate wanted to honor this project to her and the other candidates that died.

So what can we do?

Decentralize political action by making Smart Contracts user-friendly.

We wanted to use Smart Contracts to reduce a heated election cycle. We did not want to keep bracing ourselves every four years for violent, money-wasting campaigns. We wanted to make democracy in real-time and take the pressure of a centralized node, like Ivonne, that can be targetted.

The ability to vote through block-chain is not new. But as we looked at the resources listing smart contracts like misualizer or better-call, we didn't see how most of the 110 million Mexicans (or most of the rest of world) could feel invited to the blockhain. Because Smart Contracts are transparent. But they are not yet accessible.

According to Statista, a third of Mexico is on Instagram. What better way to present Smart Contracts, and their potential to decentralize politics, than to present the database as Instagram.

Currently, the Smart Contracts that appear in our app are connected to a specific Sustainable Development Goal ("you can see the options in the Django models"). In the future, we would like users to vote or give funds to specific campaigns through the app. Our motto, making political action as easy as it is to like an Instagram picture.

Challenges we ran into

We run into issues with originating the smart contracts on the chain. Initially, we tried doing so with smartPy's IDE. It worked for deploying one contract, however, repeating the same actions afterwards lead to an error which prevented us from originating more smart contracts. Upon a successful compilation of a smart contract code, we were using the "deploy Michelson Contract" tab from the IDE. When trying to originate the contract, we were getting multiple errors regarding the data used in the smart contract. It was difficult to debug our smart contracts when the compiler was passing them through without any exceptions. But we just committed to making it happen and eventually got one through.

Discussion