Building everiToken

Fetch EVT Code

First you need to fetch evt source code here: https://github.com/everitoken/evt, you can run:

git clone https://github.com/everitoken/evt
git submodule update --init

This will fetch evt and submodules as well.

Fetch and Build Dependencies

  1. To compile evt, you need to use GCC Toolset 7.x. In CentOS7, you can install devtoolset-7 to get it, which is included in Centos Software Collections Repository.

  2. You need to use yum or apt to install these packages: git autoconf automake libtool bzip2-devel openssl-devel gmp-devel python-devel lz4-devel libzstd-devel.

  3. You need to compile and install CMAKE, you can fetch it from here: https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz

  4. You need to compile and install Boost library 1.66, you can get it from here: https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2)

    ./bootstrap
    ./b2 install
  1. You need to compile and install secp256k1-zkp, you can clone repo from here: https://github.com/cryptonomex/secp256k1-zkp.git

  2. You need to compile and install gflags, you can clone repo from here: https://github.com/gflags/gflags.git, and you can build dynamic library instead of static library:

    cmake /path/to/gflags

After build all these libraries above, you can then build evt.

cmake /path/to/evt
make evtd evtc evtwd

Start single node

Then you should run single test node:

sudo ./evtd -e --http-validate-host=false --charge-free-mode --plugin=evt::postgres_plugin --plugin=evt::history_plugin --plugin=evt::history_api_plugin --plugin=evt::evt_link_plugin --plugin=evt::chain_api_plugin --plugin=evt::evt_api_plugin --producer-name=evt --delete-all-blocks -d ./ --postgres-uri=postgresql://postgres@localhost:5432/evt

If successful, evtd will display some information, starting with::

info  2019-01-08T05:47:40.578 thread-0  chain_plugin.cpp:300          plugin_initialize    ] initializing chain plugin
info  2019-01-08T05:47:40.579 thread-0  chain_plugin.cpp:420          plugin_initialize    ] Deleting state database and blocks
warn  2019-01-08T05:47:40.638 thread-0  chain_plugin.cpp:562          plugin_initialize    ] Starting up fresh blockchain with default genesis state.
info  2019-01-08T05:47:40.779 thread-0  postgres_plugin.cpp:532       plugin_initialize    ] initializing postgres_plugin
info  2019-01-08T05:47:40.779 thread-0  postgres_plugin.cpp:537       plugin_initialize    ] Deleted all blocks: wiping postgres database on startup
info  2019-01-08T05:47:40.780 thread-0  postgres_plugin.cpp:554       plugin_initialize    ] connecting to postgresql://postgres@localhost:5432/evt
info  2019-01-08T05:47:41.035 thread-0  postgres_plugin.cpp:407       wipe_database        ] wipe database
info  2019-01-08T05:47:41.722 thread-0  http_plugin.cpp:527           plugin_initialize    ] configured http to listen on 127.0.0.1:8888
info  2019-01-08T05:47:41.722 thread-0  net_plugin.cpp:3018           plugin_initialize    ] Initialize net plugin

Start the Wallet Manager

In the first terminal windows, start evtwd, the wallet management application.

./evtwd --http-server-address 127.0.0.1:9999

If successful, evtwd will display some information, starting with:

1692293ms thread-0   wallet_plugin.cpp:41          plugin_initialize    ] initializing wallet plugin
1692293ms thread-0   http_plugin.cpp:141           plugin_initialize    ] host: 127.0.0.1 port: 9999 
1692294ms thread-0   http_plugin.cpp:144           plugin_initialize    ] configured http to listen on 127.0.0.1:9999
1692294ms thread-0   http_plugin.cpp:156           plugin_startup       ] start processing http thread
1692294ms thread-0   http_plugin.cpp:213           plugin_startup       ] start listening for http requests
1692294ms thread-0   http_plugin.cpp:218           plugin_startup       ] http io service exit
1692294ms thread-0   wallet_api_plugin.cpp:70      plugin_startup       ] startin

It says the wallet is listening on 127.0.0.1:9999. This indicated evtwd is running correctly.




Continue Reading: Run A Node Using Docker