-
Notifications
You must be signed in to change notification settings - Fork 336
How to setup your witness for test net (Ubuntu 14.04)
The following instructions covers the setup of a witness in Ubuntu 14.04. The instructions are specific for the Test 2b release, but should be easily ported to other releases.
You can get latest version with chain id, genesis, and github tag here https://github.com/cryptonomex/graphene/releases
Note: Nodes might gone down as everyone is testing.
##Installation of dependencies Extracted from instructions here: https://github.com/cryptonomex/graphene/wiki/build-ubuntu, but limited only for witness / cli build.
If you already have done your installation move to next step
sudo apt-get update
Installation of development tools
sudo apt-get install gcc-4.9 g++-4.9 cmake make libbz2-dev libdb++-dev libdb-dev libssl-dev openssl libreadline-dev autoconf libtool git
If you cannot install gcc-4.9, you will need to add this repository before hand and try again.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
###Installation of BOOST
BOOST_ROOT=$HOME/opt/boost_1_57_0
sudo apt-get update
sudo apt-get install autotools-dev build-essential g++ libbz2-dev libicu-dev python-dev
wget -c 'http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.tar.bz2/download' -O boost_1_57_0.tar.bz2
[ $( sha256sum boost_1_57_0.tar.bz2 | cut -d ' ' -f 1 ) == "910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967" ] || ( echo 'Corrupt download' ; exit 1 )
tar xjf boost_1_57_0.tar.bz2
cd boost_1_57_0/
./bootstrap.sh "--prefix=$BOOST_ROOT"
./b2 install [/code]
##Git checkout and build Ensure your boost path is correct
BOOST_ROOT=$HOME/opt/boost_1_57_0
Check out and build
cd ~
git clone https://github.com/cryptonomex/graphene.git
cd graphene
Check out test 2b (specific to this chain)
git checkout test2b
Update submodules and build make file
git submodule update --init --recursive
cmake -DBOOST_ROOT="$BOOST_ROOT" -DCMAKE_BUILD_TYPE=Debug .
make
##Setup witness / import balances
Navigate to the witness directory
cd ~/graphene/programs/witness_node
Download genesis Path specific for Test 2b
wget https://github.com/cryptonomex/graphene/releases/download/test2b/aug-31-testnet-genesis.json
Start a new terminal screen
screen
Run the witness Current nodes for test 2b (replace for other tests)
./witness_node --rpc-endpoint "127.0.0.1:8090" --genesis-json aug-31-testnet-genesis.json -d test_net_2b -s "104.236.118.105:1776"
Note: -d parameter is for the directory you want the witness data to be stored -s is the node you want to connect
If you have problems, you might need to put the whole path for the genesis
./witness_node --rpc-endpoint "127.0.0.1:8090" --genesis-json ~/graphene/programs/witness-node/genesis-json aug-31-testnet-genesis.json -d test_net_2b -s "104.236.118.105:1776"
Detach from screen
Ctrl A Ctrl D
Extract your wif keys for user and balances as per xeroc's instructions
Howto-become-an-active-witness-in-BitShares-2.0
Navigate to cli_wallet
cd ~/graphene/programs/cli_wallet
Run cli
Current chain id for test 2b
./cli_wallet -w test_wallet --chain-id ecbde738ba0b319cb4d266e613b200d010da8b37313c20aec03f9c8e2d9b35e3
Note: -w is your directory wallet
Setup witness as per xerocs instructions
Howto-become-an-active-witness-in-BitShares-2.0
Remember to copy your keys, witness id Note you need to wait for a maintenance period to be voted in
Exit
Go back to your witness screen
screen -r
Exit your witness
ctrl c
Restart with parameters to start block producing (block producing needs your witness id and private keys) Current nodes for test 2b (replace for other tests)
./witness_node --rpc-endpoint "127.0.0.1:8090" --genesis-json aug-31-testnet-genesis.json -d test_net_2b -s "104.236.118.105:1776" --witness-id '"1.6.5156"' --private-key '["GPH6JhL..your.signing.key..bc5mWyCvERV3coy","5K..your.secret..a"]'
See your witness producing blocks and you can Ctrl A Ctrl D to detach from screen.
##Tips
If you end up in a fork, or your blockchain gets corrupted it takes a long time to replay blockchain.
When I am synced, I shutdown with C-c (it should shutdown in a clean way) and I copy the blockchain folder as backup (if it shutdown without errors). Everytime my blockchain is corrupted, I remove the blockchain folder and I copy with the backup one and restart the witness. Finally I backup the blockchain folder every day.
spartako
##Credits xeroc, puppies, abit, clayop, betax, maqifrnswa, lafona, IHashfury, Riverhead, testz, cryptosile, Thom, spartako