• Stars
    star
    440
  • Rank 99,050 (Top 2 %)
  • Language
    TypeScript
  • License
    BSD 3-Clause "New...
  • Created about 8 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Edge React Native GUI for iOS and Android

Edge

Build Status

A multi-currency mobile wallet for Bitcoin, Ethereum, Monero, Dash, Litecoin, Bitcoin Cash, Ripple/XRP, Polkadot, Tron, Solana, Stellar, Fantom, Algorand, Optimism, Zcash, Pirate Chain, and many others

Edge Screenshots

Edge is:

  • simple
  • secure
  • private
  • decentralized
  • multi-currency
  • cross-platform
  • mobile first
  • open source

Getting Started

Prepare React Native Development Tools

The React Native documentation contains detailed instructions on how to prepare your computer for React Native development. Follow the instructions in the "React Native CLI Quickstart" for your specific platform.

If you are using a Mac, follow both the iOS and Android target instructions. Otherwise, you only need the Android target instructions.

Install Yarn

This project uses Yarn to manage Javascript dependencies:

https://yarnpkg.com

Do not use NPM to install dependencies, since that will not work.

Checkout develop branch & install node_modules

cd edge-react-gui
yarn
yarn prepare

Run the bundler

yarn start

This bundler process needs to run in the background, so feel free to run this in its own terminal window.

Add API key in env.json

A public API key is built into the edge-core-js which can be used to build and test the Edge app. This key is severely rate limited and should not be used for production. For production use, get an API key by emailing [email protected].

Change the AIRBITZ_API_KEY in env.json to the API key you received from Edge. To use the public API key, leave AIRBITZ_API_KEY blank.

Run the app in debug mode

iOS

  • Run yarn prepare.ios to generate the CocoaPods files. You will need to do this after the first install, and any time Xcode produces a The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. error.
  • Open edge-react-gui/ios/edge.xcworkspace in Xcode
  • Choose a target device or simulator and tap the Play button on the top nav bar

Android

To build, install, and start the app on a simulator or physical phone with USB debugging, run:

yarn android

Otherwise, to get an APK, do:

cd android
./gradlew assembleDebug
  • The resulting APK will be in ./app/build/outputs/apk/debug/app-debug.apk
  • Copy the APK to a simulator like Genymotion or a real device via Email or messaging app

Build release version of app

First, run ./scripts/updateVersion.js to copy the package.json version into the native project files, and to assign a unique build number.

iOS

  • Open edge-react-gui/ios/edge.xcworkspace in Xcode
  • Hold [ option/alt ] and click on the Edge button on the top bar to the right of the Play and Stop icons.
  • Change 'Build Configuration' to Release
  • Uncheck 'Debug Executable'
  • Close window
  • Choose a device and hit Play

Android

cd android
./gradlew assembleRelease
  • The resulting APK will be in ./app/build/outputs/apk/release/app-release.apk
  • Copy the APK to a simulator like Genymotion or a real device via Email or messaging app

Deploying (macOS Only)

The included deploy.js is a script to automate building, signing, and deploying release builds of Edge. It provides the following:

  • Auto sign Android APK with Android keystore files
  • Auto sign iOS IPA with provisioning profiles

To Use

  • Run yarn update-version to set up your build number & version.
  • Set the env var KEYCHAIN_PASSWORD to the keychain password of the current user
  • Copy the deploy-config.sample.json to deploy-config.json and edit the parameters accordingly. You'll need a HockeyApp account to get ids and keys
  • Put any Android keystore files into edge-react-gui/keystores/
  • If using Firebase, put your account's google-services.json and GoogleService-Info.plist into edge-react-gui/
  • Install xcpretty sudo gem install xcpretty

Run deploy

yarn deploy edge ios master
yarn deploy edge android master

Debugging

As with any modern React Native app, Flipper is the officially-supported debugging app. Use the "React Native Hermes Debugger" to debug Javascript running in the UI.

If you want to inspect Redux, you can install the redux-debugger plugin for Flipper, which this app supports.

Contributing

Please follow the coding conventions defined in Edge Conventions

More Repositories

1

react-native-fast-crypto

C
111
star
2

airbitz-core

Bitcoin wallet C/C++ API for building cross-platform applications that require user authentication, encryption, backup, and meta-data management. This library alone implements the full functionality of the Airbitz Edge Security platform and bitcoin wallet minus the graphical interface.
C++
78
star
3

edge-core-js

Edge Core Javascript implementation. Provides Edge account and wallet functionality for NodeJS/HTML/React Native apps
TypeScript
67
star
4

edge-login-ui

Edge Core GUI interface in HTML/React Native to create account and login to Edge SDK accounts
TypeScript
36
star
5

airbitz-android-gui

HTML
34
star
6

airbitz-ios-gui

Airbitz iOS wallet
HTML
25
star
7

edge-currency-accountbased

Currency plugins for accounts based blockchains such as Ethereum, Xrp, and EOS
TypeScript
17
star
8

edge-currency-bitcoin

Implements Bitcoin support following the Edge currency plugin API
JavaScript
17
star
9

airbitz-core-objc

Objective-C bindings for Airbitz core with CocoaPods installation
HTML
14
star
10

edge-currency-plugins

Edge currency plugin for UTXO based currencies, such as Bitcoin.
TypeScript
14
star
11

react-native-airship

A convenient way to display floating UI over a React Native application
TypeScript
12
star
12

airbitz-core-java

Java
10
star
13

edge-exchange-plugins

Exchange-rate sources for the Edge Core
TypeScript
10
star
14

android-ndk-linux

Fully installed Linux Android NDK for easy cloning in Travis and other CI platforms
C
9
star
15

disklet

A tiny, composable filesystem API
TypeScript
9
star
16

edge-conventions

Workflow and Coding conventions when working in Edge/Airbitz repos
Shell
8
star
17

yaob

Yet Another Object Bridge
JavaScript
8
star
18

airbitz-core-js-ui-old

JavaScript
7
star
19

redux-keto

A tool for building "fat" reducers
JavaScript
6
star
20

indy

Ethereum Supernode Indexing Server
TypeScript
6
star
21

airbitz-plugins

Cross platform code for Airbitz wallet apps
HTML
6
star
22

edge-login-ui-sample

Deprecated. Please see https://github.com/Airbitz/edge-login-ui-web-demo
JavaScript
5
star
23

edge-currency-monero

Javascript Monero currency plugin for Edge
TypeScript
5
star
24

airbitz-wallet-recovery

JavaScript
5
star
25

edge-currency-ethereum

Ethereum TxLibrary plugin for edge-core-js
JavaScript
5
star
26

airbitz-core-react-native

JavaScript
4
star
27

react-native-zcash

Swift
4
star
28

react-native-mymonero-core

This library packages the mymonero-core-cpp library for use on React Native.
JavaScript
4
star
29

biggystring

Floating point big number library using only strings as inputs and outputs
TypeScript
3
star
30

react-native-secp256k1

React Native bindings to the libsecp256k1 library
C
3
star
31

electrumX

Shell
3
star
32

airbitz-workshop

A demo app for working with the Airbitz api
JavaScript
3
star
33

edge-docs

Documentation for the Edge SDK for Javascript
JavaScript
3
star
34

airbitz-cli

CLI tool for interacting with the Airbitz login system and wallet API's
TypeScript
3
star
35

edge-login-ui-rn

Edge login screens for React Native
TypeScript
3
star
36

edge-plugin-wyre

Code for Wyre plugin for purchasing cryptocurrency from within Edge Wallet
HTML
3
star
37

airbitz-android-gui-private

HTML
3
star
38

libbitcoin-client

The new client library for libbitcoin servers
C++
3
star
39

edge-currency-shitcoin

Airbitz currency plugin for fake shitcoin server on airbitz-shitcoin-server repo
JavaScript
3
star
40

RNZcashDemo

Demo RN app using react-native-zcash
Java
3
star
41

edge-rest-wallet

A REST API for storing & sending money, powered by Edge
TypeScript
3
star
42

airbitz-react-test

Sample ReactNative app using AirbitzCore
Java
2
star
43

edge-plugin-bitrefill

HTML
2
star
44

updot

Copy dependencies from repos in the ../ folder
JavaScript
2
star
45

react-native-bcoin-demo

This is a playground app for trying to get bcoin running inside React Native
JavaScript
2
star
46

edge-login-ui-web-demo

A standalone demo of the edge-login-ui-web package
JavaScript
2
star
47

edge-components

A component library for Edge Apps
JavaScript
2
star
48

edge-plugin-skeleton

HTML
2
star
49

zcash-demo-app

Java
2
star
50

altcoin-js

Fork of bitcoin-js with added support for various alt coins.
TypeScript
2
star
51

edge-plugin-simplex

HTML
2
star
52

edge-reports-server

TypeScript
2
star
53

airbitz-ofx

Airbitz CSV export to Quickbooks QBO/OFX file import format
Python
2
star
54

redux-pixies

The magical Redux side-effects library
JavaScript
2
star
55

TestRNCrypto

Small test app for react-native-fast-crypto
JavaScript
2
star
56

airbitz-walletcore

Airbitz Wallet Core library code
C
2
star
57

edge-shitcoin-server

Pseudo crypto currency server to do fake transactions
JavaScript
2
star
58

airbitz-plugins-private

Deprecated. Use public repository
JavaScript
2
star
59

bitid-pm

Perl module for server side BitID integration
1
star
60

DiskletTest

Temporary repository to hold our react-native Disklet tests
JavaScript
1
star
61

lib-stubs

JavaScript
1
star
62

edge-reports

**DEPRECATED** Use edge-reports-server
JavaScript
1
star
63

airbitz-cli-react-native

JavaScript
1
star
64

edge-plugin-screens-and-components

HTML
1
star
65

airbitz-plugins-docs

Airbitz Wallet Javascript Plugin API
JavaScript
1
star
66

edge-sync-client

Library for accessing the Edge data-sync system
TypeScript
1
star
67

airbitz-core-react-sample

Sample React Native app that can include airbitz-core-js-ui for the login subsystem
1
star
68

libbitcoin-watcher

What will eventually become the new obelisk client library
C++
1
star
69

Proposed-Redux-State

1
star
70

edge-push-server

TypeScript
1
star
71

react-native-patina

A simple, type-aware theming library
TypeScript
1
star
72

airbitz-api-design

1
star
73

edge-brand-guide

Edge Brand Guide
1
star
74

edge-logs-server

TypeScript
1
star
75

bitbeacon-android

Java
1
star
76

edge-rates-server

TypeScript
1
star
77

edge-plugin-generic

1
star
78

memlet

TypeScript
1
star
79

airbitz-cli-web

A web-based interface to the Airbitz CLI tool
JavaScript
1
star
80

edge-plugin-bity

HTML
1
star
81

eip-961-qr-generator

JavaScript
1
star
82

edge-plugin-starter

JavaScript
1
star
83

edge-electrum-swarm

Shell
1
star
84

edge-server-tools

TypeScript
1
star
85

airbitz-react-fakes

JavaScript
1
star
86

edge-server-simplex

JavaScript
1
star
87

websocketer

JSON RPC Websocket to TCP bridge
JavaScript
1
star
88

airbitz-ios-gui-private

Airbitz iOS GUI
Objective-C
1
star
89

airbitz-core-js-docs

Docs located at https://developer.airbitz.co/javascript/
JavaScript
1
star
90

bitid-perl

Perl module for server side BitID integration
Perl
1
star
91

edge-eospay-server

JavaScript
1
star
92

edge-login-ui-rn-demo

React native demo for using Edge Login ui.
Java
1
star
93

edge-snack-bar-app

Application that generates a QR code for multiple cryptocurrency options
TypeScript
1
star
94

edge-libplugin

CSS
1
star
95

edge-referral-manager

TypeScript
1
star
96

edge-currency-dash

JavaScript
1
star
97

baselet

Simple database built on top of Disklet
TypeScript
1
star
98

edge-sync-server

TypeScript
1
star
99

airbitz-core-node-js

IO dependencies for running airbitz-core-js on node.js
JavaScript
1
star
100

android-ndk-macos

Fully installed Android NDK for easy cloning in Travis and other CI platforms
C
1
star