pepunamessdk
Version:
TypeScript SDK for Pepu Name Service - Simple domain name resolution to wallet addresses
93 lines (65 loc) • 2.33 kB
Markdown
Ultra-simple SDK to resolve Pepu domain names to wallet addresses and get domain information.
```bash
npm install pepunamessdk
```
```javascript
import { PNS } from 'pepunamessdk';
const pns = new PNS();
const address = await pns.resolve('teck.pepu');
console.log(address); // 0xD1B77E5BE43d705549E38a23b59CF5365f17E227
```
```javascript
const status = await pns.getDomainStatus('teck.pepu');
console.log('Exists:', status.exists);
console.log('Expired:', status.expired);
console.log('Remaining days:', status.remainingDays.toString());
console.log('Fee:', ethers.formatUnits(status.fee, 6), 'USDC/year');
```
```javascript
const info = await pns.getDomainInfo('teck.pepu');
if (info) {
console.log('Wallet:', info.walletAddress);
console.log('Owner:', info.owner);
console.log('Registration date:', new Date(Number(info.registrationTimestamp) * 1000));
console.log('Expiry date:', new Date(Number(info.expiryTimestamp) * 1000));
console.log('TLD:', info.tld);
}
```
Resolves a domain name to a wallet address.
- **domain** (string): Domain name (e.g., "teck.pepu")
- **returns** (Promise<string>): Wallet address or empty string if not found
### `getDomainStatus(domain)`
Gets domain status information.
- **domain** (string): Domain name (e.g., "teck.pepu")
- **returns** (Promise<object>): Status object with exists, expired, remainingDays, fee
### `getDomainInfo(domain)`
Gets detailed domain information.
- **domain** (string): Domain name (e.g., "teck.pepu")
- **returns** (Promise<object|null>): Detailed info object or null if not found
## Examples
```javascript
import { PNS } from 'pepunamessdk';
const pns = new PNS();
// Resolve a domain
const address = await pns.resolve('example.pepu');
if (address) {
console.log('Domain resolves to:', address);
} else {
console.log('Domain not found');
}
// Check domain status
const status = await pns.getDomainStatus('example.pepu');
if (status.exists && !status.expired) {
console.log('Domain is active with', status.remainingDays.toString(), 'days remaining');
}
```
MIT