zen
zen
package, entirely written in python, provides True Block Weight
utilities for DPOS pool.
Support this project
Buy Ѧ and:
- Send Ѧ to
AUahWfkfr5J4tYakugRbfow7RWVTK35GPW
- Vote
arky
on Ark blockchain and earn Ѧ weekly
Supported blockchain
- Ark
Install
last release
bash <(curl -s https://raw.githubusercontent.com/Moustikitos/ark-zen/master/bash/zen-install.sh) 3.0.0
development version
bash <(curl -s https://raw.githubusercontent.com/Moustikitos/ark-zen/master/bash/zen-install.sh)
Configure
cd ~
$HOME/ark-zen/bash/activate
./zen initialize
This command restarts relay
.
zen
command
cd ~
$HOME/ark-zen/bash/activate
./zen --help
Usage:
zen (reset | initialize | snap-blockchain | rebuild | remove-custom-peer)
zen (start-srv | stop-srv | log-zen | log-bg)
zen configure <username> [-s <share> -w <wallet> -t <threshold> -e <excludes> -b <block-delay> -f <fee-level>]
zen add-delegate <username> [-h <webhook-peer>]
zen configure [--max-per-sender <max-per-sender> --fee-coverage --chunk-size <chubk-size>]
zen (launch-payroll | resume-payroll | retry-payroll | check-applied) <username>
zen adjust-forge <username> <value>
zen remove-delegate [<username>]
zen append-custom-peer <peer-list>
Options:
-b --block-delay=<block-delay> : block amount to wait beetween payroll
-e --excludes=<excludes> : coma-separated or file address list to exclude from payroll
-w --wallet=<wallet> : delegate funds wallet
-f --fee-level=<fee-level> : set the fee level for the delegate
-h --webhook-peer=<webhook-peer> : define the webhook peer to use
-s --share=<share> : delegate share rate (0.0<=share<=1.0)
-t --threshold=<threshold> : minimum amount for a payment
-n --name-list=<name-list> : *.tbw coma-separated name list
--max-per-sender=<max-per-sender> : max transaction not considered as spam attack [default:300]
--chunk-size=<chunk-size> : max transaction per request [default:30]
--fee-coverage : delegate covers transaction fees (flag)
Subcommands:
reset : initialization starting from ark-core config folder
initialize : initialization starting from delegates configuration
rebuild : rebuild database from snapshots
configure : configure options for a given <username>
start-srv : start the true block weight server tasks
stop-srv : stop the true block weight server tasks
log-zen/bg : log true block weight server or background tasks
launch-payroll : create a payroll for <username> (true block weight status reseted)
retry-payroll : retry a specified payroll for <username> (true block weight status unchanged)
resume-payroll : resume existing <username> payroll (true block weight status unchanged)
add-delegate : add <username> without relay initialization (use if bip39 secret protection)
remove-delegate : remove delegate from list or specified by <username>
snap-blockchain : update snapshot or create it if no snapshot initialized yet
append-custom-peer : append custom peer from comma-separated-peer or newline-separated-peer file
remove-custom-peer : remove one or more custom peer from a selection list
Specific tweak
You should tweak the env.CORE_TRANSACTION_POOL_MAX_PER_SENDER
value to fit the number of voter. If not, part of payroll will be considered as spam.
For example, if your delegate is upvoted by 100 wallets, set the value to 110 (100+10%) :
$HOME/ark-zen/bash/activate
./zen configure --max-per-sender 110
Notice that relay
have to be restarted then.
Notification system
4 notification types are available. Notification service is activated if a json configuration file is present in .json
folder.
freemobile (french only)
Notification option must be enabled in your Free mobile account. Then, copy your parameters in freemobile.json
file :
{
"user": "12345678",
"pass": "..."
}
twilio
Copy your parameters in twilio.json
file :
{
"sid": "...",
"auth": "...",
"receiver": "+1234567890",
"sender": "+0987654321"
}
Pushover
Copy your parameters in pushover.json
file :
{
"user": "...",
"token": "..."
}
Pushbullet
Copy your API token in pushbullet.json
file :
{
"token": "..."
}
zen
front-end
Releases
Andromeda (v1.2.0)
- true block weight
- secured payrolls
- command line interface
- light weight HTML front-end
- multiple pool management
Boötis (v1.3.0)
- enable remote delegate management
- blockchain database rebuild
- snapshot management
- custom peer management
Boötis - minor tweaks (v1.3.1)
- reward distribution improvement
Cassiopeia (v1.4.0)
- automatic fee coverage
- transaction history rebuild
- delegate targetting
Cassiopeia - minor tweaks (v1.4.1)
- fee coverage is now optional
- delegate targetting is now optional
Cassiopeia - minor tweaks (v1.4.2)
- ark-zen runs with both ark-core mainnet and devnet
Delphinus (v1.5.0)
- ark-zen runs with ark-core 2.1.x
- html front-end improvement
Eridanus (v1.6.0)
- notification system added (SMS or push)
- ark-zen runs with ark-core 2.2.x
- added node checker
Fornax (v1.7.0)
- ark-zen now runs in virtualenv
- server auto-configuration using gunicorn and nginx
- minor bugfixes and improvements
Fornax (v1.7.1)
- setup script improvement
- initialization improvement
- added relay checker
Fornax (v1.7.2)
- front-end improvement
- added FAQ page
- background tasks merged
Fornax (v1.7.3)
- persona network compliancy
Gemini (v1.8.0)
- dposlib 0.2.1 compliancy
- ark v2.4.1 compliancy
Gemini (v1.8.1)
- ark v2.5.1 compliancy
Hydrus (v1.9.0)
- dposlib 0.2.2 compliancy
- background tasks added
- block computation daemonization
- logging improvement
- better error handling
Lupus (v2.0.0)
- ark-core 2.6 compliancy
- dposlib 0.3 compliancy
- use multipayment transaction
Lupus (v2.0.1)
- nonce bugfix
-
retry-payroll
updated -
bg
module updated
Monoceros (v3.0.0)
- virtualenv target choice on zen installation
-
zen
andbg
run as system services