Skip to content

Commit

Permalink
Add info about People Chain (Kusama) (w3f#5912)
Browse files Browse the repository at this point in the history
* add warnings about people chain

* fix rpc values (field dep -> byte dep)

* switch it around

* remove registrar gov content for now

* Update docs/learn/learn-guides-identity.md

---------

Co-authored-by: Radha <86818441+DrW3RK@users.noreply.github.com>
  • Loading branch information
CrackTheCode016 and DrW3RK authored May 24, 2024
1 parent 62c85c3 commit 6407559
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 41 deletions.
12 changes: 8 additions & 4 deletions components/RPC-Connection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ const Polkadot = "polkadot";
const Kusama = "kusama";
const Statemine = "statemine";
const Statemint = "statemint";
const KusamaPeople = "kusama-people";

function RPC({ network, path, defaultValue, filter=undefined }) {
function RPC({ network, path, defaultValue, filter = undefined }) {
const [returnValue, setReturnValue] = useState('');
network = network.toLowerCase();

Expand Down Expand Up @@ -43,6 +44,9 @@ function RPC({ network, path, defaultValue, filter=undefined }) {
case Statemint:
wsUrl = "wss://polkadot-asset-hub-rpc.polkadot.io/";
break;
case KusamaPeople:
wsUrl = "wss://kusama-people-rpc.polkadot.io";
break;
default:
console.log(`Unknown network provided, ${network}`);
}
Expand All @@ -55,7 +59,7 @@ function RPC({ network, path, defaultValue, filter=undefined }) {
const connect = async () => {
const newValue = await syncData(network, path, setReturnValue);
if (newValue === undefined) {
// There was an issue with the request, use default
// There was an issue with the request, use default
return;
} else if (filter !== undefined) {
// Apply filter to retrieved value if a filter is provided
Expand Down Expand Up @@ -109,7 +113,7 @@ async function syncData(network, path, setReturnValue) {
// Build API call
const pathParameters = path.split(".");
pathParameters.forEach(param => {
if (param in api){
if (param in api) {
api = api[param];
}
});
Expand All @@ -136,7 +140,7 @@ function applyFilter(value, filter, network, setReturnValue) {
switch (filter) {
case "humanReadable":
HumanReadable(value, network, setReturnValue);
break;
break;
case "precise":
Precise(value, network, setReturnValue);
break;
Expand Down
6 changes: 5 additions & 1 deletion docs/general/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,10 @@ A company, founded by Dr. Gavin Wood and Dr. Jutta Steiner, that is developing S
Polkadot. It has also released several other projects including Parity Ethereum and Parity Secret
Store.

## People Chain

A [system parachain](#system-parachains) for identity management.

## Polkadot

A heterogeneous, multi-chain network allowing various blockchains of different characteristics to
Expand Down Expand Up @@ -687,7 +691,7 @@ parachains. For developers, see the
## System Parachains

Parachains that are part of the Polkadot core protocol. These are allocated a parachain execution
core by governance rather than auction.
core by governance rather than by auction.

## Tabling

Expand Down
46 changes: 16 additions & 30 deletions docs/learn/learn-guides-identity.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@ import RPC from "./../../components/RPC-Connection"; import MessageBox from
[Polkadot Support Team](https://support.polkadot.network/support/home). For more user-friendly tools
see the [wallets](./wallets-index), [apps](./apps-index) and [dashboard](./dashboards-index) pages." />

:::warning The identity pallet is no longer on the Kusama Relay Chain.

If you are on **Kusama**, any of the extrinsics which require you to use the relay chain now have to
be called via the system parachain,
[which you can find here.](https://polkadot.js.org/apps/?rpc=wss://kusama-people-rpc.polkadot.io)

The identity pallet, along with all of its data, has been migrated to
the [People Chain](../general/glossary.md#people-chain), a system parachain which can now be used for identity management.

:::

This is an advanced guide that is relevant for entities that would like to become registrars or
would like to set sub-identities to an existing account with an identity. See
[this page](./learn-identity.md) to learn about how to set an identity and have it verified.
Expand Down Expand Up @@ -55,7 +66,7 @@ makes sense.

## Request Judgement

:::info Instructions for requesting and cancelling Identity judgments
:::info Instructions for requesting and cancelling Identity judgements

The procedure to request and cancel identity judgments is explained in detail in this
[support article](https://support.polkadot.network/support/solutions/articles/65000181990-how-to-request-and-cancel-identity-judgement)
Expand Down Expand Up @@ -141,11 +152,11 @@ use it to set a sub-identity to your Ledger account.
- Sign and submit the transaction from the parent account with the identity

You should now see the sub-identity displayed on-chain. You need to be aware that
{{ polkadot: <RPC network="kusama" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/> :kusama }}
{{ polkadot: <RPC network="polkadot" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama-people" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/> :kusama }}
is reserved for setting identity and
{{ polkadot: <RPC network="kusama" path="consts.identity.subAccountDeposit" defaultValue={6666000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.identity.subAccountDeposit" defaultValue={6666000000} filter="humanReadable"/> :kusama }}
{{ polkadot: <RPC network="polkadot" path="consts.identity.subAccountDeposit" defaultValue={6666000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama-people" path="consts.identity.subAccountDeposit" defaultValue={6666000000} filter="humanReadable"/> :kusama }}
for each sub-identity. This reserved account balance is freed once you
[clear the identities](../learn/learn-identity.md#clearing-and-killing-an-identity) on the account.

Expand All @@ -159,28 +170,3 @@ To become a registrar, submit a pre-image and proposal on
[OpenGov](../learn/learn-guides-polkadot-opengov.md), then wait for people to vote on it. For best
results, write a post about your identity and intentions beforehand, and once the proposal is in the
queue ask people to endorse it so that it gets ahead in the referendum queue.

Here's how to submit a proposal to become a registrar:

Go to the Democracy tab, select "Submit preimage", and input the information for this motion -
notably which account you're nominating to be a registrar in the `identity.setRegistrar` function.

![Setting a registrar](../assets/identity/12.jpg)

Copy the preimage hash. In the above image, that's
`0x90a1b2f648fc4eaff4f236b9af9ead77c89ecac953225c5fafb069d27b7131b7`. Submit the preimage by signing
a transaction.

Next, select "Submit Proposal" and enter the previously copied preimage hash. The `locked balance`
field needs to be at least
{{ polkadot: <RPC network="polkadot" path="consts.identity.basicDeposit" defaultValue={202580000000} filter="humanReadable"/>. :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/>. :kusama }}
You can find out the minimum by querying the chain state under
[Chain State](https://polkadot.js.org/apps/#/chainstate) -> Constants -> democracy ->
minimumDeposit.

![Submitting a proposal](../assets/identity/13.jpg)

At this point, DOT holders can endorse the motion. With enough endorsements, the motion will become
a referendum, which is then voted on. If it passes, users will be able to request judgement from
this registrar.
23 changes: 17 additions & 6 deletions docs/learn/learn-identity.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,29 @@ slug: ../learn-identity

import RPC from "./../../components/RPC-Connection";

:::warning The identity pallet is no longer on the Kusama Relay Chain.

If you are on **Kusama**, any of the extrinsics which require you to use the relay chain now have to
be called via the system parachain,
[which you can find here.](https://polkadot.js.org/apps/?rpc=wss://kusama-people-rpc.polkadot.io)

The identity pallet, along with all of its data, has been migrated to and resumes functionality on
the [People Chain](../general/glossary.md#people-chain), a system parachain for identity management.

:::

{{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} provides a naming system that allows
participants to add personal information to their on-chain account and subsequently ask for
verification of this information by [registrars](#registrars).

Users must reserve funds in a bond to store their information on chain:
{{ polkadot: <RPC network="polkadot" path="consts.identity.basicDeposit" defaultValue={202580000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/> :kusama }}
{{ kusama: <RPC network="kusama-people" path="consts.identity.basicDeposit" defaultValue={33333000000} filter="humanReadable"/> :kusama }}
and
{{ polkadot: <RPC network="polkadot" path="consts.identity.fieldDeposit" defaultValue={660000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.identity.fieldDeposit" defaultValue={8333000000} filter="humanReadable"/> :kusama }}
per each field beyond the legal name. These funds are _locked_, not spent - they are returned when
the identity is cleared.
{{ polkadot: <RPC network="polkadot" path="consts.identity.byteDeposit" defaultValue={660000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama-people" path="consts.identity.byteDeposit" defaultValue={8333000000} filter="humanReadable"/> :kusama }}
(per byte) per each field beyond the legal name. These funds are _locked_, not spent - they are
returned when the identity is cleared.

## Judgements

Expand Down Expand Up @@ -108,7 +119,7 @@ their validators.

An account can have a maximum of 100 sub-accounts. Note that a deposit of
{{ polkadot: <RPC network="polkadot" path="consts.identity.subAccountDeposit" defaultValue={200530000000} filter="humanReadable"/> :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.identity.subAccountDeposit" defaultValue={6666000000} filter="humanReadable"/> :kusama }}
{{ kusama: <RPC network="kusama-people" path="consts.identity.subAccountDeposit" defaultValue={6666000000} filter="humanReadable"/> :kusama }}
is required for every sub-account.

---
Expand Down

0 comments on commit 6407559

Please sign in to comment.