Giter Site home page Giter Site logo

getcanoe / canoe Goto Github PK

View Code? Open in Web Editor NEW
142.0 13.0 28.0 50.76 MB

Canoe is a Nano Wallet heavily based on the MIT licensed Copay wallet from Bitpay

Home Page: https://getcanoe.io

License: MIT License

JavaScript 71.55% Makefile 0.05% Shell 1.56% HTML 15.31% Inno Setup 0.25% SCSS 11.28%
raiblocks wallet desktop mobile canoe nano cryptocurrency

canoe's Introduction

NOT MAINTAINED ANYMORE

Canoe is not maintained, the website with the binary downloads is not live anymore and the wallet backend is not running. The domain "getcanoe.io" will not be renewed at end of 2021. This means Canoe can no longer be used but if you used Canoe earlier you can easily import your seed to another wallet, no funds are lost. Canoe is fully Open Source and anyone could revive it, rebrand and start their own server. If anyone is interested in doing that, feel free to contact me.

regards, Göran and the rest of the developers of Canoe


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.

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 was 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.

Discord

Anyone can still ask questions on discord where you should still find me.

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.

canoe's People

Contributors

briankostar avatar ceddup avatar eunjibyte avatar gokr avatar mikehrn avatar neoflex avatar rtpg avatar schenkty avatar stefonarch avatar stormtv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

canoe's Issues

Onboarding: TOS agreeing UX enhancements

The pop-up that appears from the bottom in the last step needs some improvement from a UX point of view.

The step immediately before agreeing to the TOS is the user checking two checkboxes that are ticked by tapping anywhere on the body of the list element.

However tapping on the list element in TOS agreement does nothing, and there is no indication that TOS is clickable.

Suggestions way forward:

1- Make the body of the TOS element a trigger to check the box.
2- Add an underlined link after the sentence (View Term of Service)
3- TOS popping up animation is too slow. Fiddle with faster animation speeds.

Implement password mechanism for the wallet

Must haves

1- Add a section under Settings to change the password. User is asked to enter current and new password + confirmation.
2- Password should be tested against a reasonable strength password checker. (Is there a lib for that?)
3- Add a part in on-boarding ensuring the user also steps through this procedure.
4- Hook into the "unlock" screen and present the "Enter password please"

Nice to have

  • Add a setting called "Allow to view wallet without password". And yet another "Allow to view wallet using fingerprint or PIN".

Submit to marketplaces

  • App Store ($25)
  • iTunes Store ($100)
  • Windows Store ($19)
  • Mac Store
  • Chrome Store

We will also need funds to create accounts.

Implement i18n

Currently the Copay fork uses Crowdin as a translation management system. Unfortunately Crowdin is too expensive for our project. We need to find a cheaper solution (preferably free.)

Suggestions welcome!

Stuck in UI loop on unlock via device pin (Android)

Under the following circumstance :

  • Fingerprint locking enabled
  • on unlock screen where it asks to scan fingerprint

You get stuck in this loop if your fingerprint doesn't work

  • on unlock screen press "Use backup"
  • Type in "device pin"
  • Press "continue"
  • New page pops up saying "Verify your identity"
  • Only button on this page you can press is "scan again"
  • Takes you back to fingerprint unlock screen.

The device pin stage doesn't work/is redundant currently.

Not to be confused with the pin locking method where you set a custom pin. This is the backup option for fingerprint

Sharing link is wrong

Leads to getcanoe.io/download

I guess we need to create a download page on github.com/getcanoe/website

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.