# tns-resolver

> Resolve TNS name and address

Latest version **2.0.4** (published 2023-09-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install tns-resolver
pnpm add tns-resolver
yarn add tns-resolver
bun add tns-resolver
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.4 |
| Published | 2023-09-24 |
| First published | 2022-02-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 27.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Thetaboard |
| Maintainers | adrienvinches |

## Links

- npm: https://www.npmjs.com/package/tns-resolver
- Repository: https://github.com/thetaboard-org/tns-resolver
- Homepage: https://github.com/thetaboard-org/tns-resolver#readme
- Issues: https://github.com/thetaboard-org/tns-resolver/issues
- npm.io page: https://npm.io/package/tns-resolver

## Dependencies (3)

- [ethers](https://npm.io/package/ethers.md) ^5.5.4
- [eth-ens-namehash](https://npm.io/package/eth-ens-namehash.md) ^2.0.8
- [ethereum-checksum-address](https://npm.io/package/ethereum-checksum-address.md) ^0.0.7

## Recent versions

- 2.0.4 (latest) — 2023-09-24
- 2.0.3 — 2022-03-04
- 2.0.2 — 2022-03-04
- 2.0.1 — 2022-03-03
- 2.0.0 — 2022-03-03
- 1.0.13 — 2022-03-02
- 1.0.12 — 2022-02-23
- 1.0.11 — 2022-02-23
- 1.0.10 — 2022-02-23
- 1.0.9 — 2022-02-23
- 1.0.8 — 2022-02-20
- 1.0.7 — 2022-02-20
- 1.0.6 — 2022-02-20
- 1.0.5 — 2022-02-20
- 1.0.4 — 2022-02-20
- … 3 more at https://npm.io/package/tns-resolver/versions

## README

# Theta Name Service - TNS Resolver

###### This NPM can be used to retrieve an address from a TNS or a TNS from an address on the Theta Blockchain.
###### It can also retrieve a list of domain names from a list of addresses.

### Installation
To install tns-resolver use the following statement:
```console
npm install tns-resolver
```

### Import and instanciate TNS
To import and instanciate tns-resolver use the following statement:
```js script
import TNS from "tns-resolver";

const tns = new TNS();
```

### Get domain name from an address
To get the domain name from an address use the ```getDomainName``` function such as: 
```js script
import TNS from 'tns-resolver';

const address = '0x123...';
const tns = new TNS();
const domainName = await tns.getDomainName(address);
console.log(domainName);
/* will return the domain name 
 or null if no domain name is assigned to this address
 i.e. will log 'domainname.theta' or null */
```

### Get address from a domain name
To get the address from a domain name use the ```getAddress``` function such as:
```js script
import TNS from 'tns-resolver';

const domainName = 'test.theta';
const tns = new TNS();
const address = await tns.getAddress(domainName);
console.log(address);
/* will return the address or null if the domain
is not assigned to an address
i.e. will log '0x123...' or null */
```

### Get domain names for a list of addresses
If you need to process many addresses (eg: showing domain names of transaction histories), use the ```getDomainNames``` function such as: 
```js script
import TNS from 'tns-resolver';

const addresses = ['0x123...', '0x456...'];
const tns = new TNS();
const domainNames = await tns.getDomainNames(addresses);
console.log(domainNames);
/* will return an object where the key is the address
 and the value is the domain name or an empty string if no domain name is assigned on this address
 i.e. will log { "0x123...": "domainname.theta", "0x456...": "" } */
```

### Instanciate TNS with a custom RPC endpoint
To instanciate tns-resolver using a custom RPC endpoint use the following statement:
```js script
import TNS from "tns-resolver";

const tns = new TNS({customRpcEndpoint: 'YOUR_CUSTOM_RPC_ENDPOINT_HERE'});
```

---
_Source: https://npm.io/package/tns-resolver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
