In the kin-ecosystem-android-sdk GitHub page.
The kin SDk provide automatic backup functionality via Google backup on Android and iCloud on iOS. The backup will restore the private key if user reinstall the app under the same Google/icloud account (even on a different device). However the automatic backup is not 100% guaranteed and a successful automatic backup and install depends on several external factor such as android os version, on whether the user has opted-out from application backup, and whether the user is constantly on data or is using wifi or additional cases that we can’t control. We are currently research and test Users activated Backup/restore functionality and it will be added to future version of the SDK.
The SDK is doing its best effort to automatically backup and restore the user’s private key however the success is not guaranteed as it depends on external factors (Android OS version, user app backup opt out etc.). Therefore, in an event of app uninstall or cache clear, there is no 100% guarantee that the backup/restore succeeded and the user may lose his kin balance in such an event. We are well aware of this requirement and we are working on providing the right solution for user facing intuitive and safe backup/restore functionality.
No need to test (fake) account with initial Kin:
- Playground environment provides earn opportunities for testing environment where QA can quickly earn enough Kin for all testing( this will be the fastest way to achieve test)
- You can use native earn option (ready on Android WIP on iOS) to request Kin programmatically from within kik
- Create a const earn JWT and use native earn API to request Kin for user - each JWT will only work once per user ID
- Client Wallet created locally (private and public keypair is created and private key is stored securely on client device)
- Client register to server providing JWT credentials and public address
- Ecosystem backend verify credential and create account for provided public address on Blockchain
- Client receive auth token to be used with any network request to Ecosystem backend
- SDK watch blockchain and get notify when client account created
- SDK create a trustline transaction (Account can’t receive Kin without establishing trustline)
These are the steps:
- Client send createOrder request with offer JWT to ecosystem backend
- Ecosystem verify JWT and provide client the amount, payment address and internal orderID
- Client sign a transaction with provided information (the internal order Id is set in the transaction memo
- Client submitOrder with the orderID and server side monitor blockchain for transaction with the orderID in the memo field
- Once transaction accepted by blockchain client request getOrder() from server side
- Server side verify that the transaction was accepted by the blockchain and sign a JWT confirming the transaction
- The JWT is returned to the purchase callback
- Client can pass the JWT to digital service server side to unlock offer