[Shipped] App v.4

Thanks @ning I´ve downloaded the new version and tried a fresh install. Whats the way to go, if several addresses are needed for a node etc. Create several master keys (12 word seedphrases)? Or can I create new addresses somehow and restore them all if necessary with one masterkey?

1 Like

What a perfect test of my backup strategy! :sweat_smile:

:pray: for me :joy:

3 Likes

Very smooth update and transition. Well done, team!

3 Likes

hey @sato, you can create as many keychains as you like under one master key. each of those keychains has a validator key, so you can have something like:

X master key
keychain 1 -> private key 1, public key 1, validator key 1, etc.
keychain 2 -> private key 2, public key 2, validator key 2, etc.
keychain 3 -> private key 3, public key 3, validator key 3, etc.

to do that, you need to go to the Keychain tab, switch to ‘X master key’ on the top right, then just select ‘create a new keychain in X master key’.

X master key can be backed up with a seed phrase, which will also restore Keychains 1, 2 and 3. Keychains 1, 2, 3 can also still be separately backed up with private keys if you want.

hope that helps!

3 Likes

Thanks @ning. Another question, why is it not possible to generate the “master” key offline?Seems that a internet connection is required to generate the key / seedphrase. Should this not be done offline, on the device itself? How is the process actually to generate the key, what is happening in the background? Thx.

5 Likes

Great, thanks a lot @inccry :+1:

You have to compute the checksum manually. I don’t think you can simply pick random 12 words because of the checksum. For computing phrase offline you can download this tool an use it offline:
https://iancoleman.io/bip39/

2 Likes

You’re right!

(I deleted my previous message)

1 Like

I’d recommend not using RPC to init a new wallet. Instead use the SDK. It’s much more secure.

init(passPhrase: string, name?: string) => Promise<WalletInstance>

const { WalletInstance } = incognitoJs;

const wallet = new WalletInstance(); await wallet.init('my-passphrase', 'TEST-WALLET');

console.log('New wallet', wallet);

1 Like

Sensitive operations, such as the creation of user private keys and signing of transactions, are performed client-side. The SDK requires an internet connection to implement these client side wallet features and interface with the APIs.

1 Like

Thank you all for the replies! Yes, I understand that creating key is better done via SDK, similarly caution must be taken when using private APIs against a node. That said, I do still prefer JSON APIs whenever possible, because it is a cleaner interface and language neutral.

Also, I’m still confused by the comment @ning made above regarding the “pdex” key. Is it only treated specially by the (older than version 4.0) mobile app, but not by the blockchain itself? Since with the new 4.0 version, there is no more “pdex”, “pdex withdraw” keys.

1 Like

The new app does contain both pDEX and pDEXWithdraw keys. The pDex, and pDexWithdraw keys will not appear until the user uses the “Add” function to add liquidity. You don’t have to actually add liquidity. You just have to enter that part of the app.

3 Likes

Hm. Master keys/keychains can technically be generated and viewed offline. But because a internet connection is needed to get coin lists and balances etc., currently the app doesn’t open without one…

1 Like

What information is stored locally on the device? (transaction history or anything?)

My plan is to restore my private keys to an alternate device before upgrading–just to be extra safe.

2 Likes

Yes transaction histories are stored locally, as are custom lists (add a coin to your list), settings and preferences, node lists, master keys and keychains, passcode, etc.

4 Likes

Maybe I’ll opt for a traditional upgrade just to keep my transaction history. But I did import my original private keys to another device to make sure it’s backed up properly.

I highly recommend it to everyone. It’s a good test of your backup procedure as @inccry said :grinning:

PS–inconito seems to run on even a very old device. That’s nice! :slight_smile:

4 Likes

When I want to create a security passcode, the alert “Backup your account first…” still shows up. Which is a good idea in general. But if I click “Back up now” it still leads to the private keys and forces me copy them. But I do not want to copy them into the memory as I use now seed phrase etc.

I would suggest to change the alert:
Backup your account first
Please backup your accounts before using passcode
I´ll backup later / Backup now

When I click backup later, I should be able to create a passcode (does not work now).
When I click backup now, it should show the seed phrase instead of private keys and I should not be forced to copy it into the memory.

6 Likes

I also do not like being forced to copy my private keys to clipboard memory.

5 Likes

Your words, my words!

1 Like

@sato @marko @iksolon noted and agreed. i think we should apply this app-wide too, so in addition to keys, addresses are scrollable not just copyable, etc. I’ll update you guys when it’s done.

this is currently on the list: the flow is outdated and will be improved.

thanks!

13 Likes