Changing recovery accounts

in #hive-1312236 months ago (edited)

lighthive.png

Lighthive documentation


After the chain split, most of the accounts in the HIVE network have their trustee/recovery account as @steem, which will not be operating your account recovery process if you need it.

It's important that you set your accounts' trustee to somebody you trust. This trustee account cannot update your accounts' keys or get access to your account.

However, if your account gets hacked, then you can start your account recovery process with your trustee.


I was not sure if there was a UI available for that so I've prepared this little script to update my accounts.

from lighthive.client import Client
from lighthive.datastructures import Operation


def change_recovery_account(lighthive_client, account_to_recover,
                            new_recovery_account, owner_key):
    op = Operation('change_recovery_account', {
        "account_to_recover": account_to_recover,
        "new_recovery_account": new_recovery_account,
        "extensions": []
    })

    lighthive_client.keys = [owner_key, ]

    lighthive_client.broadcast(op)
    print("Updated recovery for @%s to @%s" % (
        account_to_recover, new_recovery_account))


if __name__ == '__main__':
    account_list = [
        ('account_to_recover1', 'new_recovery_acc', 'owner_key'),
        ('account_to_recover2', 'new_recovery_acc', 'owner_key'),
        ('account_to_recover3', 'new_recovery_acc', 'owner_key'),
    ]

    c = Client()

    for account_to_recover, new_recovery_account, owner_key in account_list:
        change_recovery_account(
            c, account_to_recover, new_recovery_account, owner_key)

Just update the account list and its parameters, then execute. See Lighthive documentation for installation if you don't have lighthivealready.

Note: This is originally posted to Lighthive community. If you're interested in that kind of snippets, make sure to subscribe.

Update:

  • Vessel wallet also supports changing recovery account.

  • Peakd also supports it. Go to your profile -> Actions -> Keys & Permissions -> Recovery Account.

Sort:  

The best UI for doing this I've found is the Vessel app. Someone posted instructions on installing that a week or two ago. But I do love seeing code for how to do this too!

nice! wasn't aware Vessel has it. Good option. :)

On the Vesting screen there is an option to add Withdrawal account.

Vessel is also the absolute best way to see multiple power downs on Steem because it shows the date of next deposit. You can switch back and forth from Hive to Steem in the latest version by just switching the API in the settings.

Thanks, I've updated the post to include Vessel as an option.

Vessel can do nearly everything I think haha.
The beempy CLI would be the choice between Vessel (user-friendly GUI) and your option (actually fiddling around with code) I believe :-) (at least after you managed to install beem)

Disagreed.

Creating this script is easier than using beempy or any other tool, at least for me.

I don't doubt that, but I meant that from a non-developer/not too tech-savvy perspective ^^
For me it is often also easier to just write something.

ah, yes, of course. For end users, "interfaces" are better indeed.

You can also do it on peakd. I can't check where exactly, since I'm on my phone right now, but it's somewhere between permissions and other settings.

Just investigated, the path is:

Go to your profile -> Actions -> Keys & Permissions -> Recovery Account.

Thanks, I've updated the post to include PeakD as an option.

I totally need to do this but only way I can think is to make a second account and set it as recovery.

That works. Until then you can set it to somebody you trust and know IRL.

I have picked your post for my daily hive voting initiative, Keep it up and Hive On!!