Sirius Explorer
A Sirius blockchain explorer web application service for Siriuscore Node using the Sirius API.
Getting Started
-
Install nvm https://github.com/creationix/nvm
We need Node 8. Nvm is a nice utility that allows easy switching between node versions.nvm i v8nvm use v8 -
Install mongo https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
Then open a Mongodb client window and create a user and database:
use sirius-api-livenetdb.createUser -
Sirius wallet installation
Compile the addressindex branch and make sure you have ZMQ installed
# Dependenciessudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git cmake libboost-all-devsudo apt-get install software-properties-commonsudo add-apt-repository ppa:bitcoin/bitcoinsudo apt-get updatesudo apt-get install libdb4.8-dev libdb4.8++-dev# with ZMQsudo apt-get install libzmq3-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# Get the Sirius walletgit clone https://github.com/siriuscore/siriuscd siriusgit fetch origingit checkout addressindex# Note autogen will prompt to install some more dependencies if needed./autogen.sh./configuremake -j2 -
Install siriuscore-node
mkdir siriusnodecd siriusnodenpm i siriuscore-node./node_modules/.bin/siriuscore-node create mynodecd mynode../node_modules/.bin/siriuscore-node install https://github.com/siriuscore/sirius-insight-api.git#master../node_modules/.bin/siriuscore-node install https://github.com/siriuscore/sirius-explorer.git#master -
Edit siriuscore-node.json to be similar to this (replace user with your username):
-
Configure Sirius and sync the blockchain
cd ~mkdir .siriuscd .siriustouch sirius.confEdit sirius.conf:
server=1whitelist=127.0.0.1logevents=1txindex=1addressindex=1timestampindex=1spentindex=1par=2onlynet=ipv4maxconnections=24zmqpubrawtx=tcp://127.0.0.1:28332zmqpubhashblock=tcp://127.0.0.1:28332rpcallowip=127.0.0.1rpcuser=userrpcpassword=passwordrpcport=8332addrindex=1reindex=1Run siriusd and sync the chain:
cd ~/sirius/src./siriusd &You can check the progress of the sync with the
sirius-cli
command. Kill the daemon once the chain is synchronized../sirius-cli getInfopkill siriusdYou only need to run siriusd once with
reindex=1
enabled. Once the chain is synced you can kill siriusd and comment the reindex setting in ~/.sirius/sirius.conf#reindex=1
-
Run Node (from the mynode folder):
../node_modules/.bin/siriuscore-node start -
Open a web browser to
http://localhost:3001/sirius-explorer
orhttp://localhost:3001/sirius-insight-api
Development
To run Insight UI locally in development mode:
Install dependencies:
npm install
To compile and minify the web application's assets:
grunt compile
There is a convenient Gruntfile.js for automation during editing the code
grunt
Multi language support
Insight UI uses angular-gettext for multi language support.
To enable a text to be translated, add the translate directive to html tags. See more details here. Then, run:
grunt compile
This action will create a template.pot file in po/ folder. You can open it with some PO editor (Poedit). Read this guide to learn how to edit/update/import PO files from a generated POT file. PO file will be generated inside po/ folder.
If you make new changes, simply run grunt compile again to generate a new .pot template and the angular javascript js/translations.js. Then (if use Poedit), open .po file and choose update from POT File from Catalog menu.
Finally changes your default language from public/src/js/config
gettextCatalogcurrentLanguage = 'es';
This line will take a look at any *.po files inside po/ folder, e.g. po/es.po, po/nl.po. After any change do not forget to run grunt compile.
Note
For more details about the Sirius API configuration and end-points, go to Sirius API.