Skip to content

siriuscore/sirius

Repository files navigation

Sirius Core

https://getsirius.io

What is Sirius?

Sirius is a next-generation smart contract platform based on Bitcoin and Ethereum's EVM. The Sirius protocol implements the Reputation-Weighted Proof-of-Stake (RWPoS) algorithm, which features transaction speeds of over 4300 TPS, while preserving decentralization and rendering 51% attacks infeasible. To encourage developer participation, Sirius is distributed for free among developers and blockchain enthusiasts. Sirius features an initial supply of 100 million SIRX, with a small amount of inflation each year.

White Paper

https://getsirius.io/docs/Sirius-Technical-WP.pdf

Communication

The Sirius slack can be found at: https://sirx.slack.com

Join telegram at: https://telegram.getsirius.io

Or come talk to us on discord: https://discord.getsirius.io

Building Sirius Core

Build on Ubuntu

This is a quick start script for compiling Sirius on  Ubuntu


sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git cmake libboost-all-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

# If you want to build the Qt GUI:
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler qrencode

git clone https://github.com/siriuscore/sirius --recursive
cd sirius

# Note autogen will prompt to install some more dependencies if needed
./autogen.sh
./configure 
make -j2

Build on CentOS

Here is a brief description for compiling Sirius on CentOS, for more details please refer to the specific document

# Compiling boost manually
sudo yum install python-devel bzip2-devel
git clone https://github.com/boostorg/boost.git
cd boost
git checkout boost-1.66.0
git submodule update --init --recursive
./bootstrap.sh --prefix=/usr --libdir=/usr/lib64
./b2 headers
sudo ./b2 -j4 install

# Installing Dependencies for Sirius
sudo yum install epel-release
sudo yum install libtool libdb4-cxx-devel openssl-devel libevent-devel

# If you want to build the Qt GUI:
sudo yum install qt5-qttools-devel protobuf-devel qrencode-devel

# Building Sirius
git clone --recursive https://github.com/siriuscore/sirius.git
cd sirius
./autogen.sh
./configure
make -j4

Build on OSX

The commands in this guide should be executed in a Terminal application. The built-in one is located in /Applications/Utilities/Terminal.app.

Preparation

Install the OS X command line tools:

xcode-select --install

When the popup appears, click Install.

Then install Homebrew.

Dependencies

brew install cmake automake berkeley-db4 libtool boost --c++11 --without-single --without-static miniupnpc openssl pkg-config protobuf qt5 libevent imagemagick --with-librsvg qrencode

NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.

Build Sirius Core

  1. Clone the sirius source code and cd into sirius

     git clone --recursive https://github.com/siriuscore/sirius.git
     cd sirius
    
  2. Build sirius-core:

    Configure and build the headless sirius binaries as well as the GUI (if Qt is found).

    You can disable the GUI build by passing --without-gui to configure.

    ./autogen.sh
    ./configure
    make
    
  3. It is recommended to build and run the unit tests:

    make check
    

Run

Then you can either run the command-line daemon using src/siriusd and src/sirius-cli, or you can run the Qt GUI using src/qt/sirius-qt

For in-depth description of Sparknet and how to use Sirius for interacting with contracts, please see sparknet-guide.

License

Sirius is GPLv3 licensed.