Participate in Phala Network governance using PHA tokens and democratic processes.
Users must reserve funds in a bond to store their information on chain:identity_reserve_funds
, andidentity_field_funds
per each field beyond the legal name. These funds are locked, can not be spent - they will be returned when the identity is cleared. These amounts can also be extracted by querying constants through the “Chain state constants” tab on polkadot.js/apps.
Each field can store up to 32 bytes of information, so the data must be less than that. When inputting the data manually through the Extrinsics UI, a UTF8 to bytes converter can help.
submit the following extrinsic
“identity” and in the field to the immediate right “setidentity(info)”. To submit a raw transaction, first click “Add Item” and add any field name you like. The display name also must be provided; otherwise, the Identity pallet would consider it wiped if you submitted it with “None” selected. Every time you change your identity values, you need to re-submit the entire set of fields: the write operation is always “overwrite” and never “append.”
Note that custom fields are not shown in the UI by default.The rendering of such custom values is, ultimately, up to the UI/dapp makers. In the case of Polkadot.js, the team prefers to only show official fields for now. If you want to check that the values are still stored, use the Chain State UI to query the active account’s identity info: It is up to your own UI or dapp to then do with this data as it pleases. The data will remain available for querying via the Polkadot API, so you don’t have to rely on the PolkadotJS UI. You can have a maximum of 100 custom fields.
Since fields support different formats, from raw bytes to various hashes, a UI has no way of telling how to encode a given field it encounters.The Polkadot.js UI currently encodes the raw bytes it encounters as UTF8 strings, which makes these values readable on-screen. However, given that there are no restrictions on the values that can be placed into these fields, a different UI may interpret them as, for example, IPFS hashes or encoded bitmaps. This means any field stored as raw bytes will become unreadable by that specific UI. As field standards crystallize, things will become easier to use but for now, every custom implementation of displaying user information will likely have to make a conscious decision on the approach to take, or support multiple formats and then attempt multiple encodings until the output makes sense.
identity
pallet, then requestJudgement
. For the reg_index
put the index of the registrar you want to be judged by, and for the max_fee
put the maximum you’re willing to pay for these confirmations.
If you don’t know which registrar to pick, first check the available registrars by going to “Chain State UI” and selecting identity.registrars()
to get the full list.
identity
pallet, then cancelRequest
. Ensure that you are calling this from the correct account (the one for which you initially requested judgement). For the reg_index
, put the index of the registrar from which you requested judgement.
Submit the transaction, and the requested judgement will be canceled.
setSubs
as the function to use. Click “Add Item” for every child account you want to add to the parent sender account. The value to put into the Data field of each parent is the optional name of the sub-account. If omitted, the sub-account will inherit the parent’s name and be displayed as parent/parent
instead of parent/child
.
Note that a deposit of identity_sub_reserve_funds
is required for every sub-account.
You can use polkadot.js/apps again to verify this amount by querying the identity.subAccountDeposit
constant.
Users can clear their identity information and have their deposit returned. Clearing an identity also clears all sub accounts and returns their deposits.To clear an identity: