1.0.1 • Published 1 month ago
@opennamedid/onjs v1.0.1
Use onjs SDK to interact with OpenName contracts
onjs
onjs integrates the OpenName contract, you will only need one unified SDK to integrate all domains across multiple chains. onjs will hide all the complicated cross-chain detail from the partners, making the integration very easy.
Overview of the onjs
Installation
Install @opennamedid/onjs.
npm install @opennamedid/onjs
This package exports bellows.
default - get instance of onjs
nameHash - get tokenId for name
Getting Started
First,you need to create a new ON instance.
const ON = require('onjs/dist/index').default
const nameHash = require('onjs/dist/index').nameHash
let onInst = new ON() // or let onInst = new ON({})
async function getRecord(name) {
const record = await onInst.name(name).getRecord()
console.log("getRecord for "+name+ ": ", record)
}
async function getAddr(name, coinType) { // coinType refer to the appendix
let addr = await onInst.name(name).getAddr(coinType)
console.log("getAddr for " + name+ ": ", coinType, addr)
}
async function getReverse(chainId, addr) { // chainId refer to the appendix
let name = await onInst.getReverse(chainId, addr)
console.log("getReverse for " + addr + ": ", name)
}
// test demo
getRecord("open.name")
getAddr("open.name", 60)
getReverse(1, '0x6817...oonn')
ON Interface
async getReverse(chainId:number, address:EvmAddress) => Promise<Name>
Retrieve a domain name by Evm address.
Name Interface
getRecord() => Record
Returns a Record Object, The Record Object is an array object with a length of 6. resolverAddr,expireTime,name,chainId,expireTime of grace,expire time of auction
Index | Element | Explanation |
---|---|---|
0 | resolverAddr | address of resolver |
1 | expireTime | The expiration time of a domain name based on the unit timestamp, accurate to the second, for example, 1689738089. |
2 | name | domain name |
3 | chainId | the ID of the chain where the domain name resides |
4 | expireTime of grace | grace period expiration time. The format is the same as expireTime. |
5 | expireTime of auction | auction period expiration time. The format is the same as expireTime. |
async getAddr(coinType: number) => Promise<Address>
Returns the address for the current ON name for the coinType provided.
Other Interface
nameHash(name: string) => string
Returns the tokenId for the domain name provided.
The usage is as follows.
const nameHash = require('onjs/dist/index').nameHash
let tokenId = nameHash('open.name')
console.log(tokenId) // 0x109dc...6a69
Appendix
Supported Chain List & Coin Type List
Please visit https://docs.open.name/developer-guide/sdk