Unless we put a wildcard on addr.reverse
, you need (1) on-chain transaction to claim ownership.
I had some prior thoughts here regarding gas minimized reverse resolution.
The minimal setup is setSubnodeRecord(node, owner, resolver)
+ (optional) setOwner(node, 0)
to zero again, where owner is some helper contract.
The resolver would be a wildcard resolver, so it gets direct access to the address, ({addr}.addr.reverse
) and relies on a fixed endpoint, such that N users can use the same claim mechanism + same resolver + same offchain storage location.
The offchain server doesn’t need any trust, it just needs to return signatures of the EOA for hash(primary + resolver) + primary
.
If you want them to be able revocable, you can hijack TTL as a budget nonce and include that in the hash.
The EOA can invalidate by bumping the TTL or by changing their resolver.
I can create this in a few hours. The transaction costs 85k gas. That’s still probably too expensive for emerging markets.