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!
Before you begin make sure you have Go installed on your device. Instructions on how to download and install Go can be found here:
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.
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.
$ 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
Verify the installation
$ which exim
$ exim version
> 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.
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
You can see all the list of bootnodes on our Github repository here:
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://firstname.lastname@example.org: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
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.
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.