This guide is designed to guide your through the installation of BitGo Express node.
BitGo Express is designed and written by BitGo for their BitGo website wallet.
IMPORTANT: you will be exposing your BitGo wallet's private keys on this server. This is a substantial security risk. Your funds will be exposed without adequate safeguards. If you proceed, you are doing so at your own risk.
BitGo holds and secures your cryptocurrency keys.
BitGo Wallet is a hot wallet option in the Crypto Application Server (CAS).
BitGo Express is used to interface with BitGo. CAS does not interact with BitGo directly.
This article presumes you have a bare installation of Ubuntu 16.04 LTS running on a VPS with a publicly exposed IP.
Navigate to your home directory (~). This is the default login directory.
Clone the source code, and navigate to the program executable:
git clone -b firstname.lastname@example.org https://github.com/bitgo/bitgojs
Initialize the NPM installer:
npm config set production false
Build the BitGo Express package:
If installing as the root user, then use this line instead:
npm ci --unsafe-perm
Test the installation:
npm run start
This is an example of a successful start:
Press Ctrl-C to exit Bitgo Express.
If you aren't successful, carefully review your steps, and then finally - open a support ticket to notify us that the BitGo software and/or node.js software is no longer functioning as expected.
We will investigate - but ultimately we have no control or influence over their software.
3. Start BitGo Express:
In this example, we'll use the default port 3080 on localhost.
First, change the Node.js working environment to "production":
npm config set production true
Now, verify that BitGo Express still works in production mode:
npm run start -- --env prod
If already configured (from below), then you will see messages from the interaction of CAS and the BitGo Express node as they occur.
BitGo Express MUST be running at all times to be available as a Hot Wallet for CAS.
Configure BitGo Express to run continuously:
Use the "&" command suffix to run the program in the background:
npm run start -- --env prod &
This is an example of BitGo Express being successfully started in the background:
Unless you installed BitGo Express as root, the program will self-terminate when you close the terminal window. To prevent BitGo Express from terminating this way, install nohup (if necessary) and start it as so:
nohup npm run start -- --env prod &
See: "Running BitGo Express as a service" (at the bottom) for yet another option.
Instructions for terminating BitGo when running as a background process:
If BitGo Express is running in the background, and you wish to shut it down - do so by locating it's process ID (PID) and "killing" the PID:
returns a <PID>
terminates BitGo Express
If you see more than a single PID listed, do NOT kill any of them unless you know exactly what you're killing. The best suggestion in this case is to just restart your server.
BitGo Express can be run as an unattended service. This requires a little tinkering after BitGo Express has been successfully installed & tested. Installing it as a service enables the node to function after restarts or reboots.
Please consult a professional if you're uncomfortable with any aspect of this.
This procedure assumes all default settings have been implemented.