Mobile trustless trading through Uniswap
npm i -g react-native-cli
npm i
System Dependencies:
Install git:
Install chocolatey package manager:
Using chocolatey, run the following:
cinst nodejs.install --version 8.6.0
Hint: Don't forget to do
npm init
to generate profile.json.
after the install has finished, run the following into the command line with administration execution:
npm install -g --production windows-build-tools
Hint: Don't forget to install node-cli, node-gyp packages using
npm install -g node-cli node-gyp
if it's not installed.
Install xcode command line tools:
xcode-select --install
Using homebrew, run the following:
brew install node
You will need to install build tools and curl, git:
$ sudo apt-get install -y build-essential curl git
Install node 8.x using NodeSource repository:
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs
You will need to install build tools and curl, git:
$ sudo dnf -y groupinstall 'Development Tools' && sudo dnf -y install curl git
Install node 8.x using NodeSource repository:
$ curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
$ sudo dnf -y install nodejs
Hints:
Don't forget to install node-cli, node-gyp packages using$ npm install -g node-cli node-gyp
if it's not installed.
Don't forget to donpm init
to generate profile.json.
Note: Can only be done on a Mac OS X Specific Setup
Additional Requirements
To run Mobidex on the iOS simulator from XCode, follow these steps.
npm install
This command will change to the iOS working directory to setup the required Ruby gems in your local project.
pushd ios && bundle install --path .gems && bundle exec pod install && popd
Open ios/mobidex.xcworkspace
in XCode
Select Build Phases for Pods > secp256k1_swift
target and remove secp256k1_swift-dummy.m
.
Tip: You'll notice there are 2 pods with similar names, we are only working with the one that has the underscore 'secp256k1_swift'
Then, select your device simulator of choice and click the play icon at the top left corner of Xcode.
Start develop in Android:
npm install
.native_modules.gradle
as per this pull request.react-native run-android
to compile and run the install project in android.react-native start
to run server js and loading the Mobidex app.npm start
Run the development server which is necessary for debug configurations of the App.
npm run patch
Patches isomorphic-fetch for use with react-native.
npm run build:android:release
This will construct a signed android release. This is the preferred method of constructing an APK at the moment.
NOTE: Make sure gradle.properties
has android.enableAapt2=false
. Otherwise, the build will fail with:
mobidex/android/app/build/intermediates/res/merged/release/drawable-hdpi/node_modules_reactnavigation_src_views_assets_backicon.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..
error: failed parsing overlays.
Run npm run build:android:release
. See notes above.
Mobidex is an open source project. As such, there are many ways to contribute. See below to see how you can get involved!
All issues with the Mobidex client are public. They can be found at https://github.com/sigillabs/mobidex/issues.
You can also run the issue by the telegram group before creating an issue.
Any one can become a tester. Just join the Mobidex telegram and ask and admin to join.
Web3.js does not load because of its dependence on node.js standard libraries. The majority of them are loaded via the node-libs-react-native
library. In particular, the crypto
library requires the vm
library, which cannot be easily mocked or replaced. To circumvent this, I've forked node-libs-react-native
and added a browserified crypto library: https://github.com/abec/node-libs-react-native.
See the for more details:
Keys are stored on disk and unlocked using a passcode. Passcode can be provided or unlocked using touch ID. Touch ID unlock is provided through the Keychain services and LocalAuthentication.
Keys are stored on disk and unlocked using a passcode. Passcode can be provided or unlocked using touch ID. Touch ID unlock is provided through the Keystore.