Canoe is a Nano Wallet heavily based on the MIT licensed Copay wallet from Bitpay
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
chrome-app Fix Balance Calculation & Update Version Jun 24, 2018
i18n Update vi.po (POEditor.com) Sep 5, 2018
native Rebuilt raiblocks-pow with node 9.8.0 and exec:powbuild Mar 15, 2018
resources Added win32 patch for later builds of Win32 that works on Windows XP Sep 5, 2018
src Remove Manta Wallet code for now Nov 27, 2018
typings Initial commit, relatively clean import from Copay Dec 19, 2017
util Rename webkitbuilds to build, move resource files and old scripts to … Feb 23, 2018
www Remove Manta Wallet code for now Nov 27, 2018
.editorconfig Initial commit, relatively clean import from Copay Dec 19, 2017
.gitignore Added OSX binaries and adjusted ignore Mar 15, 2018
.travis.yml Let travis build debug builds Feb 18, 2018
Block.js working on manta wallet | added message to blocks Oct 29, 2018
GoogleService-Info.plist Some of folders Jan 1, 2018
Gruntfile.js Added build support for win32 Aug 27, 2018
ICONS.md Added instructions on how I made icon.icns for OSX Mar 28, 2018
LICENSE Initial commit, relatively clean import from Copay Dec 19, 2017
README.md Update discord link Jul 26, 2018
Wallet.js working on manta wallet | added message to blocks Oct 29, 2018
appConfig.json Massive rename from RaiBlocks to Nano Feb 4, 2018
bower.json Fixes around PoW and packaging. Mar 15, 2018
build-win32.sh Added win32 patch for later builds of Win32 that works on Windows XP Sep 5, 2018
build.json Initial commit, relatively clean import from Copay Dec 19, 2017
build.sh Adjusted paths for Cordova 8.0.0 May 21, 2018
config.xml Forgot version change in config.xml Sep 5, 2018
icon.icns Trying to fix mac icon Mar 27, 2018
icon.ico Trying to fix mac icon Mar 27, 2018
icon.png Enhance icon design Feb 26, 2018
installandroid.sh Added a few scripts and fixes to get Android build going Jan 2, 2018
installapk.sh Merge May 21, 2018
ionic.config.json Responsive improvements to onboarding password page Jan 23, 2018
jsconfig.json Initial commit, relatively clean import from Copay Dec 19, 2017
jsdoc.conf.json Initial commit, relatively clean import from Copay Dec 19, 2017
labels.json Update Android splash screens Jan 2, 2018
makekeystore.sh Make keystore valid 30 years Mar 28, 2018
package-lock.json update version number Jul 19, 2018
package.json Version 1.0.1 Sep 3, 2018
pub.key New public key and tasks for signing Mar 7, 2018
splash.png Splash screens for Android Feb 26, 2018
updateswedish.sh Added script for i18n step one Jan 23, 2018
win32.patch Added win32 patch for later builds of Win32 that works on Windows XP Sep 5, 2018

README.md

Build Status

Canoe is a cross platform Nano Wallet application. It's based upon the Copay Bitcoin wallet source code released under the MIT license. For binary downloads, when available, see getcanoe.io.

Main Features

  • Device-based security: all private keys are stored locally, not in the cloud
  • Support for over 150 currency pricing options and unit denomination in BTC or bits
  • Customizable wallet naming and background colors
  • Multiple languages supported

Testing in a Browser

Note: This method should only be used for development purposes. When running Canoe in a normal browser environment, browser extensions and other malicious code might have access to internal data and private keys. For production use, see the latest official releases.

Clone the repo and open the directory:

git clone https://github.com/getcanoe/canoe.git
cd canoe

Ensure you have Node installed, then install and start Canoe:

npm install
npm start

Visit localhost:8100 to view the app, or if you have a browser running it will be opened.

A watch task is also available to rebuild components of the app as changes are made. This task can be run in a separate process – while the server started by npm start is running – to quickly test changes.

npm run watch

Tools

We need grunt to run tasks etc:

sudo npm install -g grunt-cli

Testing on Real Devices

It's recommended that all final testing be done on a real device – both to assess performance and to enable features that are unavailable to the emulator (e.g. a device camera).

Android

Follow the Cordova Android Platform Guide to set up your development environment.

When your development enviroment is ready, run the start:android npm package script.

npm run start:android

iOS

Follow the Cordova iOS Platform Guide to set up your development environment.

When your developement enviroment is ready, run the start:ios npm package script.

npm run start:ios

Windows Phone

Follow the Cordova Windows Phone Platform Guide to set up your development environment.

When your developement enviroment is ready, follow this instructions:

  • Go to app-template folder, search for config-template.xml and then remove this line:
<plugin name="cordova-plugin-qrscanner" spec="~2.5.0" />

and then enable this one:

<plugin name="phonegap-plugin-barcodescanner" spec="https://github.com/phonegap/phonegap-plugin-barcodescanner.git" />
  • Run:
npm run clean-all
npm run start:windows
  • Then open the project file with VS inside cordova/platform/windows/

Desktop (Linux, macOS, and Windows)

The desktop version of Canoe currently uses NW.js, an app runtime based on Chromium. To get started, first install NW.js on your system from the NW.js website.

When NW.js is installed, run the start:desktop npm package script.

npm run start:desktop

Build Canoe App Bundles

Before building the release version for a platform, run the clean-all command to delete any untracked files in your current working directory. (Be sure to stash any uncommited changes you've made.) This guarantees consistency across builds for the current state of this repository.

The final commands build the production version of the app, and bundle it with the release version of the platform being built.

Android

npm run clean-all
npm run final:android

iOS

npm run clean-all
npm run final:ios

Windows Phone

  • Install Visual Studio 2015 (or newer)
  • Go to app-template folder, search for config-template.xml and then remove this line:
<plugin name="cordova-plugin-qrscanner" spec="~2.5.0" />

and then enable this one:

<plugin name="phonegap-plugin-barcodescanner" spec="https://github.com/phonegap/phonegap-plugin-barcodescanner.git" />
  • Run:
npm run clean-all
npm run final:windows
  • Then open the project file with VS inside cordova/platform/windows/

Desktop (Linux, macOS, and Windows)

npm run clean-all
npm run final:desktop

Google Chrome App

cd chrome-app/

grunt
make

On success, the Chrome extension will be in build (or canoe-chrome-extension.zip). To install it go to chrome://extensions/ in your browser and ensure you have the 'developer mode' option enabled in the settings. Then click on "Load unpacked chrome extension" and drag and drop the build directory.

Launch the app from chrome://apps.

You may also want to enable debugging by enabling chrome://flags/#debug-packed-apps. Then right click in Canoe window for debugging.

Translations

Canoe uses standard gettext PO files for translations.POEditor is the front-end tool for translators and that's the only path for contributing translation work - we do not take pull requests for translations because it gets really complicated then to keep POEditor in sync.

Credits to the partial translations Canoe inherited from Copay:

Translation Credits:

  • Japanese: @dabura667
  • French: @kirvx
  • Portuguese: @pmichelazzo
  • Spanish: @cmgustavo
  • German: @saschad
  • Russian: @vadim0

Gracias totales!

Splash Screens & Icons

We are using sketchtool which is a tool that comes bundled with Sketch. Unfortunately this means you can't edit assets unless you are on a Mac and own a license.

cd resources
sh install.sh
sh generate.sh

Version numbering

Canoe uses the MAJOR.MINOR.PATCH convention for versioning. Any release that adds features should modify the MINOR or MAJOR number.

Contributing to this project

Anyone and everyone is welcome to contribute, here is our discord link.

License

Canoe is released under the MIT License. Please refer to the LICENSE file that accompanies this project for more information including complete terms and conditions.