This project is modeled on Marc Jansen’s WavesLPoSDistributer and follows the same conventions as much as possible. The objective is being a drop in replacement. Following the same architecture has the added bonus of being able to verify the correctness of each script’s output.
The code was written from scratch, with the intent of improving several areas:
- providing easier, centralized configuration that is isolated in a separate file;
- lowering memory and disk requirements;
- lowering execution time;
- allowing data analysis and statistics on top of the blockchain information
There is some overlap with functionality provided by Waves data service API and Waves blockchain — PostgreSQL sync scripts, but these projects currently don’t provide all the information required to calculate a node payout (namely the lease information).
As in WavesLPoSDistributer you can use the payment utilities to execute payments for any file that conforms to the
payout.json format. So if you have any home brew utilities that write their output in this format you can keep on using them as usual.
Any ideas on how to improve, pull requests, or any kind of constructive feedback is accepted. A couple of ideas for future versions are:
- Airdrop script
- database support for more transaction types
- a REST interface to extract information from the database