Hi team. I'm looking to start onboarding friends, and I'm still finding it far too difficult to onboard someone who doesn't have high technical knowledge. So I'd like to request a couple of features which I think can make quite a bit of difference towards onboarding:
Could you make it possible to pre-pay for an account to be created for someone else? I'd like to pre-pay 3 HIVE and receive some kind of a link or QR code which I can then send to the person. This link will ideally take them through installing Keychain and it will let them create an account for free. And I'll be set as the recovery account.
Could you implement the BIP39 protocol? Having a 50-character master password that people have to store safely seems really tough. It seems much more friendly to have a secret seed phrase which can be written down on paper. Ideally, Keychain itself would also store the secret seed phrase so that the user can display it when desired - this way they can always keep the secret seed phrase in two places and if it gets lost in one place, they can restore it from the other. Basically, this would replace the master password.
Keen to hear your thoughts on such features. Thanks in advance.
Hey there! Thanks for your suggestions!
We didn't go that way because account creation tickets are non-transferable and we wanted to be able to create accounts with that as well. But there is an easy way involving QR Codes in the other direction. Your friend create their account on their mobile device, generate a QR Code and send it to you. You scan it, pay (HIVE or ticket) and their account is created.
https://peakd.com/keychain/@keychain/hive-keychain-v22
The format of the master password is determined at account creation time, are you aware of any account creation tool that create accounts with a seed? We could verify it's working when importing accounts and propose it as an option during account creation if feasible.
We consciously chose not to store the master password or the owner key for security reasons. Keychain is a hot wallet, not a key storage tool.
Thanks for your responses!
Taking some time to think about it, I guess account creation tickets can still be used if I send a friend an invite to join Hive. Whether I pre-pay 3 HIVE for them or I keep an account creation ticket ready, it still has to be verified that my friend is the one registering the account. So my invite would anyways have some secret token in it. Then when my friend wants to create the account, Keychain would know that it is my friend, and either use the 3 HIVE to create the account or redirect the request to me so I can use my account creation token to create the account. If I have account creation tokens, I am a more advanced user so I can run some software that takes the request Keychain redirected to me, creates the account and notifies Keychain it has been created - this way my friend doesn't have to wait, the account is created right away. And RC delegation can be handled similarly.
Of course, there are many ways to go about this and it's also possible for my friend to send me a QR code, then I create their account. But it seems slower and more steps. Better to have it more automated, I guess. And generating an invitation via an Invite a Friend button seems like a standard feature that people are used to.
I see that Ecency has implemented a seed phrase: https://ecency.com/signup/wallet On the second step you are shown a seed that you can download together with all the account keys. hived also has a
suggest_brain_key()
function where it derives a private key from a list of words, but it uses a different (much more cumbersome) list of words than the BIP39 protocol.Got it.
@keychain Any feedback on the above?
Sorry, missed your original reply.
This can definitely be done with a bot running on a server, but not on Keychain since :
The QR approach takes one more step indeed (sharing the QR code), but it has the advantage to be accessible to everyone. Your approach would take a lot of work for just a few power user to use it. I still think it's a good idea though and will be happy to assist on our side for easy implementation if someone else create the backend feature.
I will check Ecency. Was your point on Keychain about being able to import these accounts, or create new accounts with seed phrase within Keychain?
If the users with account creation tokens are willing to run such a software and keep a list of trusted accounts, then all those trusted accounts would be able to invite friends. With such lists, it should make it available to many people to be able to invite friends.
I am definitely interested in developing the backend for this, happy to hear you are willing to add such a feature to Keychain. I'll reach out on discord to discuss in detail.
Generate a BIP39 seed phrase and create a new account from it within Keychain. This would make it far more user-friendly, I think. Otherwise people have to write down on paper a 50-character private key. And if you can create an account in this way, I guess it would also be possible to import from an existing seed phrase.