ERC-1056: Ethereum Lightweight Identity (DID)
ERC-1056 (also known as ETHR-DID) is a registry contract that lets any Ethereum address attach delegate keys, off-chain attribute proofs, and identity owners without deploying a per-identity contract. Used by uPort, Veramo, and many self-sovereign identity systems.
Required Methods (Highlights)
function identityOwner(address identity) external view returns (address);
function changeOwner(address identity, address newOwner) external;
function addDelegate(address identity, bytes32 delegateType, address delegate, uint validity) external;
function setAttribute(address identity, bytes32 name, bytes value, uint validity) external;Neo Equivalent: Direct Port
The Neo port is a single registry contract that any account can use. Like the Solidity version, it's pay-per-use: the registry charges no fee beyond the storage cost of the identity records, and the witness model handles authorisation.
Live on Neo TestNet
Both implementations deployed on Neo N3 TestNet.
| Implementation | TestNet Address | Contract Hash |
|---|---|---|
Solidity (neo-solc) | NViDh6CD7QV2Q6V31qAcNkyDeC3UmLAi8z | 0xdd6d4a48…2ef41f50 |
Neo C# (nccs) | Nb2QQRhWzy7fgipLUyAZkivapVWa8YWA1F | 0xd13806f6…b74c1b30 |
Verified: default identityOwner(account) == account matches the EIP. addDelegate / validDelegate flows are implemented; tested locally with the Runtime.Time-based expiry check. docs/standards-mirror/deployments/erc-1056/.
