Skip to content
This repository has been archived by the owner. It is now read-only.
Blockchain Web Wallet Frontend
JavaScript HTML CSS Other
Branch: master
Clone or download

README.md

Deprecated: use https://github.com/blockchain/blockchain-wallet-v4-frontend instead

Blockchain.info Wallet

Build Status Coverage Status License: AGPL v3

Be Your Own Bank at blockchain.info/wallet. Please contact support if you have any issues using the wallet.

Run the wallet on your own computer

The normal and easiest way to use our wallet is to go to blockchain.info/wallet. However if you like more control over the exact code that runs in your browser, you can download the source code and run the wallet from a simple server on your own machine. Here's how:

  1. Install Node.js
  2. git clone git@github.com:blockchain/My-Wallet-V3-Frontend.git -b v1.11.11 --single-branch --depth 1
  3. make server

Login to your existing wallet or create a new one at http://localhost:8080/.

You can replace v1.11.11 with any tagged version you like, but we recommend always using the latest release. The versions marked as pre-release have not gone through extensive internal testing yet.

Note that the wallet itself is still stored on Blockchain.info servers. It is encrypted with your password. The wallet also uses the Blockchain.info servers to show you your balance, notify you of new payments, submit transactions, etc.

About

The frontend code in this repository uses AngularJS. The Bitcoin specific tasks are handled by My-Wallet-V3, which is included via Bower.

Develop

Make sure you have Node.js installed.

You also need Sass (use sudo if you're not using a Ruby version manager):

gem install sass

Install dependencies:

npm install -g bower grunt-cli && yarn && bower install

Create a file called .env in the root of the project. Put the following in it:

ROOT_URL=https://blockchain.info

Optionally you can add:

AUTO_RELOAD=1
WEB_SOCKET_URL=wss://ws.blockchain.info/inv
API_DOMAIN=https://api.blockchain.info
WALLET_HELPER_URL=http://localhost:8081

To inspect individual directives, run:

yarn run start-parts

Build

Grunt watches and compiles the pug view templates and CSS. Keep it running:

grunt

Lint

To run the file linter:

yarn lint

Test

To run test and monitor for changes:

yarn test

Vet

To ensure builds will succeed (linting and unit tests passing):

yarn vet

A coverage report is generated after you run the test for the first time. Just open coverage/index.html in your browser.

Run

Run local http server:

yarn start

Visit localhost:8080.

Developing My-Wallet-V3

If you are making changes to My-Wallet-V3 that you want to try out in the frontend, create a symlink:

rm My-Wallet-V3-Frontend/bower_components/blockchain-wallet/dist/my-wallet.js
ln -s ../../../../My-Wallet-V3/dist/my-wallet.js My-Wallet-V3-Frontend/bower_components/blockchain-wallet/dist/my-wallet.js

To automatically login and go back to where you last were in the app after every page refresh, create a file .env and add AUTO_RELOAD=1 to it.

If you enable "handle bitcoin links" in your wallet settings, you can open bitcoin URI's like this one:

bitcoin:?address=1FeerpCgswvGRLVKme759C96DUBtf7SvA2?amount=0.01

Contribute

Bug fixes and feedback on our code is always appreciated.

Security

Security issues can be reported to us in the following venues:

You can’t perform that action at this time.