/pungo-wallet

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Pungo Token

Pungo Wallet

This readme is WIP

Mobile wallet implementation.

Development Resources

Getting started

Dependencies

Required software:

Install required packages for linux:

# install nodejs
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential

# update npm
npm install npm@latest -g

# install meteor
curl https://install.meteor.com/ | sh

How to setup development environment

On development process

We should limit the number of changes in existing code in imports folder to keep general source code in sync with original repository.

Instead we should create and import code in new files.

Adding required code

To build an app or to run a web version you should add required information to code. At the moment this information is replaced by three dots: '...'

  • add electrum servers to ./imports/ui/conf/electrum-servers.js file;
  • add proxy server for Electrum server to ./imports/ui/actions/proxyServer.js file;
  • add some access rules if needed for your resources for Meteor to ./mobile-config.js file;
  • add meteor token id (instaed of 'tobeset') to .meteor/.id file;
  • if you need coin price provider / price converter (for examlpe www.atomicexplorer.com)- add it to ./imports/ui/actions/actions.js

Setup for local development of web browser version

Local development for browser version, with live reload on changes.

Setup repository and start live development of web browser version:

git clone git@github.com:pungotoken/pungo-wallet.git
cd pungo-wallet

meteor update

npm install
meteor run --port=3002

Running on Android, building and development

Further reading https://www.meteor.com/tutorials/blaze/running-on-mobile

// install java8, don't install java9 it won't work with meteor 1.6.x

meteor install-sdk android
meteor add-platform android

# running in the emulator
meteor run android

# running on the device
meteor run android-device

Running on iOS, building and development (Mac Only)

Further reading https://www.meteor.com/tutorials/blaze/running-on-mobile

meteor install-sdk ios
meteor add-platform ios

# running in the emulator
meteor run ios

# running on the device (requires apple developer account)
meteor run ios-device

How to build production static web version

..

meteor add-platform android

meteor build build --server=localhost

sign apk with your key

How to live debug on android

  1. Enable development mode on your android device
  2. Connect your device via a usb cable to your machine
  3. Connect your device to the same wifi network as your machine
meteor run android-device

Meteor docs https://guide.meteor.com

Development workflow: files structure

..


intall meteor 1.6.x
install npm
install nodejs
install java8, don't install java9 it won't work with meteor 1.6.x

git clone
cd to project's folder
meteor update
npm install

os specific (build):
install android studio
install android sdk 25.x
configure path env

How to run local desktop version

meteor run --port=3002

How to build an apk

meteor add-platform android

meteor build build --server=localhost

sign apk with your key

How to debug with hot code push

enable dev mode on your android device

connect your device via a usb cable to your machine connect your device to the same wifi network as your machine

meteor run android-device

refer to meteor docs https://guide.meteor.com

How to verify jar/apk signature

jarsigner -verify -certs -verbose filename.apk

How to sign apk

create signing key

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 release-unsigned.apk agama-app