Skip to content
This repository was archived by the owner on Feb 21, 2019. It is now read-only.

Subaccounts

Nathan edited this page Jul 22, 2014 · 4 revisions

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.

Naming Rules

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.

Updating Rules

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.

Clone this wiki locally