CID SDK
Use cidjs SDK to interact with Core ID contracts
CID.js
Javascript bindings for the CORE ID .core Domain
Overview of the API
Installation
Install @ciddomains/cidjs, alongcide web3.
npm install @ciddomains/cidjs web3Getting Started
All that's needed to get started is a web3 provider instance, you should pass it and select network id when creating a new CID instance.
// core mainnet domain example, getAddress
const CID = require('@ciddomains/cidjs').default
const Web3 = require('web3')
async function main(name) {
const provider = new Web3.providers.HttpProvider("https://rpc.coredao.org")
let cid = new CID({ provider })
const address = await cid.name(name).getAddress() // 0x123
console.log("name: %s, address: %s", name, address)
}
main("coreid.core") // 0x9826a59Aa17C36e88AA2F6dC367772381f034401
Reverse Resolution
// core mainnet domain example, getName
const CID = require('@ciddomains/cidjs').default
const Web3 = require('web3')
async function main(address) {
const provider = new Web3.providers.HttpProvider("https://rpc.coredao.org")
let cid = new CID({ provider })
const {name} = await cid.getName(address)
console.log("name: %s, address: %s", name, address)
}
main("0x9826a59Aa17C36e88AA2F6dC367772381f034401") // coreid.coreexports
default - CID
getCidAddress
getResolverContract
getCIDContract
namehash
labelhashCID Interface
name(name: String) => NameReturns a Name Object, that allows you to make record queries.
resolver(address: EvmAddress) => ResolverReturns a Resolver Object, allowing you to query names from this specific resolver. Most useful when querying a different resolver that is different than is currently recorded on the registry. E.g. migrating to a new resolver
async getName(address: EvmAddress) => Promise<Name>Returns the reverse record for a particular Evm address.
async setReverseRecord(name: Name) => Promise<EthersTxObject>Sets the reverse record for the current Evm address
Name Interface
async getOwner() => Promise<EvmAddress>Returns the owner/controller for the current CID name.
async setOwner(address: EvmAddress) => Promise<Ethers>Sets the owner/controller for the current CID name.
async getResolver() => Promise<EvmAddress>Returns the resolver for the current CID name.
async setResolver(address: EvmAddress) => Promise<EvmAddress>Sets the resolver for the current CID name.
async getTTL() => Promise<Number>Returns the TTL for the current CID name.
async getAddress(coinId: String) => Promise<EvmAddress>Returns the address for the current CID name for the coinId provided.
async setAddress(coinId: String, address: EvmAddress) => Promise<EthersTxObject>Sets the address for the current CID name for the coinId provided.
async getContent() => Promise<ContentHash>Returns the contentHash for the current CID name.
async setContenthash(content: ContentHash) => Promise<EthersTxObject>Sets the contentHash for the current CID name.
async getText(key: String) => Promise<String>Returns the text record for a given key for the current CID name.
async setText(key: String, recordValue: String) => Promise<EthersTxObject>Sets the text record for a given key for the current CID name.
async setSubnodeOwner(label: String, newOwner: EvmAddress) => Promise<EthersTxObject>Sets the subnode owner for a subdomain of the current CID name.
async setSubnodeRecord(label: String, newOwner: EvmAddress, resolver: EvmAddress, ttl: ?Number) => Promise<EthersTxObject>Sets the subnode owner, resolver, ttl for a subdomain of the current CID name in one transaction.
async createSubdomain(label: String) => Promise<EthersTxObject>Creates a subdomain for the current CID name. Automatically sets the owner to the signing account.
async deleteSubdomain(label: String) => Promise<EthersTxObject>Deletes a subdomain for the current CID name. Automatically sets the owner to "0x0..."
Resolver Interface
addressStatic property that returns current resolver address
name(name) => NameReturns a Name Object that hardcodes the resolver
Build SDK and test on your test machine
yarn install
yarn run build
node main.jsLast updated