This documentation is being updated, please check back soon for up to date content.
The DID contract on IoTeX testnet is:
io1m3wjevwhz2s58sasq0wj4luxrnqt047s687zw8
The DID contract on IoTeX mainnet is
TBD
Generate a DID Doc Template
Generate DID document template using an account from ioctl. The produced template can be modified as needed with its hash to be recalculated.
ioctl did generate [-s SIGNER] [flags]
Example:
ioctl did generate -s test1{"@context": "https://www.w3.org/ns/did/v1","id": "did:io:0x476c81C27036D05cB5ebfe30ae58C23351a61C4A","authentication": [ {"id":"did:io:0x476c81C27036D05cB5ebfe30ae58C23351a61C4A#owner","type":"EcdsaSecp256k1VerificationKey2019","controller":"did:io:0x476c81C27036D05cB5ebfe30ae58C23351a61C4A","publicKeyHex":"0355237d4af6afc7f139e396329d56a4d1235c94abde9a25782241774c06cccfb6" } ]}The hex encoded SHA256 hash of the DID doc is:21e575fd6fd75591465481404986fac73de766446c793ff67adfa171d51adf85
Upload a DID Doc
DID Doc can be uploaded to any publicly accessible content storage like S3 or IPFS or other cloud storage, as long as you end up with a URI which can retrieve you DID Doc.
If you plan to use IPFS, you can either set up your own IPFS node or use service like https://pinata.cloud/ or upload via https://globalupload.io/.
DID register asked for a 32 bytes hash of the DID doc as an input. You could use any hashing algorithm to fit your need. Once you got your DID Doc hash, encode it to a hex string, to pass into ioctl. For simplicity, you can directly use the hex-encoded SHA256 hash string provided by ioctl did generate. But if you do need to generate a hash programmatically, here is a Go example to hash a DID doc using SHA512-256 and output a hex string:
This documentation portal is currently undergoing updates to align with the IoTeX 2.0 Whitepaper release. Information provided here may be incomplete, or out-of-date. Please use this portal for preliminary reference only, and check out the official IoTeX 2.0 Whitepaper for updated information.