Zilliqa (codename Durian)
Overview
Zilliqa is a scalable smart contract platform that aims to tackle the congestion issue plaguing the blockchain industry. Zilliqa utilises a unique sharded architecture to achieve parallel processing of transactions while maintaining a large number of public nodes. Hence, Zilliqa is a blockchain capable of reaching high throughput and processing more complex computations while remaining decentralised and secure.
- If you’re interested in mining Zilliqa, see here: https://github.com/Zilliqa/Zilliqa/wiki/Mining.
- If you’d like to use the interface with Zilliqa nodes to transfer ZIL and deploy/call smart contracts, see here: https://apidocs.zilliqa.com/.
- If you’re interested in hacking on the Zilliqa code base, see the Coding Guidelines.
NOTE: The
master
branch is not for production as development is currently being worked constantly, please use thetag
releases if you wish to work on the version of Zilliqa client that is running live on the Zilliqa blockchain. (Current live versiontag
release isv4.4.1
)
Zilliqa Mainnet
URL(s) | |
---|---|
API URL | https://api.zilliqa.com/ |
Block Explorer 1 | Link |
Block Explorer 2 | Link |
Developer Testnet
URL(s) | |
---|---|
API URL | https://dev-api.zilliqa.com/ |
Block Explorer | Link |
Faucet/Wallet | Link |
Available features
The current release has the following features implemented:
- Network sharding
- Transaction sharding
- Ethash Proof of Work (PoW) for joining the network
- GPU (OpenCL and CUDA) for PoW
- Gas rewards and pricer
- Coinbase rewards
- EC-Schnorr signature
- pBFT Consensus mechanism
- Data layer and accounts store
- Smart contract layer
- State delta forwarding
- Lookup nodes and Seed nodes for receiving and dispatching transactions
- Persistent storage for transactions and state
- S3 storage retrieval from archival nodes
- View change mechanism
- Node recovery mechanism
- Protocol upgrade mechanism
- Gossip protocol for network message broadcasting
In the coming months, we plan to have the following features:
- Further unit and integration tests
- Enhancement of existing features
- More operating system support
- And much more...
Minimum system requirements
To run Zilliqa, we recommend the following as the minimum system requirements:
- x64 Linux operating system such as Ubuntu
- Intel i5 processor or later
- 2 GB RAM or higher
Build Dependencies
-
Ubuntu 16.04:
sudo apt-get update sudo apt-get install git libboost-system-dev libboost-filesystem-dev libboost-test-dev \ libssl-dev libleveldb-dev libjsoncpp-dev libsnappy-dev cmake libmicrohttpd-dev \ libjsonrpccpp-dev build-essential pkg-config libevent-dev libminiupnpc-dev \ libprotobuf-dev protobuf-compiler libcurl4-openssl-dev libboost-program-options-dev \ libssl-dev
Build from Source Code
Build Zilliqa from the source:
# download the lastest stable Zilliqa source code
$ git clone git@github.com:Zilliqa/Zilliqa.git
$ cd Zilliqa && git checkout tag/v4.4.1
# build Zilliqa binary
$ ./build.sh
If you want to build the development branch instead, do:
$ git checkout master
Boot up a local testnet for development
-
Run the local testnet script in
build
directory:$ cd build && ./tests/Node/pre_run.sh && ./tests/Node/test_node_lookup.sh && ./tests/Node/test_node_simple.sh
-
Logs of each node can be found at
./local_run
. -
To terminate Zilliqa:
$ pkill zilliqa
Further enquiries
Link(s) | |
---|---|
Development discussion | |
Bug report | |
Security contact | security 🌐 zilliqa.com |
Security bug bounty | https://bugcrowd.com/zilliqa |