Development
SSI Wallet uses Expo SDK v48 and React-Native v0.71.
- Node v20.x.x
- Expo CLI v6.0.1 or above
- Yarn
Utility scripts
There are several other utility scripts that help with development.
yarn fix:lint
- runseslint --fix
to fix code style.yarn fix:prettier
- runsprettier --write
to fix code style.
Node
Use a nvm (Node Version Manager) or directly install a LTS version of NodeJS. The version of NodeJS should be 18.x.x which is required for RN 0.71 to work. The app is not guaranteed to work with higher Node versions and it will certainly not work with lower Node versions.
Use nvm list available
to list the available versions of Node.
Then install and make it the default. Please ensure you have proper permissions. On Windows this can mean running the command prompt or powershell as administrator!
Example:
You can use the following command to check the node version.
NOTE: After installation be sure to close the terminal window. If installed from your IDE, be sure to close the IDE and start it (do not restart, as it might not pick up the latest environment variables)
Yarn
We use Yarn as package manager. Install it with the following command:
NOTE: After installation be sure to close the terminal window. If installed from your IDE, be sure to close the IDE and start it (do not restart, as it might not pick up the latest environment variables)
Starting the SSI-Wallet
The SSI-Wallet can be started by running one of the following commands.
Android
For Android you need to make sure that your wallet is connect using a USB cable and that developer options are enabled. If you do not connect the phone using USB it will start the Android emulator instead
By default, it uses port 8081.
- Ensure your phone and your development computer are on the same (Wi-Fi) network.
- Ensure you phone is connected via USB
- Ensure the firewall on you computer allows incoming traffic on port 8081.
iOS
You will have to use Xcode directly for now. We will work on getting the below command working.
Run the below commands on the command line to update all dependencies.
In XCode select the Product -> Run
option from the menu. (If you want to create a archive for instance for TestFlight,
you can choose Product -> Archive
).
It will take some time for the app to start. In some circumstances you might not get directly to the app. If that is the
case lookup whether the Sphereon Wallet application can be found in you apps. If so start it from there. You should see
the bundler starting.