A challenge with the 21 computer is that there is no simple way to generate external facing addresses or user accounts. This post provides a method for generating individually provisioned MultiSig wallets than can be used in client side apps from a 21 computer.

Install Node and NPM

Let’s begin by installing Node and NPM.

$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - $ sudo apt-get install -y nodejs npm

Install BitGo Express

We’ll be using BitGo to generate our user wallets and to send Bitcoin so we will need to install BitGo Express:



$ cd bitgo-express

$ npm install $ git clone https://github.com/BitGo/bitgo-express $ cd bitgo-express$ npm install

Run BitGo Express

We’ll run this on the Bitcoin livenet so that we can actually test it out using the 21 computer.

$ ./bin/bitgo-express --debug --port 3080 --env prod --bind localhost &

Get a BitGo dev token

Next we’ll need an access token to authenticate with BitGo’s servers.

Sign up at www.bitgo.com/wallet. Log in to www.bitgo.com. Once logged in, select the gear on the top right hand corner. Select ‘API Access’. Select the ‘Add Access Token’ button. Enter all necessary information and select ‘Add Token’.

Set the BTC token limit to something reasonable, and ensure that you enter the public IP address of your 21 computer.

7. Your token will appear at the top of the page.

Set your token

We will need to set our token as an environment variable so that BitGo Express can use it to authenticate.

$ export ACCESS_TOKEN='ASDF2238FWE…234928ASF23SAF2'

MultiSig Setup

Let’s setup our MultiSig libraries and our wallet CLI to support it. Let’s get copy the necessary files into our 21 library.



$ sudo python3 setup.py $ wget https://gist.githubusercontent.com/masonicGIT/53fd5a95e53c3df42578/raw/604bf10a42750a2c46cd0cf678f2e248681a47fa/setup.py $ sudo python3 setup.py

Please ensure that it contains the following: