Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675) Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-authored-by: Adw8 <adwaitgharpure@gmail.com> Reviewed-on: cerc-io/laconic-wallet#14 |
||
---|---|---|
__tests__ | ||
.bundle | ||
.husky | ||
android | ||
ios | ||
patches | ||
scripts | ||
src | ||
.env.example | ||
.eslintrc.js | ||
.gitignore | ||
.npmrc | ||
.prettierrc.js | ||
.watchmanconfig | ||
app.json | ||
babel.config.js | ||
development.md | ||
Gemfile | ||
index.js | ||
jest.config.js | ||
metro.config.js | ||
package.json | ||
react-native-config.d.ts | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
laconic-wallet
Install
-
Install Node
-
Install version 17 of the Java SE Development Kit (JDK) (Clicking on the link will download the .deb file)
-
Install using the
.deb
filesudo dpkg -i jdk-17_linux-x64_bin.deb
-
Check Oracle JDK docs for installation in other platforms: https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html
-
-
Install Android Studio
-
In the installation wizard check the following items:
-
Android SDK
-
Android SDK Platform
-
Android Virtual Device
-
-
Install Android SDK
-
Open Android Studio -> Configure -> SDK Manager -> SDK Platform Tab.
-
Check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 13 (Tiramisu) entry, then make sure the following items are checked:
-
Android SDK Platform 33
-
Intel x86 Atom_64 System Image or Google APIs Intel x86 Atom System Image
-
-
Select SDK Tools and check the box next to "Show Package Details"
-
Select Android SDK Build-Tools 33.0.0
-
Click Apply
-
-
Configure the
ANDROID_HOME
environment variable -
Add the following lines to your
$HOME/.bash_profile
or$HOME/.bashrc
(if you are using zsh then~/.zprofile
or~/.zshrc
) config file:export ANDROID_HOME=$HOME/Android/Sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/platform-tools
-
Type
source $HOME/.bash_profile
for bash orsource $HOME/.zprofile
to load the config into your current shell. Verify thatANDROID_HOME
has been set by runningecho $ANDROID_HOME
-
Check that the appropriate directories have been added to your path by running
echo $PATH
Setup for laconic-wallet
-
Clone the repository
git clone git@git.vdb.to:cerc-io/laconic-wallet.git
-
Enter the project directory
cd laconic-wallet
-
Install dependencies
yarn
-
Setup .env
-
Copy and update
.env
cp .env.example .env
-
In the
.env
file add your WalletConnect project id. You can generate your own ProjectId at https://cloud.walletconnect.comWALLET_CONNECT_PROJECT_ID=39bc93c...
-
-
Add SDK directory to project
- Inside the
android
directory, create a filelocal.properties
and add your Android SDK path
Wheresdk.dir = /home/USERNAME/Android/Sdk
USERNAME
is your linux username
- Inside the
-
Set up the Android device
-
For a physical device, refer to the React Native documentation for running on a physical device
-
For a virtual device, continue with the steps
-
-
Start the application
yarn start
-
Press
a
to run the application on android
Flow for the app
-
User scans QR Code on dApp from wallet to connect
-
After clicking on pair button, dApp emits an event 'session_proposal'
-
Wallet listens to this event and opens a modal to either accept or reject the proposal
-
Modal shows information about methods, chains and events the dApp is requesting for
- This information is taken from namespaces object received from dApp
-
-
On accepting, wallet sends the namespaces object with information about the accounts that are present in the wallet in response
-
Once the session is established, it is shown on the active sessions page
-
The wallet can be connected to multiple dApps
signature-requester-app
Setup
-
Clone the repository
git clone git@git.vdb.to:cerc-io/signature-requester-app.git
-
Enter the project directory
cd signature-requester-app
-
Install dependencies
yarn
-
Start the application
yarn start
-
Press
a
to run the application on android
You should see both the apps running on your emulator or physical device
Run
-
Open the app
-
Add details about chain and address you wish to sign the message with
- You can see the URL based on the data you entered
-
Click on
Open Link
button to open Laconic Wallet and sign message-
If this does not work, follow steps below
-
Open Laconic Wallet app settings
-
Open
Open by default
section -
Click on
Add link
-
You should see
wallet.laconic.com
link -
Once selected, signature-requester-app should work as intended
-
-
Troubleshooting
-
To clean the build
cd android ./gradlew clean