@@ -10,11 +10,32 @@ Python 3.7.2
11### Instructions
11### Instructions
13−1. To use Bridge, [download a release](https://github.com/urbit/bridge/releases) and unzip it (`bridge-$version.zip`).
15+- [Download a release](https://github.com/urbit/bridge/releases)
16+- Unzip it (`bridge-$version.zip`)
14−2. Open up your command line interface (Terminal on MacOS, Command Prompt on Windows).
17+- Open up your command line interface (Terminal on MacOS, Command Prompt on Windows)
18+- Follow the instructions below to run Bridge
22+If you plan to authenticate and sign transactions with a Master Ticket, BIP39 mnemonic, Ethereum private key, or keystore file:
15−3. `cd` into the `bridge-$version` directory.
24+1. `cd` into the `bridge-$version` directory
16−4. Run this command: `python3 -m http.server 5000 --bind 127.0.0.1`
25+2. Run `python3 -m http.server 5000 --bind 127.0.0.1`
17−5. You can then use Bridge by navigating to http://localhost:5000 using a web browser.
26+3. Navigate to http://localhost:5000 using a web browser to access Bridge
28+#### Running Bridge with Ledger support
30+If you plan to authenticate and sign transactions with a [Ledger](https://www.ledger.com/), Bridge must be serving over HTTPS on localhost. This requires self-signed certificates. To do this:
32+1. Install [mkcert](https://github.com/FiloSottile/mkcert)
33+2. If you're using Firefox, additionally install [nss](https://github.com/nss-dev/nss)
34+3. Install a local certificate authority via `mkcert -install`
35+4. `cd` into the `bridge-$version` directory
36+5. 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
37+6. Run `python bridge-https.py`
38+7. Navigate to https://localhost:4443 in a web browser to access Bridge
19### Verify checksums
40### Verify checksums
@@ -24,7 +45,7 @@ To validate your downloaded file's integrity, compare the lines in checksum.txt
24- On Linux: `sha256sum -c checksums.txt .`
45- On Linux: `sha256sum -c checksums.txt .`
25- On Windows: Go into the `build` directory and verify files individually with `CertUtil -hashFile [file_name] SHA256`
46- On Windows: Go into the `build` directory and verify files individually with `CertUtil -hashFile [file_name] SHA256`
27−## Development Notes
48+## Development notes
29### Install / Build
50### Install / Build
@@ -50,22 +71,7 @@ $ nvm use v11.0.0
51before running `npm run pilot`.
72before running `npm run pilot`.
55−To authenticate and sign transactions with a Ledger, Bridge must be serving
56−over HTTPS on localhost. This requires self-signed certificates. You can do
57−this via the following:
59−* Install [mkcert](https://github.com/FiloSottile/mkcert)
60−* Install a local certificate authority via `mkcert -install`
61−* In your `bridge` directory, generate a certificate valid for localhost via
62− `mkcert localhost`. This will produce two files: `localhost.pem`, the local
63− certificate, and `localhost-key.pem`, its corresponding private key.
64−* Run `python bridge-https.py`
66−Bridge will serve to localhost over HTTPS on port 4443
68−### Useful Accounts
74+### Useful accounts
70The ecliptic owner is the only account that's able to create galaxies, so
76The ecliptic owner is the only account that's able to create galaxies, so
71it's a good place to get started. On the testnet, it's the address:
77it's a good place to get started. On the testnet, it's the address:
@@ -99,7 +105,7 @@ with 100 ETH:
99To play around with any of these, authenticate using the same mnemonic, but
105To play around with any of these, authenticate using the same mnemonic, but
100use a custom HD path of `m/44'/60'/0'/0/1`, `m/44'/60'/0'/0/2`, and so on.
106use a custom HD path of `m/44'/60'/0'/0/1`, `m/44'/60'/0'/0/2`, and so on.
102−### Initial Development State
108+### Initial development state
104You can also tweak a couple of things to change your development state
110You can also tweak a couple of things to change your development state
105somewhat (say, for example, you want to start on the points list screen, instead
111somewhat (say, for example, you want to start on the points list screen, instead