vultisig android app
This project use Trust Wallet WalletCore, the WalletCore library is host on github , in order for gradle to access it , you need to have a github personal token and then set the following two ENV variables
You can also add it to your ~/.bashrc
or ~/.zshrc
file, more detail refer to [this guid] (https://developer.trustwallet.com/developer/wallet-core/integration-guide/android-guide)
export GITHUB_USER=your_github_user
export GITHUB_TOKEN=your_github_token
[How to get a personal github token?] (https://github.com/settings/tokens)
When keygen started , the main device will start a mediator server on port 18080, in order for your pair device to access it , you will need to do the following
-
Setup port forwarding on the main device, using
adb
,adb
will start to listen on port 18080 on your emulator's host machine , but only on loopback interfaceadb forward tcp:18080 tcp:18080
-
use
socat
to listen on the host machine's network interface , and forward the connection to the loopback interface# my host machine's ip is 192.168.1.35 , update it to your own ip socat TCP-LISTEN:18080,bind=192.168.1.35,reuseaddr,fork TCP:localhost:18080
-
Override service discovery address, when mediator start the service , it register itself, however the Ip it register is the emulator's local ip, which is
10.0.2.16
, so the pair device will only find address as10.0.2.16
, need to override it to your host machine's ip , in file https://github.com/vultisig/vultisig-android/blob/main/app/src/main/java/com/vultisig/wallet/ui/models/keygen/JoinKeygenViewModel.kt