Sync an Eximchain Node (Linux)

 

eximchain-node.png

 

Welcome! We hope to have you up and running with an Eximchain node as quickly as possible. In order to do this you will need to use use your terminal and have installed Go and the Eximchain Node. These instructions were written on OS X using bash, but should be transferrable to other Unix systems.  We also have easy Windows and OS X instructions available.

This guide walks you through the process of pulling our code and compiling the binaries yourself.  There are also published Linux binaries on the repository's GitHub Releases page .  If you want to just use those, download and skip to Running Your Node.

Getting ready with Go!

Download Go

Before you begin make sure you have Go installed on your device. Instructions on how to download and install Go can be found here:

https://golang.org/dl/

 

Screen_Shot_2019-01-17_at_4.08.52_PM.png

 

Once you have installed Go you can continue.

  

Setting GOPATH & GOPATH/bin

The GOPATH environment variable specifies the location of your workspace. If no GOPATH is set, it is assumed to be $HOME/go on Unix systems and %USERPROFILE%\go on Windows. If you want to use a custom location as your workspace, you can set the GOPATH environment variable. The instructions below will be for Unix systems (Linux & Mac).

Editing your Bash Profile

GOPATH can be any directory on your system. In Unix examples, we will set it to $HOME/go (the default since Go 1.8). Note that GOPATH must not be the same path as your Go installation. Another common setup is to set GOPATH=$HOME.

1. Open your favorite Terminal app.

2. Input the following command

$ nano ~/.bash_profile

This command will open the .bash_profile document (or create it if it doesn’t already exist) in the easiest to use text editor in Terminal – Nano.

3. Now you can make a simple change to the file. Paste the following lines of code shown below.

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

4. Save and exit the Nano editor. You do this by typing "ctrl+O". Hit "return" to save. Then exit Nano by typing "ctrl+X"

5. Then, source your  ~/.bash_profile 

$ source ~/.bash_profile

Note: changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, just run the shell commands directly or execute them from the profile using a command such as source $HOME/.profile.

Instructions on how to set your GOPATH on other platforms can be found here.

 

Installing an Eximchain Node

Exim is a fork of Geth/Quorum, their command line interfaces are very similar. A command line interface (CLI), a compiled binary, program, and client for running a full Eximchain node implemented in Go.

We will use Exim to run a fully synced Eximchain node to connect to a the main network.

Install Eximchain/go-ethereum 

$ go get -d github.com/eximchain/go-ethereum
$ go install github.com/eximchain/go-ethereum/cmd/exim

This may take seconds to a couple of minutes as the files are downloaded . Go get will put the Eximchain Node code in this directory "~/go/src/github.com/eximchain/go-ethereum". Go install will put the executable file inside of the following directory "~/go/bin"

 

Verify the installation

$ which exim
> /Users/ubuntu/go/bin/exim
$ exim version
> Exim
> Version: 1.8.16-*

Ensure you are running the same version in order to be able to perform a full sync of the Eximchain network. 

 

Running and Syncing an Eximchain node

In order to run an Eximchain node you will need to first generate the genesis block, then connect to a bootnode to being syncing to the latest block. For reference the default data director for the client's chain data is stored in $HOME/Library/Exim/

 

Change the directory go get placed the Eximchain Node code

$ cd ~/go/src/github.com/eximchain/go-ethereum

 

Build the genesis block

$ exim init build/genesis.json

Select bootnode

You can see all the list of bootnodes on our Github repository here:

https://github.com/Eximchain/eximchain-network-data/blob/master/main-network/bootnodes.txt

Screen_Shot_2019-01-16_at_2.10.37_AM.png

Copy one of the enode complete addresses starting with "enode://..." and ending with "...:21000". You are now ready to start the node.

 

Starting the Eximchain Node

In order for your Eximchain node to connect to the Eximchain Wallet you will need to open the rpcport. This is done through a set of command line flags we will outline below. Read more about CLI options here.

Edit the script below with the enode you selected above after the --bootnodes flag.

$ exim --networkid 1 --rpc --rpcaddr "localhost" --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum --rpcport 22000 --rpccorsdomain "*" --rpcvhosts "localhost" --port 21000 --maxpeers 25 --verbosity 4 --bootnodes "enode://83940ca6d6d1d81cc5abedfe7481a08213275ba34406a300d02460ab4da8cedd1aa0897eba9d74ed2f7f046a436ce7c346d3c353d25cefb5c854f9fa159aff00@18.144.48.146:21000"

  The above command will:

  • start downloading the Eximchain history necessary to become a new fully valid, synced Node of the network
  • the communication will happen over port 21000
  • additional RPC API will launch so we can communicate with our node through consoles

A node synchronizes the blockchain by downloading the chain from the genesis block to the current head block. The length of the blockchain will determine how long the first sync takes. Be sure to have access to power and can leave this process running in the event that it takes longer than expected.

Once the blockchain is fully synced you can move forward. You can now interact with the Eximchain network in one of following ways!

 

Accessing your Eximchain Account

Wallet App

With the node you just setup you can automatically connect to the node by simply launching the Wallet App. Instructions on how to download the Wallet app can be found here. Instructions on how to Connect your Wallet to an Eximchain node can be found by clicking the title above.

 

Eximchain Node

This requires you to import your private key to the node we just setup locally. Instructions for that can be found by clicking the title above.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.