JavaScript HTML CSS Other
Switch branches/tags
Clone or download
Latest commit 6774fb0 Jun 19, 2018
Permalink
Failed to load latest commit information.
app Merge pull request #1493 from blockchain/recurring-v2-fixes Apr 24, 2018
assets Increment partner trade Apr 24, 2018
helperApp feat(SFOX): implements redesigned bank link page Jan 25, 2018
hooks Add install script for pre-commit git hook May 5, 2015
img style(Recovery): update pdf with new branding Jan 8, 2018
locales Merge pull request #1493 from blockchain/recurring-v2-fixes Apr 24, 2018
partsApp Revert "Revert "v1.29 release"" Dec 11, 2017
rootApp/Resources feat(SFOX): sell expected delivery Apr 23, 2018
tests fix(Balance): test Apr 23, 2018
.changelogrc build(Grunt): don't set isProduction in Grunt Jan 25, 2017
.eslintrc fix lint issues and update globals and ignored rules Feb 16, 2018
.gitignore chore(.gitignore): Add package-lock.json Aug 21, 2017
.gitmodules MyWallet is no longer a submodule. Mar 30, 2015
.nvmrc add .nvmrc file Feb 13, 2018
.travis.yml update eslint to use js standard style rules Feb 16, 2018
Gruntfile.js feat(Home): start price chart Sep 1, 2017
Makefile chore(Release): remove npm@4 install Jan 11, 2018
Procfile dev(PartsApp): Heroku changes May 26, 2017
README.md Merge branch 'master' into v1.33-release Feb 26, 2018
app.json dev(PartsApp): Heroku needs app.json May 26, 2017
beep.wav Fixed the Beep and favicon. May 5, 2015
bower.json chore(Release): upgrade v3 Apr 16, 2018
check_bad_strings.rb refactor(build): check_bad_strings script update Apr 21, 2017
check_pgp_signatures.rb feat(Release): simplify and use Makefile Mar 25, 2016
check_translations.rb copy(Strings): remove unused strings Jan 12, 2016
dependency-whitelist.json build(Dependency): authorize Justins PGP key Feb 3, 2017
karma.conf.js chore(karma.conf.js): Change captureConsole to false Aug 21, 2017
my_wallet_bower_version.rb fix(Travis): minified javascript hash now matches local build Apr 1, 2016
package.json chore(Release): bump v Apr 24, 2018
server.js fix(Server): correct walletHelperUrl for local testing Dec 19, 2017
webpack.config.js dev(PartsApp): setup (webpack) and several directives (#1147) May 26, 2017
yarn.lock Merge branch 'v1.29-release' into sfox-sell Dec 12, 2017

README.md

Blockchain.info Wallet Build Status Coverage Status

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: