Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The Zenon Node znnd
has the following default data paths:
Linux: ~/.znn
MacOS: ~/Library/znn
Please note that the path can be different due to the hardened runtime policy
Windows: C:\Users\yourusername\AppData\Roaming\znn
You can change the default DataPath
using znnd --data "value"
The Zenon Node has the following folder structure:
EpochDurationInSeconds
: 24 60 60 (1 day)
MomentumTime
: 10 seconds
PillarStakeAmount
: 15000 ZNN
PillarQsrStakeBaseAmount
: 150000 QSR
PillarQsrStakeIncreaseAmount
: 10000 QSR
PillarEpochLockTime
: 83 epochs
PillarEpochRevokeTime
: 7 epochs
PillarNameLengthMax
: 40 characters
SentinelZnnRegisterAmount
: 5000 ZNN
SentinelQsrDepositAmount
: 50000 QSR
SentinelEpochLockTime
: 27 epochs
SentinelEpochRevokeTime
: 3 epochs
StakeTimeUnit
: 30 epochs
StakeTimeMin
: 30 epochs
StakeTimeMax
: 360 epochs
StakeMinAmount
: 1 ZNN
FuseMinAmount
: 10 QSR
FuseExpiration
: 10 hours
TokenIssueAmount
: 1 ZNN (burned)
TokenNameLengthMax
: 40 characters
TokenSymbolLengthMax
: 10 characters
TokenDomainLengthMax
: 128 characters
TokenMaxSupplyBig
: 2^255 - 1
TokenMaxDecimals
: 18
SwapAssetDecayEpochsOffset
: 90
SwapAssetDecayTickEpochs
: 30
SwapAssetDecayTickValuePercentage
: 10
There are 3 types of nodes: Pillar, Sentinel, Full Node.
For the Pillar deployment process one will need access to both a local and a remote machine. The local machine is represented by the controller wallet, where you create the Pillar Slot and register the Pillar on the network. The remote machine is usually represented by a VPS with some minimum recommended specs and a public IP that is actively participating in the consensus protocol.
You will need to generate 3 distinct addresses for the Pillar creation tutorial:
pillarAddress
= address from which the Pillar is registered that contains the necessary funds (15,000 ZNN that will be locked and can be recovered after you disassemble the Pillar and 150,000 QSR + additional 10,000 QSR for every new Pillar Slot in the network that will be burned and cannot be recovered)
pillarRewardsAddress
= address used to collect the Pillar rewards
producerAddress
= address used to produce the momentums that is stored on the remote machine; must be generated from a different seed than your local wallet keyStore for security purposes
The Sentinel deployment process is similar to the Pillar deployment process.
The latest version of the s y r i u s
wallet is recommended to be used as controller wallet. Advanced users can use the znn-cli
instead.
These commands should be issued from your remote machine (e.g. VPS). If you won't use a VPS provider, you will need an additional setup including enabling port forwarding. This tutorial is intended for a VPS with some minimum recommended specs and a public IP.
CPU >= 4 cores
RAM >= 4 GB
Storage >= 40 GB free space
>100Mbps network dedicated bandwidth
Linux distros
e.g. Ubuntu 20.04 LTS/Debian 11
Recommended NTP configuration
*
Recommended Watchdog service
*
(*) Included if the setup is performed using the znn-controller
znn-controller
See zenon-network / go-zenon for the latest releases.
znn-controller
as rootThe Zenon Alphanet (Phase 0) binaries are available for Linux, macOS and Windows x86_64 CPU architecture operating systems.
Ubuntu 20.04 LTS
was used for this tutorial.
Download znnd
, znn-cli
and znn-controller
from their respective GitHub repos. Please note that znn-controller
is only available for Linux at the moment.
Import the Zenon Testnet PGP key from hkps.pool.sks-keyservers.net
If you don't have gpg
installed, please use sudo apt install gnupg
Verify the signature. The same command can be used on macOS:
If you are on a Linux machine, use the znn-controller
option 1) Deploy
:
Otherwise use:
Inspect the config.json
file using your favorite text editor.
Navigate to ~/.znn/config.json
.
Check if the http
, websocket
entries are enabled (true
). By default, all Endpoints
are public.
The default HTTPPort
is 35997
and WSPort
is 35998
.
You can also disable the RPC communication via znn-cli
:
If you have pending funds you should see messages like these:
In order to receive the ZNN you need to issue the command receive
with the corresponding hash:
If you don't have Plasma, you'll need to generate it via PoW, please wait.
Similarly, you'll receive the QSR by issuing the command receive
with the corresponding hash:
You can use the stop command from znn-cli
if znnd
is located at the same working directory:
If you deployed via znn-controller
please use option 4 (Stop service)
Otherwise use:
Follow these instructions to deploy a Pillar or Sentinel.
The wallet data is stored inside a KeyStore
AES-256-GCM
for symmetric encryption
Argon2.IDkey
as Key Derivation Function
time: 1
memory: 64 * 1024
threads: 4
key_length: 32
An encrypted KeyStore
is referred to as KeyVault
.
Ed25519
is a deterministic signature scheme using curve25519
Ed25519
which is compatible with BIP44
key parameter: ed25519 seed
hardened offset: 0x80000000
Alphanet (Network of Momentum Phase 0) uses coin_type
value 73404
bech32
human readable part: z
data
user account prefix byte: 0
embedded contract prefix byte: 1
core: first 19
bytes of sha3(pubKey)
address: bech32(hrp, data)