Skip to content
Trail is a Voting Platform for the Telos Blockchain Network.
C++ CMake Shell
Branch: master
Clone or download
Pull request Compare This branch is even with Telos-Foundation:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
contracts
docs
libraries
tests
.gitignore
.gitmodules
CMakeLists.txt
LICENSE.txt
README.md
build.sh
deploy.sh

README.md

Trail Voting Platform

Trail is an on-chain voting platform for the Telos Blockchain Network that offers an extensive suite of voting services for users and developers.

Features and Services

  • Secure Ballot Hosting

    Any user on the Telos Blockchain Network may create and publish a public ballot that is secured and hosted through Trail. During ballot creation, the ballot publisher selects a specfic token to use for counting votes. The default is the standard VOTE token - usable in all Telos Governance ballots, but Trail offers additional services for creating privately managed tokens that ballots can use for counting votes instead.

  • Advanced Voting Methods

    The Trail Voting Platform boasts an extensive set of voting methods that transform how votes are applied to ballot options. With these voting methods, ballot publishers are able to customize how they want to handle differences in voters' token balances and how those tokens should be cast among multiple choices on the ballot.

  • Custom Token Treasuries

    Any user on the Telos Blockchain Network may create a custom token treasury that automatically inherits Trail's entire suite of voting services. These treasuries govern the minting and distribution of tokens and can also be customized to allow or disallow specific token behaviors like transferring, burning, staking, or reclaiming. Once a treasury has been created, any voter with a balance of it's tokens may publish public ballots accessible to all other holders of that same token.

  • Committee Management Tools

    Trail offers a suite of committee creation and management actions that are available to any active token treasury and its voters. Developers can also hook their external smart contracts into Trail's committee tools to enable complete on-chain management of committees and their members.

  • Traceable Vote Integrity

    Trail's custom rebalance system allows workers to recalculate vote weights when a voter's token balance changes. Workers who perform this service are eligible for payment rewards in proportion to the amount of work they have performed compared to all other workers in the treasury. Future updates will allow for optional identity services to futher enhance voting and platform features.

  • Integrated Payroll System

    All treasuries created on the platform have access to Trail's payroll system, allowing managers to continuously fund operations within their own treasury. Multiple payrolls can be created under a single treasury, each with their own bucket of funds that are released to designated recipients at a customizable rate.

  • Optional Light Ballots

    Light ballots disable the on-chain vote tracking portion of the voting process - this allows for developers to track votes in an off-chain database that is built by an Iris, Demux, or Spectrum style service instead.

    This option enables Trail to power vastly more voting services by saving RAM costs for both the platform and voters, while at the same time retaining the complete traceability and auditability benefits offered by the Telos blockchain.

  • Profitable Worker Services

    Trail has several janitorial actions that incentivize workers on the network to maintain an optimized voting system. Workers are paid proportionally for their work in keeping the platform clean and balanced for all users.

Trail Documentation

Name Description
Starter Guide Breakdown of Trail features for developers interfacing with Trail.
Voter Guide How to become a voter and participate in ballots.
Treasury Guide How to create and manage Trail Treasuries.
Worker Guide How to perform work and the types of jobs available.
Contract API Full Action and Table Breakdown.

Roadmap

Ongoing

  • Platform Optimization

Q4 2019

  • Example Guides
  • External Contract Examples

Q1 2020

  • Additional Worker Services
  • Additional Voting Methods

Q2 2020

  • Delegates, Delegate Voting
  • External Token Mirroring

Down Yonder

  • Optional Identity Services

Idea Board

Join the Firewatch

The Firewatch is a league of voters and developers dedicated to running a secure and optimized voting platform. Firewatch workers may claim a portion of Trail profits proportional to their recent contributions, and may also be eligible for platform-wide leaderboard rewards.

The TRAIL Token

Trail has a platform specific token that is only obtainable by performing various jobs and tasks that help optimize the platform by cleaning expired votes, rebalancing active vote receipts, and completing and interacting with valid ballots.

Proposed Use Cases:

  • Burn in exchange for free Treasury Creation, Ballot Listing, or Committee Registration.
  • Burn in exchange for extension on Payment Claim deadlines.
  • Burn in exchange for listing on Featured table.

Disclaimer: The TRAIL token is not an ICO nor should it be considered for investment or speculative purposes. It is a reward for user assistance in maintaining an efficiently run voting platform and will have evolving purposes as the platform grows.

References

  1. Voting Methods by Eric Pacuit - Stanford Encyclopedia of Philosophy

Contributing to Trail

Trail is an open-source voting platform where contributions and improvements are welcomed by the community.

To make a contribution, simply fork this repo and submit a PR for your changes. In order to avoid duplication of work, it's best to engage with the community first to determine what would be an acceptable addition to the platform.

Discussion happens mostly on Telegram, so feel free to join the Telos Dapp Development chat and pitch your idea!

You can’t perform that action at this time.