Skip to content
An application for interacting with Azimuth.
CSS JavaScript
Branch: master
Clone or download
Fang- Merge pull request #141 from urbit/keys-wording
Update wording around key configuration
Latest commit cb2d061 May 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.


License: MIT

An application for interacting with Azimuth.



Python 3.7.2



  1. Download a release
  2. Unzip it (bridge-$
  3. Open up your command line interface (Terminal on MacOS, Command Prompt on Windows)
  4. cd into the bridge-$version directory

Follow the instructions below to run Bridge.

Run Bridge

If you plan to authenticate and sign transactions with a Master Ticket, BIP39 mnemonic, Ethereum private key, or keystore file:

  1. cd into the bridge-$version directory
  2. Run python3 -m http.server 5000 --bind
  3. Navigate to http://localhost:5000 using a web browser to access Bridge (we recommend using Firefox or Chrome)

Run Bridge with Ledger support

If you plan to authenticate and sign transactions with a Ledger, Bridge must be serving over HTTPS on localhost. This requires self-signed certificates. To do this:

  1. Install mkcert
  2. If you're using Firefox, additionally install nss
  3. Install a local certificate authority via mkcert -install
  4. From the bridge-$version directory, run mkcert localhost to generate a certificate valid for localhost. This will produce two files: localhost.pem, the local certificate, and localhost-key.pem, its corresponding private key
  5. Run python
  6. Navigate to https://localhost:4443 in a web browser to access Bridge

Verify checksums

To validate your downloaded file's integrity, compare the lines in checksum.txt to SHA-256 hashes of the bridge-$version directory's contents.

  • On MacOS: shasum -a 256 -c checksums.txt .
  • On Linux: sha256sum -c checksums.txt .
  • On Windows: Go into the build directory and verify files individually with CertUtil -hashFile [file_name] SHA256

Development notes

Install / Build

Clone the repo, and use a simple npm install. You can then use a npm run build to create an optimised static build (serve it with e.g. serve).

General notes

For development, use npm run pilot to get going after a npm install. This will boot up a Ganache node in the background, deploy the Azimuth contracts to it, and fire up a local webserver. Bridge will be served on localhost:3000.

Note that one of our dependencies itself depends on a library called handle-thing which breaks under the Ledger support requirements (see below) on node 11.1.0, so make sure you're using some other node version.

You can use nvm, for example, and do:

$ nvm install 11.0.0
$ nvm use v11.0.0

before running npm run pilot.

Useful accounts

The ecliptic owner is the only account that's able to create galaxies, so it's a good place to get started. On the testnet, it's the address:


You can authenticate as it using the following mnemonic:

benefit crew supreme gesture quantum web media hazard theory mercy wing kitten

Under that mnemonic, Ganache will also auto-populate the following accounts with 100 ETH:


To play around with any of these, authenticate using the same mnemonic, but use a custom HD path of m/44'/60'/0'/0/1, m/44'/60'/0'/0/2, and so on.

Initial development state

You can also tweak a couple of things to change your development state somewhat (say, for example, you want to start on the points list screen, instead of having to re-authenticate whenever you make a change or refresh the page):

  • The .env.development file contains environment variables that you can provide to the application when it's running in development. You can access them via process.env.REACT_APP_<whatever>.

  • The componentDidMount method of the Bridge component in src/Bridge.js can be tweaked for setting your initial state. You can provide a specific wallet, network type, and so on.


For development, you can enable HTTPS on localhost without a certificate for Chrome by pasting the following into the URL bar:


In Firefox, you may need to allow connecting to the unsecured local node websocket. Do this by going to about:config and setting the network.websocket.allowInsecureFromHTTPS flag to true.

Additionally you need to run with the HTTPS environment variable set to true. Note that npm run pilot will handle this automatically.


To generate a release bridge-$ file, use a simple npm run release.

This will pack the build directory together with the README, script, and also generate a set of checksums for the build directory. You can verify the checksums on e.g. OS X via shasum -c checksums.txt.

You can’t perform that action at this time.