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,adbwill start to listen on port 18080 on your emulator's host machine , but only on loopback interfaceadb forward tcp:18080 tcp:18080
-
use
socatto 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