Skill — Copyable reference implementation. Use as-is or customize. See Skills Philosophy.
Planned Implementation
Resolution
Registration
Record Management
Resources
Related
- ens-resolution — Basic resolution task skill
Register, manage, and resolve ENS names
import { ENS } from './ENS.js';
const ens = ENS({ provider });
// Resolve name to address
const address = await ens.resolve('vitalik.eth');
// Reverse resolve address to name
const name = await ens.lookupAddress(address);
// Get text records
const twitter = await ens.getText('vitalik.eth', 'com.twitter');
const avatar = await ens.getAvatar('vitalik.eth');
// Check availability
const available = await ens.available('myname.eth');
// Get registration price
const price = await ens.rentPrice('myname', 365 * 24 * 60 * 60); // 1 year
// Register (2-step commit-reveal)
const commitment = await ens.makeCommitment({
name: 'myname',
owner: userAddress,
duration: 365 * 24 * 60 * 60,
secret: randomBytes(32),
});
await ens.commit({ commitment, signer });
// Wait 1 minute...
await ens.register({
name: 'myname',
owner: userAddress,
duration: 365 * 24 * 60 * 60,
secret,
signer,
});
// Set address
await ens.setAddr({
name: 'myname.eth',
address: newAddress,
signer,
});
// Set text record
await ens.setText({
name: 'myname.eth',
key: 'com.twitter',
value: '@myhandle',
signer,
});
// Set content hash (IPFS)
await ens.setContentHash({
name: 'myname.eth',
hash: 'ipfs://Qm...',
signer,
});
Was this page helpful?