-
Notifications
You must be signed in to change notification settings - Fork 174
Subaccounts
BitShares supports a system of account hierarchies, where one parent account may have many children, grandchildren, etc. and that parent can update children or grandchildren at will. Subaccounts are denoted by dots in their names, similar to subdomains, so if a user registers an account bob
, he may register the subaccount child.bob
using bob
's private key. This means that only bob
may register child.bob
, and bob
can update child.bob
at any time.
Subaccounts can be recursive, so child.bob
could authorize the creation of grand.child.bob
if he desired. It is useful to note that bob
is not able to create grand.child.bob
as it is not a direct descendent; however, bob
can later update a grandchild after its registration if he desires.
Each component of a subaccount name must be a valid name, so in the subaccount delegate1.delegates.delegated-proof-of-steak
, all of delegate1.delegates.delegated-proof-of-steak
, delegates.delegated-proof-of-steak
, and delegated-proof-of-steak
must be valid accounts as well. This means that 1.delegates.delegated-proof-of-steak
is not a valid account name, because 1
is not a valid account name.
Subaccount rules only apply in one direction, i.e. child.parent
and child
have no relationship, and both of these accounts may exist.
A parent may perform a wallet_account_update_registration on any of its descendents, so grand.child.parent
may be updated by child.parent
or parent
, and child.parent
may be updated by parent
. The parent may authorize such an update using either its active key or its owner key.