This is a lightweight SDK (1kB minified bundle size), providing utility classes and functions for applications to interact with on-chain .sui
names registered from Sui Name Service (suins.io).
The SDK is published to npm registry. To use it in your project:
$ npm install @suins/toolkit
You can also use yarn or pnpm.
Create an instance of SuinsClient:
import { JsonRpcProvider } from '@mysten/sui.js';
import { SuinsClient } from '@suins/toolkit';
const provider = new JsonRpcProvider();
export const suinsClient = new SuinsClient(provider);
Choose network type:
export const suinsClient = new SuinsClient(provider, {
networkType: 'testnet',
});
Note: To ensure best performance, please make sure to create only one instance of the SuinsClient class in your application. Then, import the created
suinsClient
instance to use its functions.
Fetch a SuiAddress
linked to a name:
const address = await suinsClient.getAddress('suins.sui');
Fetch the default name of a SuiAddress
:
const defaultName = await suinsClient.getName(
'0xc2f08b6490b87610629673e76bab7e821fe8589c7ea6e752ea5dac2a4d371b41',
);
Fetch a name object:
const nameObject = await suinsClient.getNameObject('suins.sui');
Fetch a name object including the owner:
const nameObject = await suinsClient.getNameObject('suins.sui', {
showOwner: true
});
Fetch a name object including the Avatar the owner has set (it automatically includes owner too):
const nameObject = await suinsClient.getNameObject('suins.sui', {
showOwner: true, // this can be skipped as showAvatar includes it by default
showAvatar: true
});