Skip to content

ghillairet/crypto-terminal

 
 

Repository files navigation

CryptoTerminal

Build Status Status of Dependencies

The goal of this project is to create a mobile application that merchants can use to accept cryptocurrency payments in a variety of cryptocurrencies. The focus is on ease-of-use, security, and privacy.

The technology stack includes:

  • Standard web technologies (HTML, CSS, JavaScript).
  • Backbone.js - A JavaScript library for developing complex web applications.
  • cordova - To wrap the web application and create builds for Android, iOS, and other mobile platforms.
  • nodejs - As a build tool.

Requirements

Getting Started

Before continuing, be sure to download and install the project requirements.

To get the project files and start working locally, you should first create a fork. Then "clone" your fork of the project:

git clone https://github.com/YOUR_USERNAME/crypto-terminal.git

Don't forget to replace YOUR_USERNAME with your GitHub username.

cd crypto-terminal
npm install
grunt

Open your browser and navigate to localhost:3000. You should see the settings screen the first time you open the app.

Folder Structure

Introduction to some of the less obvious folders:

  • build/ - Temporary files used during the build process by Grunt.
  • css/ - CSS you should be modifying. Gets processed during the Grunt build.
  • exports/ - Files that are processed by browserify, which processes node.js modules so that they can be run in a browser.
  • grunt/ - Grunt task configuration files go here.
  • html/ - Source HTML files go here (templates for example).
  • scripts/ - Miscellaneous script files go here.
  • tasks/ - Custom Grunt tasks live here.
  • js/ - JavaScript you should be modifying. Gets processed during the Grunt build.
  • www/ - Final output from the build process. Minified and uglified, this is served in the app once you run it.

Developing with Cryptocurrencies

This project is focused on working with cryptocurrencies as a payment method. As such, you will need to know some basics about how cryptocurrencies work and how to develop applications that use them.

Bitcoin

It's a good idea to test your application without risking real money, which is why the bitcoin testnet exists.

Valid testnet master public key that you can use while developing:

tpubDD8itYXaDtaTuuouxqdvxfYthFvs8xNbheGxwEcGXJyxrzuyMAxv4xbsw96kz4wKLjSyn3Dd8gbB7kF1bdJdphz1ZA9Wf1Vbgrm3tTZVqSs

Litecoin

Valid testnet master public key that you can use while developing:

tpubD6NzVbkrYhZ4YLXXEvJuNSnv3duP7VvCVG2ybxbbfcdJrgfvyfqjLdS2mntHXAr5YVLQvGqSdwa5j62bJhPCGTxX6xXeJp4CtRw494UKG96

Monero

  • Testnet wallet applications:
    • monerujo - A mobile, light-weight wallet app for Monero. If you are running an older version of Android, you can install the app from an .apk that you can download from the project's GitHub repo.
  • "Faucets" can be used to obtain testnet monero:

Sample testnet settings that you can use during development:

Setting Key Value
Public Address monero.publicAddress 9xmkWjzAB8JguD7JvkJxPHgMwkf7VP5v3Z5eSNmRMdoeCEnoVu6eGUbZT3FQ3Q8XrGihNEbb4qGhqHHGK5kWy9chU3URbaF
Private View Key monero.privateViewKey 136674e3e6868bb04d4ef2674f97c00166f5f7aa67185bdda97cde8ecfe4f609

Lightning Network

!! TODO !!

Create Signed APK

Before continuing, be sure you already have the requirements for Android development.

Create your signing key:

npm run generate-android-signing-key

Run the APK build script:

npm run build-signed-apk

If successful, it should have created a new .apk file at the following path:

./platforms/android/app/build/outputs/apk/release/app-release.apk

About

A merchant terminal app which allows payments by customers with multiple cryptocurrencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 79.7%
  • CSS 13.9%
  • HTML 6.0%
  • Shell 0.4%