Awesome
Mojito - A Bitcoin & Mintlayer Wallet
Built with React Native and Electrum, based on BlueWallet
Website: mintlayer.org
Community: telegram group
- Private keys never leave your device
- SegWit-first. Replace-By-Fee support
- Encryption. Plausible deniability
Learn more about Mintlayer here.
BUILD & RUN IT
Node and Java versions
It is recommended to run everything with node 16.14.2
for Android build. But npm run ios
uses node version >18
, so in this case you will need two different node versions. We recommend NVM to make that easier.
The recommended JDK
version is 11
.
Dependencies
After installing the correct vesions of Java and Node, clone this repo and install dependencies:
git clone https://github.com/mintlayer/mobile_wallet
cd mobile_wallet
npm install
Possible Issues
Got an EINTEGRITY
error on install
Remove lock file and node_modules and try installing again.
rm -rf node_modules package-lock.json
npm install
Got an ERESOLVE unable ro resolve dependency tree
error on install
Try running the install with legacy deps flag:
npm install --legacy-peer-deps
Running on Android:
Android Studio
You will now need to either connect an Android device to your computer or run an emulated Android device using AVD Manager which comes shipped with Android Studio. So first of all, install Android Studio.
Then verify if you have these env vars set on you OS:
export PATH=$PATH:$HOME/android-studio/bin
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
Now, inside Android Studio, remove all default emulators and create a new one using API 33 (Tiramisu).
Possible issues
Android studio not working properly
You might to reinstall Android Studio for different reasons. If you are on Linux and used default installation we recommend using this command to start from scratch:
rm -rf .local/share/Google/ .local/share/Android\ Open\ Source\ Project .local/share/kotlin .config/Android\ Open\ Source\ Project .config/Google/AndroidStudio2022.3 .cache/Android\ Open\ Source\ Project .cache/Google/AndroidStudio2022.3 android-studio Android
If you are not on Linux, or not running the default install, you should look for these folders:
android-studio
: where is keeps the software itselfAndroid
: where SDKs are kept- User specific settings, configs and cache.
Node
Now run metro web server in one terminal with:
npm start
Then build, install it, and run on android emulator in another terminal:
npm run android
Once you launch the app it will take some time for all of the dependencies to load. Once everything loads up, you should have the built app running.
Running on iOS:
Run pod-install
(just on first run):
npx pod-install
Now run metro web server in one terminal with:
npm start
Then build, install it, and run on iOS emulator in another terminal:
npm run ios
Specifics
Run on macOS using Mac Catalyst:
npm run maccatalystpatches
Once the patches are applied, open Xcode and select "My Mac" as destination. If you are running macOS Catalina, you may need to remove all iOS 14 Widget targets.
TESTS
npm run test
TESTS CASES DELETED
multisig-hd-wallet.test.js cosign.test.js payjoin-transaction.test.js “We should bring it back once Multisign wallet is back”
BrowserStack
“This project is tested with BrowserStack.”
LICENSE
MIT
WANT TO CONTRIBUTE?
Grab an issue from the backlog, try to start or submit a PR, any doubts we will try to guide you.
RESPONSIBLE DISCLOSURE
Found critical bugs/vulnerabilities? Please email them security@mintlayer.org
For more info check here