🆔Associate Address with web3name
Associating your Decentralised Identifier (DID) on KILT Network with any of your other web3 accounts:
There is currently no user-friendly interface for linking account information and web3name alias, work on them is ongoing hopefully they will appear soon. Now in order to perform this activity you will need:
A script from https://github.com/KILTprotocol/kilt-did-utilities, also that repo contains pretty well described workflow how to do any operations with your DID.
Utility from our repo - https://github.com/nova-wallet/w3n_hash#blake2-multibase-hasher which will use to take a hash from your data
To associate web3name with your account you should follow a few steps:
Create a file with your accounts based on specification. Example of that file:
{
"polkadot:91b171bb158e2d3848fa23a9f1c25182/slip44:354": [
{
"account": "121eb2BdXbD2AbSno4qSpiGKL28TNGngzvfvLXQtN6qCmG7N",
"description": "Polkadot Address"
}
],
"polkadot:fc41b9bd8ef8fe53d58c7ea67c794c7e/slip44:787": [
{
"account": "251TW6p8iJCcg8Q2umib8QV9sfMAtVecX3o7vMqmMdzLYif7",
"description": "Acala Address"
}
]
}
Publish that file somewhere like GitHub, IPFS, etc, store the link it will need in next step
Generate hash for this file (refer to this repo for more details)
Clone the repo on your local machine
git clone [email protected]:nova-wallet/w3n_hash.git cd web3n_hash
Change path to file in index.ts with yours:
main("https://url/to/yours/file")
Run the app
npm start
As a result you will get a file content and the hash which will be used in next steps as serviceEndpoint.id Example of script output:
Now we need to go to the polkadot.js apps and generate encoded data for another script which will operate directly with our DID.
In order to do that open polkadot.js apps and select KILT network
Open
Developer > Extrinsics
menu and select did.addServiceEndpoint()Put our hash from previous operations as an id
serviceEndpoint.serviceTypes specify as
KiltTransferAssetRecipientV1
In serviceEndpoints.urls put url to your accounts from previous steps
Now you can copy encoded call data, as shown on the screen bellow, the signer account does not matter. Save it it will need in next steps.

Now we are ready to generate a call itself, which associate your web3name with accounts from file.
Clone the repo on your local machine
git clone [email protected]:KILTprotocol/kilt-did-utilities.git cd kilt-did-utilities
Install dependencies
yarn install
Export all necessary parameters
// all this parameters for example export SUBMITTER_ADDRESS="4oeAGb7uYHmjJH4X7drV4AfEfUxCLMkzciAH3WYGoPKY5G93" export WS_ADDRESS="wss://spiritnet.kilt.io" export ENCODED_CALL="0×40084554c374137436461674248754a6d75572d375341697864556d37614c63702d774f4b6d50515a626d556467733d04704696c745472616736665724173736574526563697069656745631046d0168747470733a22726177267697468756275736572636f674656742636f6d2£665668617226e676612d7574696c732f6d61737465722746573747326461746126173736574735776562336616d657326a736f6e" export DID_URI="did:kilt:409ngk66UATEdjxs9xUWYzHPrJMHWCZ6eATfJZHRuYjjEjjS"
You can find all information about that parameters in repo itself, here a short description:
SUBMITTER_ADDRESS
: The KILT address (encoded with the KILT network prefix38
) that is authorized to submit the transaction.ENCODED_CALL
: The HEX-encoded call to DID-sign.DID_URI
: The URI of the DID authorizing the operationRun script
yarn run call-authorize
As a result we will get an encoded DID-authorized operation, example bellow, save it for future step.

Now we need to return to the polkadot.js app, switch tab to Decode and put encoded operation from previous step, as it shown on a screen:
Switch to Submission tab and sign it from SUBMITTER_ADDRESS
If everything was OK, you can find all accounts from file associated with your web3name alias in the Nova Wallet.
Last updated