Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The wallet on Android and iOS

This page is optional. Everything in this guide can be tested with a wallet in the terminal, which the connect page starts with one command. Build the real wallet when you want to see what your players see.

As installed, the wallet is on the beta network: five storage nodes, named in a file inside the app with each one's certificate, so it trusts no node it was not built to trust. Your app's account will be on the same network.

Android

You need Android Studio with the Android NDK 27.0.12077973, and ANDROID_NDK_HOME set to it. With that in place, set the build up once:

make setup

Then build the wallet and install it on every phone connected over adb:

make install

make android builds the APK without installing it.

iOS

On a Mac with Xcode, and cbindgen:

cargo install cbindgen

Build the Rust SDK for iOS, the wallet's screens, and the app for the Simulator, then install it on the Simulator that is running and open it:

make ios-libs
make ios-frontend
make ios-simulator
make ios-simulator-run

The iOS app runs the same Rust SDK and the same screens as the Android one.

For a real iPhone or iPad, run make ios-device IOS_TEAM= followed by your Apple team id: Xcode signs it with automatic provisioning. A free Apple ID gives a profile that lasts a week; a developer account, a year.

The first run

The first run is the wallet's setup. You read the beta terms and tick each one, and you pick a look.

Before you start: the beta terms, each with a tick box
The beta terms. You continue once every point is ticked.
Choose your look: Modern or DGen, dark mode, simple mode
Choose your look: Modern or DGen.
Welcome to DSM, with the Create my wallet button
Create my wallet.

Then the wallet makes its identity on your phone: a recovery phrase of 24 words, which you write down and check. The phrase is not shown here. After the check, the wallet puts itself on the network: it publishes its directory entry to the storage nodes, and then it is ready.

Almost ready: putting your wallet on the DSM network
Putting the wallet on the network.
Device ready: your device key is enrolled and your identity is published
Device ready.
Protect your wallet: set up a PIN or a button combo
A PIN or a button combo, now or later.

Its first money is one tap: Get your welcome ERA, which the network's faucet gives a new account.

The home screen at 0.00 ERA with the Get your welcome ERA button
A new wallet, at 0.00 ERA.
The home screen at 100.00 ERA on iOS
100.00 ERA, on iOS.
The home screen at 100.00 ERA on Android
The same wallet on Android.

Each wallet now holds ERA from the faucet, so there is something to pay your app with. Nothing of the network runs on your machine.

Next: Your app's own DSM account.