Writing a Resolver
Last updated
Last updated
Resolvers are specified in EIP137. A resolver must implement the following method:
supportsInterface
is defined in EIP165, and allows callers to determine if a resolver supports a particular record type. Record types are specified as a set of one or more methods that a resolver must implement together. Currently defined record types include:
Record type | Function(s) | Interface ID | Defined in |
---|---|---|---|
supportsInterface
must also return true for the interfaceID value 0x01ffc9a7, which is the interface ID of supportsInterface
itself.
Additionally, the content
interface was used as a defacto standard for Swarm hashes, and has an interface ID of 0xd8389dc5. New implementations should use contenthash
instead.
A simple resolver that supports only the addr type might look something like this:
This trivial resolver always returns its own address as answer to all queries. Practical resolvers may use any mechanism they wish to determine what results to return, though they should be constant, and should minimize gas usage wherever possible.
PulseChain address
addr
0x3b3b57de
PNS Name
name
0x691f3431
ABI specification
ABI
0x2203ab56
Public key
pubkey
0xc8690233
Text records
text
0x59d1d43c
Content hash
contenthash
0xbc1c58d1