In key whitelisting mode, blockchain data is pulled by the seed from Zilliqa Research-hosted public seed nodes in periodic intervals. Exchanges using this mode generate a public-private key pair and share their public key with Zilliqa Research for whitelisting.
This section describes Option 2 for key whitelisting mode, which uses
p2pseed-configuration.tar.gz and does not require opening an inbound port.
Preparing the Machine
We highly recommend using Docker to set up a seed node, as we provide a tested, production-ready image for your use. If you have not yet set up docker, please follow the instructions on the official documentation.
Once you have set up Docker, you may proceed to download the configuration tarball for the mainnet:
Once you have successfully uncompressed the tarball, you should generate a new keypair for whitelisting by Zilliqa Research:
The first value from the ouput is the public key and second value is the private key. The public key has to be shared in advance while submitting the KYC form. The private key is required to start the seed node.
Any number of seed nodes can use this key pair simultaneously. Hence, you only need to provide one key for whitelisting no matter how many seed nodes you will be operating.
This approach has been tested on Ubuntu 18.04 and involves compiling C++. We strongly recommend you consider using the Docker image provided above.
If you cannot or do not wish to use Docker, you may also build the Zilliqa binary from source and run it as such.
The build should exit with no errors. Once it is complete, download the configuration tarball, and generate a keypair:
Configuring the Node
The node requires some configuration before it can successfully join the
network. Most configuration is contained in
constants.xml, which should be
in the directory we extracted
p2pseed-configuration.tar.gz to. Minimally, the
following changes are required:
- Change the value of
trueif your seed node will support websockets (refer to the Zilliqa Websocket Server documentation).
Joining the Network
Before proceeding with this step, make sure you have completed the necessary KYC (for individual).
Once the preliminary steps have been completed, joining the network is relatively straightforward.
You will be asked a series of questions. When asked to enter the private key, please enter the value you provided us when you submitted the KYC form. This is crucial, as your node will not work with anything else.
Sample instructions to be followed for launch are provided below.
If you have successfully completed the above steps, you should have
a functioning seed node that exposes an RPC API on
localhost:4201. You may
further check the logs at
The following articles in this series will demonstrate a simple set of functions that can be used as a starting point for exchange developers to implement their own custom business logic around the Zilliqa blockchain. You may find the full source code of the example app in the same repository.