TAPS 1.0 released!

Tezos Automatic Payment System

Luiz Milfont
Coinmonks
Published in
6 min readMar 1, 2019

--

Rio de Janeiro, February 28th 2019. TezosRio has launched its first project to the public after TezosJ_SDK library. An important milestone for us.

TAPS is intended to help Tezos bakers to automate their tasks. Its main feature is the distribution of rewards to delegators automatically. TAPS does this by running a fetch task once in a while (each 60 minutes) to get information from TzScan.io and comparing the Tezos network rewards-pending-cycle with the rewards-pending-cycle registered in the TAPS local database.

If they are different, it means that the network has delivered rewards to bakers. Until now, bakers should then transfer rewards to its delegators manually, which was a time consuming task. By using TAPS, the event of a cycle change triggers the rewards distribution automatically and allows some calculations in the process. For example, charging the fee.

First alpha version of TAPS has been launched some weeks ago, and got good feedback from users. Nevetheless, as expected, some suggestions have been made. The main one being to add a native wallet in TAPS.

By having its own embedded native wallet, TAPS could function independently from the Tezos node. First version used the tezos-client command to do transfers, which can be difficult to set up, as higher security might imply in less flexibility — there is always a trade-off.

TAPS native wallet works as a water tank. The resources for transfering rewards payments to delegators will come from this account (instead of the Tezos node main wallet). Which means that even if the code was bad programmed and entered into an infinit loop, it would never compromise node resources.

This has a security advantage and rises flexibility, although lowers the automation, as it demands that this “water tank” keeps filled with enough resources to do the payments. So, by using this feature, bakers should eventually transfer funds to TAPS native wallet.

Anyways, its an important tool that shall ease baker’s work. TAPS, also, uses our main project, TezosJ_SDK library, to create, import and control the native wallet.

This new version of TAPS will also allow bakers to print PDF reports with the rewards distribution history.

To begin using TAPS, follow the installation instructions as written in our last article, as it has some requirements to set up:

Then log in the system through your web browser, using http//127.0.0.1:8888/taps/index.cfm and, at the first time, use admin/admin as user and password combination:

TAPS authentication page

You will be presented with the SETUP configuration page, where you can enter your baker’s details to make TAPS work properly.

Baker’s configuration setup

The new version main difference here can be seen at the bottom of the page. You will see a radio button by which you can choose if you want TAPS to function as before (directly using Tezos node resources to make transfers) or if you want TAPS to get resources from its own native wallet.

If everything goes fine, you will see the congratulations page, which confirms you have successfully configured TAPS.

But there is one more step ahead if you chose to use native wallet. You must create a new wallet and fund it with resources. This can be done in the WALLET menu option:

You can either create a new wallet or import an existing one. Don’t forget to follow all the well known good practices in wallet creation: write down in a piece of paper the passphrase, mnemonic words and store it in a safe place.

Also, test the wallet by making a small amount transfer (like 1 xtz) to it, and then, from it to another address.

If you click the RECEIVE button, TAPS will show a QRCODE to allow to the wallet address be read by mobile wallet apps.

You will only be able to use all TAPS features if you have created or imported the native wallet. After having a functional wallet, now it’s time to set TAPS working mode: OFF, Simulation or ON. If you set it to OFF, TAPS will not run the scheduled task and thus, will not fetch TzScan.io, nor do any payments. If you set it to Simulation, TAPS will do all the work: get info from the network, check and register events, but will not use any real funds. This will only happen if you set STATUS to ON. This way TAPS will query TzScan.io, detect cycle change and distributes rewards to delegators at cycle change, even after you have logged out from it (the scheduled task will remain operating).

You can see a list of your delegators by choosing the DELEGATORS menu option. It will also show their individual balance, share, rewards for the pending distribution cycle, configured fee and actual receiving value. Note that only delegators with share higher than or equal 0.01% and rewards higher than 0.10 xtz will be considered.

By choosing the menu option FEE, you will be able to change the charged fee individually for each one of your delegators.

After a cycle turn, when TAPS do its job, making the rewards payments automatically, you will be able to see results through the PAYMENTS menu option:

Payments history page

If TAPS was configured to Simulation, then real payments will not be made, but you will be able to see the history of the simulated payments. Otherwise, if set to ON, then the payments will be for real and you will see “paid” shown in the result column. Note that there are two PDF reports available: one of them will allow you to print the entire payments history, including all cycles. The other one will print only the last paid cycle, for archieving:

Example of TAPS PDF report

We really think this work might help bakers to have a better experience in managing their nodes and also improve the Tezos environment so rewards have a more robust way to be delivered with less human intervention.

Users’ feedback is always important so we can have a sense of priorities. We are already studying the best way to implement batch payments, as other bakers suggested to us as being important.

Please, if you use TAPS and have something to say about it, let us know. We really want to contribute to Tezos environment with the knowledge and experience we have.

Luiz Milfont

Tezos.Rio

Get Best Software Deals Directly In Your Inbox

--

--