Telos User Guide — Tutorial: Worker Proposals

How to vote for and submit worker proposals

Worker proposals are the way that Telos users can guide and pay for the development, promotion and growth of the Telos network. Telos is the first EOS.IO blockchain with a functional worker proposal system (WPS) and one of the only projects in the blockchain world where all users can vote to determine how network funds are used. This voting means that the Telos users direct how the chain will grow by what proposals it chooses to fund. (Telos users also guide the growth of the network through Ratify/Amend proposals that modify the text of governance documents.)

This article uses examples from Sqrl wallet, which includes advanced Telos voting features in its interface. Please use the latest version of Sqrl (these examples require version 1.0.4 or higher) and only download Sqrl from the link provided on the Telos Foundation website (https://telosfoundation.io).

Opening the Proposals voting page

To find worker proposals voting in Sqrl wallet, select Governance in the menu at the top of the screen. This will open the Governance page where voting functions are found.

Select the Proposals tab to open the Proposals tab page.

Voting for proposals

To vote for worker proposals, open the Proposals tab page. You will see a list of worker proposals, with the most recently submitted proposal at the top of the list. You can scroll down to see more proposals.

Each proposal contains information about:

  • When the voting period begins and ends
  • The amount of TLOS requested and for how many cycles
  • The Requesting Account, which submitted the proposal
  • The worker proposal deposit paid for the account
  • The number of Yes, No and Abstain votes the proposal has received
  • A link to the description of the worker proposal stored on IPFS

Each proposal also has Yes, No and Abstain voting buttons.

Understanding a Worker proposal

Below are brief descriptions of all the parts that go into a worker proposal.

Voting Begins/Ends

Voting begins when the submitter of the proposal starts it by clicking a button in Sqrl or executing the openvoting smart contract action. Once started, proposals cannot be stopped or withdrawn. Voting will continue until the ‘Voting Ends’ time, which is exactly 5 million blocks (about 29 days) after voting began.

Amount Requested and Cycles

A proposal may request any amount of TLOS. To protect against frivolous proposals for large amounts of TLOS, there is a 3% deposit required, which can be recouped if the proposal reaches a certain threshold of user voting.

A proposal may include numerous cycles. Each cycle is a 5 million block voting period that begins immediately upon the closing of the preceding cycle. The submitter will receive the entire requested payment each time a billing cycle ends with the proposal in a position of having been accepted within that cycle. (The standard is a simple majority of Yes votes over No votes and at least 5% of eligible voting tokens cast as Yes, No or Abstain votes.) For example, if a proposer wanted to receive a regular payment of 10,000 TLOS every month for their ongoing work for half a year, they would submit a proposal for 10,000 TLOS in 6 cycles.

Requesting Account

This is the account that will receive the funds if the proposal is approved.

Worker Proposal Fee

The deposit paid by the submitter (3% of requested amount with a minimum of 50 TLOS). This is paid to reduce the network from being abused with multiple frivolous proposals. It can be recouped if the proposal garners votes from at least 0.1% of votable tokens with at least 20% Yes votes.)

Yes, No and Abstain Votes

The number of votes cast for each voting option. Each voter votes with their entire TLOS balance, which are added together that the votes of other users to create an aggregate vote amount for each voting direction.

IPFS Proposal Link

A link to the description of the worker proposal stored on IPFS. This link insures that the original proposal cannot be altered, once submitted. This prevents submitters from changing their deliverables after a vote has been completed.

To vote for a proposal:

Click the Yes button at the bottom of the proposal.

To vote against a proposal:

Click the No button at the bottom of the proposal.

To abstain on a proposal:

Click the Abstain button at the bottom of the proposal. This will not contribute to the Yes or No vote counts but will add to the overall voting weight on the proposal. Proposals need to reach a threshold of at least 5% of available votes to pass, no matter what percentage may vote yes. (A proposal with unanimous Yes votes but only 4.99% of available votes cast would still fail.)

To change or remove your vote from a proposal:

Change your vote at any time by selecting a different button option.

It is not possible to completely remove your vote from a proposal. You can click the Abstain button at the bottom of the proposal to make your vote not count towards either Yes or No votes, however, it will still contribute to the overall voting weight of a proposal.

Submitting a Worker Proposal

The first and probably most important step in submitting a worker proposal is to write a proposal for something that will provide a positive benefit to the Telos network and community, relative to its cost. Engaging with the Telos community and soliciting their input prior to submitting should be considered highly important toward securing any funds. Building a reputation of trust in the community through prior work, such as earlier worker proposals that deliver on their promises and add value to Telos is also an important consideration. Those who are unknown to the community or untested would be well advised to start small with reasonable proposals that can be accomplished to build trust.

A worker proposal can be anything from a blank page to a complex pitch deck. Ideally a proposal will state, at a minimum, how much is being requested, who it will go to, what deliverables are being proposed, important details about the deliverables, a timeframe for delivery, and steps the presenter is taking to ensure successful completion of the project. Voters will not only need to believe in the idea, but the person or team carrying it out.

It is quite likely that a worker proposal with a good idea may be quickly followed on by other, similar proposals that offer to do largely the same thing, but with teams that purport to be better, faster, less expensive, using better methods, or having more community trust. This is a natural outcome of the open proposal system that Telos uses. While some may view this as copying an idea, the bigger picture is that the Telos community benefits from this competition by different teams to provide different approaches to solving common problems. More proposals means more options and opportunities for the community to get the solution that they feel is best for Telos.

The proposal

Assuming you have created a viable proposal, save it in any format from text (.txt), markdown (.md), html or Adobe Acrobat (.pdf). Other formats may work, but these are the more common formats, with PDF/Acrobat being the best at preserving format from IPFS.

Remember that Telos is a global community and presenting your proposal in multiple languages is likely to help your success. People can’t be expected to vote for proposals they can’t read.

The submission and claiming process

Submitting and claiming Telos worker proposals has several necessary steps:

  1. Paying the submission deposit
  2. Submitting the proposal
  3. Starting the voting period
  4. Reclaiming the deposit
  5. Claiming payment for an accepted proposal
  6. Claiming payments for additional cycles, if applicable

To pay the submission deposit

A deposit of 3% of the requested amount of the proposal with a minimum of 50 TLOS must be paid to the account ‘eosio.saving’ prior to submitting a proposal or the proposal will fail.

Calculate the amount of the deposit fee due (3% of the amount requested with a minimum of 50 TLOS. For proposals with multiple cycles, the fee is 3% of a single cycle only).

Send this amount of TLOS from the account that will make the proposal to the account ‘eosio.saving’ as a normal TLOS token transfer. No transfer memo is required, but including one will not affect the deposit.

To verify your submission deposit

Verifying your deposit is not necessary. However, to troubleshoot submissions that do not process, you can see the amount of your deposit to eosio.saving by selecting Tools in the menu at the top of the screen. This will open the Tools page where various functions are found.

Select the Smart Contracts tab to open the Smart Contracts interface tab page.

In the box for Contract Account Name type or select ‘eosio.saving’ and click the Load Contract button.

On the Tables tab, in the Contract Tables drop-down list, select Deposits. Click the Load Table button. When the table loads, look for your account name in the ‘owner’ column and find the deposit amount in the corresponding position in the ‘escrow’ column.

To submit your worker proposal:

Ensure your deposit has been sent to ‘eosio.saving’.

On the Proposals Portal page, click the Submit New Proposal button. This brings up the Submit New Worker Proposal dialog box.

Under Proposal Title, enter the name that you want your proposal to be listed under.

Click the Choose File button and select the proposal file from your computer to upload.

Under Requested Amount (TLOS), type the number of TLOS you are requesting per voting cycle (29 days). Amounts should be numeric and end in a decimal followed by exactly 4 digits.

Under Recipient, type the name of the Telos account where your payment(s) will be sent if your proposal is accepted. This may be the same account submitting the proposal but does not need to be.

Under Cycles, enter the number of cycles that a proposal will run.

Click the Confirm button to bring up the Submit New Worker Proposal dialogue box.

If the summarized details for your submission are correct, click the Submit Proposal button to finalize the submission.

If your worker proposal submission fails

The most common reason for a worker proposal to fail to be submitted is that an adequate deposit has not been paid to the account ‘eosio.saving’ from the account submitting the proposal. Use the process in To verify your submission process, above to ensure the right payment is recorded as coming from the correct account.

To cancel a proposal submission:

A proposal submission can only be canceled before you start the voting period.

On the Proposals Portal page, find the proposal you wish to cancel. It will most likely be at the top of the list of proposals.

Click the Delete Proposal button. This brings up the Delete Worker Proposal dialog box.

Click the Delete Proposal button to permanently delete the submitted proposal. Be aware: Deleting the proposal does not return your deposit fee. Your fee will be lost permanently.

To start the voting period:

On the Proposals Portal page, find the proposal you wish to start. It will most likely be at the top of the list of proposals.

Click the Start Ballot button. This brings up the Open Voting for Proposal dialog box.

Click the Start Ballot button to begin the 5 million block voting period for the submitted proposal.

When you return to the proposal, the Voting Begins and Voting Ends information will have updated to reflect the voting period.

To reclaim your deposit fee:

Select Tools in the menu at the top of the screen. This will open the Tools page where various functions are found.

Select the Smart Contracts tab to open the Smart Contracts interface tab page.

In the box for Contract Account Name type or select ‘eosio.saving’ and click the Load Contract button.

On the Actions tab, in the Contract Actions drop-down list, select getdeposit. Under the Action Parameters section, owner text entry box, enter the name of the Telos account that has a deposit to reclaim (the same account that submitted the worker proposal). Click the Create Transaction button.

This will open a Review Transaction screen. Click Sign + Broadcast Transaction to complete the getdeposit action.

To claim payment for an accepted proposal:

Once voting ends on a proposal, if it has been accepted by a simple majority of 5% of eligible voting tokens, then the submitter may claim the proposal amount. The funds are not automatically sent to the account. The proposer must claim them.

On the Proposals Portal page, find the proposal you wish to claim. It may be down the list of active proposals.

Click the Claim button. This brings up the Claim Worker Proposal dialog box.

If a proposal is accepted in another cycle, repeat this process after each cycle.

When you claim worker proposal funds, please remember that you have been entrusted by the Telos users with the network’s funds on the promise that you will deliver on your promised items or actions. Failure to deliver as promised not only jeopardizes your ability to win worker proposals in the future, but you may also be sent to binding arbitration by the Telos block producers for failure to deliver on your paid proposal. Please respect the trust that the Telos users have placed in you with their votes and funds.

More about GoodBlock can be found at: www.goodblock.io

Join us on Twitter @GoodBlockio

Vote for GoodBlock on the Telos Blockchain Network @goodblocktls