TronVote

A mobile project to allow treasury funds to be distributed via requests and democracy

Project description


For the Tron ecosystem to reach its full potential, a global democatic Treasury service is needed to allow projects to outsource their growth to their communities.

The TRONVOTE project aims to offer the ability to any Tron Deployed project to create and manage a treasury account and use it to fund any applicants (beneficiaries) that ask for funding to carry out any task or process with the aim of promoting the project ecosystem.

For Example:
Assume we have "TRON Project 1" and that Alice is an enthusiast and follower of this project. Alice believes she can get involved to help promote "TRON Project1". Here are some examples of how Alice might help:

  • Organise a physical conference with live broadcasting
  • Arrange a local meetup
  • Run a Twitter / Reddit campaign
  • Organise a hackathon
  • Create Promotional or Educational Videos
  • Write and Publish Medium articles
  • Write documentation on “How to do” a task on the project
  • Write additional external code for the project (dashboards / analytics / mobile apps
  • Create logos and promotional material

Alice decides she wants to organise her own local meetup for enthusiasts of "Tron Project 1" so she also accesses the TRONVOTE DApp and creates a referendum to allow her proposal to be voted on by the other project users. Within her referendum she explains what she wants to do and the funds that she is applying for to complete the task from the "TRON Project 1" Treasury.

The community then votes on Alice's referendum and if successful at the end of the voting period, the funds are automatically transferred from the "TRON Project1" Treasury account to Alice's account.

After the completion of Alice's event, the community have the opportunity of scoring Alice's performance and this will effect the amount of funds that Alice can apply for from the Treasury account next time either in a positive or negative way.

Alice can build up a strong reputation within the community, with a proven track history of sucessful funding.

"TRON Project 1" expands its community involvment exponentially.

Inspiration

This project was developed to help community engagement.

What it does

This DApp allows a project team to setup and fund a Treasury account.
Users can then submit requests for distributions from the fund account for events that help the project.
These requests are then voted on by the community in a referendum.
If a referendum is passed, the funds are distributed to the beneficiary.
Afterwards, the beneficiary is scored on their fulfilment of the event and this score contributes to their reputation in future funding requests.

How we built it

The DApp was built using the following:

  • React Native
  • Solidity
  • IPFS
  • Javascript

Challenges we ran into

Developing a mobile only solution was much harder than a desktop browser solution, but true engagement in democracy and voting can only really be achieved with this approach.

Keeping main contract tronGovernance within the permitted storage limits.
Especially the referendum struct was restructured multiple times to be kept within permitted 12 Fields. This raised the issue of storing most information and metadata in IPFS which demanded its own learning curve.
Developing on mobile phone comes with a number of challenges such as handling tronweb and
account transaction signing.
For example it took a significant amount of time in not being able to create fresh accounts on the mobile using tronweb.

Accomplishments that we're proud of

Adding Real value to the adoption of Tron ecosystem using Mobile Phone Dapp.
Ability to create treasury smart contracts and fresh account from Mobile Dapp.
Reading and Writing data to IPFS from Mobile phone.
Voting via mobile and adding conviction to votes by locking tokens worked out really well.

What we learned

A lot about the Tron ecosystem and the ways that mobile devices interact with the blockchain.

What's next for TronVote

The project can be expanded to improve the scoring and reputation system, notifications can be generated to inform users that new referendums have started or near to finishing.

Built With

Share this project:

Updates