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.
- Device-based security: all private keys are stored locally, not in the cloud
- Synchronous access across all major mobile and desktop platforms
- Support for over 150 currency pricing options and unit denomination in BTC or bits
- Email notifications for payments and transfers
- Push notifications (only available for ios and android versions)
- Customizable wallet naming and background colors
- Multiple languages supported
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
By default the code's backend is the Canoe beta server ( see src/js/services/nanoService.js
's host
setting).
If you want to test things out on a local machine without running an entire Nano RPC node, you can instead run our mock backend.
node mock_backend/server.js
You will also want to change the top of src/js/services/nanoService.js
from:
// var host = 'http://localhost:7076' // for local testing against your own rai_wallet or node
var host = 'https://getcanoe.io/rpc' // for the beta node
to
var host = 'http://localhost:7076' // for local testing against your own rai_wallet or node
// var host = 'https://getcanoe.io/rpc' // for the beta node
The mock backend provides placeholder responses to many requests.
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).
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
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
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/
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
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.
npm run clean-all
npm run final:android
npm run clean-all
npm run final:ios
- 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/
npm run clean-all
npm run final:desktop
cd chrome-app/
grunt
make
On success, the Chrome extension will be located at: browser-extensions/chrome/canoe-chrome-extension
. 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 choose the directory mentioned above.
...details to come...
Canoe uses standard gettext PO files for translations. We should as soon as Canoe is fully functional start using Crowdin as the front-end tool for translators, just like Copay does, more on that follows later. In the meantime, credits to the partial translations Canoe has inherited from Copay:
Translation Credits:
- Japanese: @dabura667
- French: @kirvx
- Portuguese: @pmichelazzo
- Spanish: @cmgustavo
- German: @saschad
- Russian: @vadim0
Gracias totales!
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
Canoe uses the MAJOR.MINOR.PATCH
convention for versioning. Any release that adds features should modify the MINOR or MAJOR number.
Anyone and everyone is welcome to contribute.
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.