Giter Site home page Giter Site logo

danielchudc / zilliqa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zilliqa/zilliqa

0.0 1.0 0.0 150.26 MB

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

Home Page: https://www.zilliqa.com

License: GNU General Public License v3.0

CMake 2.20% C 1.25% C++ 90.03% Shell 1.73% Python 4.00% Dockerfile 0.14% Cuda 0.63% Makefile 0.03%

zilliqa's Introduction

Zilliqa

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.

Zilliqa Mainnet

The current live version on the Zilliqa Mainnet is Zilliqa v7.2.0 and Scilla v0.9.1.

URL(s)
API URL https://api.zilliqa.com/
Block Explorer Viewblock
DEVEX

Developer Testnet

The current live version on the Developer Testnet is Zilliqa v7.2.0 and Scilla v0.9.1.

URL(s)
API URL https://dev-api.zilliqa.com/
Block Explorer Viewblock
DEVEX
Faucet Link

Zilliqa Improvement Proposal (ZIP)

The Zilliqa Improvement Proposals (ZIPs) are the core protocol standards for the Zilliqa platform.To view or contribute to ZIP, please visit https://github.com/Zilliqa/zip

Available Features

The current release has the following features implemented:

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 minimum system requirements specified in our Mining page.

Build Dependencies

The officially supported operating system is Ubuntu 16.04, until Zilliqa v6.4.2.

Effective Zilliqa v7.0.0, the officially supported operating system is Ubuntu 18.04. Although Zilliqa continues to be backward compatible with Ubuntu 16.04, we recommend users to upgrade to Ubuntu 18.04 moving forward.

Run the following to install the build dependencies:

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 libmicrohttpd-dev \
    libjsonrpccpp-dev build-essential pkg-config libevent-dev libminiupnpc-dev \
    libcurl4-openssl-dev libboost-program-options-dev libboost-python-dev python3-dev \
    python3-setuptools python3-pip gawk

Run the following to install latest version of cmake.We suggest to install cmake 3.19 or any version >=3.16:

wget https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-x86_64.sh
mkdir -p "${HOME}"/.local
bash ./cmake-3.19.3-Linux-x86_64.sh --skip-license --prefix="${HOME}"/.local/
export PATH=$HOME/.local/bin:$PATH
cmake --version
rm cmake-3.19.3-Linux-x86_64.sh

Additional Requirements for Contributors

If you intend to contribute to the code base, please perform these additional steps:

  1. Install pyyaml:

    pip install pyyaml
  2. Create file /etc/apt/sources.list.d/llvm-7.list with the following contents (reference):

    deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main
    deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main
    
  3. Run the following:

    curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install clang-format-7 clang-tidy-7 -y

Build from Source Code

Build Zilliqa from the source:

# download the lastest stable Zilliqa source code
$ git clone https://github.com/Zilliqa/Zilliqa.git
$ cd Zilliqa && git checkout tags/v7.2.0

# build Zilliqa binary
$ ./build.sh

If you want to build the development branch instead, do:

$ git checkout master

If you want to contribute by submitting code changes in a pull request, perform the build with clang-format and clang-tidy enabled by doing:

$ ./build.sh style

Build Scilla for Smart Contract Execution

The Zilliqa client works together with Scilla for executing smart contracts. Please refer to the Scilla repository for build and installation instructions.

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 (discord)
Bug report
Security contact security 🌐 zilliqa.com
Security bug bounty Contact security:globe_with_meridians:zilliqa.com` for early access to our new security bug bounty program

zilliqa's People

Contributors

kaikawaliu avatar bb111189 avatar ansnunez avatar sandipbhoir avatar kaustubhshamshery avatar ckyang avatar gnnng avatar jiayaoqijia avatar shengguangxiao avatar jendis avatar robin-thomas avatar vaivaswatha avatar iantanwx avatar nnamon avatar sidutta avatar chetan-zilliqa avatar sharwell avatar deepgully avatar revolution1 avatar jazzz42 avatar amritkumar avatar advaypal avatar snowsledge avatar sidthekidder avatar satoshi101 avatar bing-chou avatar bguiz avatar annihilatopia avatar sajjon avatar renlulu avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.