/Zilliqa

Zilliqa is the world's first high-throughput public blockchain platform - designed to scale to thousands ​of transactions per second.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

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.

NOTE: The master branch is not for production as development is currently being worked constantly, please use the tag releases if you wish to work on the version of Zilliqa client that is running live on the Zilliqa blockchain. (Current live version tag release is v4.5.0)

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

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.5.0

# 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

  1. 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
  2. Logs of each node can be found at ./local_run.

  3. 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