Custom key-value metadata records for offchain ENS subnames. Not used for onchain resolution but useful for discovery and filtering via getFilteredSubnames.
1. addDataRecord
Add or update a metadata record.
await client.addDataRecord({
subname: "ns.myensname.eth",
key: "token-holder",
data: "1200",
});
Parameters:
subname - Full ENS subname
key - Case-sensitive metadata key
data - Value to store (string)
If the key exists, its value will be overwritten.
2. deleteDataRecord
Delete a metadata record.
await client.deleteDataRecord({
subname: "ns.myensname.eth",
key: "token-holder",
});
3. getDataRecords
Get all metadata records for a subname.
const allMetadata = await client.getDataRecords("ns.myensname.eth");
// Returns: Record<string, string>
Example Result:
{
"token-holder": "1200",
"segment": "pro"
}
4. getDataRecord
Get a specific metadata record by key.
const response = await client.getDataRecord("ns.myensname.eth", "token-holder");
const data = response.record; // "1200"
Return Type:
interface GetRecordResponse {
record: string;
}