Skip to content

A simple mobile wallet for IOTA built with React Native

Notifications You must be signed in to change notification settings

l3wi/iotaMobile

Repository files navigation

IOTA Mobile

A simple wallet application for IOTA token.

Overview

This wallet application will enable iOS & Android users to securely access or generate a wallet on their mobile device. It will allow a user to send, receive, and generate addresses.

Security of the seed while the app is in active use will be handled by the audited TweetNaCl using the secrect box function (Sand box: here). At rest the secret box will be stored by iOS Keychain and on Android Facebook's Conceal.

It also includes a seed generator that is using SJCL's random-words.

Technology

Security

For more info on security go here

Features - V0.1

As specificed in the bounty it will have the following functions:

  • Seed
    • Generate Seed
    • Hydrate a pre-exisiting seed
  • Send Transfer
    • Specify amount
    • Specify address
    • Attach to tangle
  • Receive Transfer
    • Get latest confirmed balance
    • Display all pending transfers
  • Generate New Address
    • Show QR code for that
  • Settings
    • Change node address
  • Security
    • Integrate into Native Keystores
    • Encrypt seed in secure box
    • Destory memory on Background

Structure

The applicaiton is structured in the following way:


--- app -- components // Smaller react components for use in routes
	 | --- libs 	  // Crypto, Remember Me, & Redux Store 
	 | --- routes	  // Application routes
	 | --- assets	  // Images and assets
	 | --- actions	  // Application Actions (Redux)
	 | --- reducers	  // Application Reducers (Redux)
	 | --- entry.js   // Entry point for the application

Setup

git clone https://github.com/l3wi/iotaMobile.git 	//clone the repo

cd iotaMobile  						// CD into directory

npm install -g react-native-cli yarn 			// Install Yarn and ReactNative CLI 

yarn  							// Install Deps

react-native run-ios  					// Launch emulator and start bundler

// PS: If simulator has an error. Make sure to Debug JS remotely (Press CMD + D)

License

MIT 2017 - Lewis Freiberg