namesky-sdk
v6.0.0-beta.2
Published
NameSky SDK
Readme
NameSky SDK
Interact with NameSky contracts
Install
pnpm add namesky-sdkInit NameSky
Node
import { initNameSky, NameSkyUser, Amount, MultiSendAccount } from 'namesky-sdk';const account = MultiSendAccount.new(provider, 'alice.testnet', signer);
const namesky = await initNameSky({ user: NameSkyUser.fromAccount(account, 'testnet') });Browser
import { initNameSky, NameSkySigner, Amount, setupMultiSendWalletSelector } from 'namesky-sdk';const selector = await setupMultiSendWalletSelector({
network: 'testnet',
modules: [
/* wallet modules */
],
});
const namesky = await initNameSky({ user: NameSkyUser.fromWalletSelector(selector) });Mint Account as NFT
// Registrant is the account that you want to mint as NameSky NFT. (e.g. star.near)
await namesky.setRegistrantKey('star.near', KeyPair.fromString('ed25519:<private key>'));
await namesky.prepareMint('star.near');
await namesky.waitMintCompleted('star.near');Take Account Back
await namesky.coreContract.nftRedeem({ tokenId: 'star.near', publicKey: 'ed25519:<public key>' });Manage Listing
Create Listing
await namesky.marketplaceContract.createListing({ tokenId: 'star.near', price: Amount.parse(100, 'NEAR') });Update Listing
await namesky.marketplaceContract.updateListing({ tokenId: 'star.near', newPrice: Amount.parse(200, 'NEAR') });Remove Listing
await namesky.marketplaceContract.removeListing({ tokenId: 'star.near' });Buy Listing
await namesky.marketplaceContract.buyListing({ tokenId: 'star.near' });Manage Offering
Create Offering
await namesky.marketplaceContract.createOffering({ tokenId: 'moon.near', price: Amount.parse(30, 'NEAR') });Update Offering
await namesky.marketplaceContract.updateOffering({ tokenId: 'moon.near', newPrice: Amount.parse(50, 'NEAR') });Remove Offering
await namesky.marketplaceContract.removeOffering({ tokenId: 'moon.near' });Accept Offering
await namesky.marketplaceContract.acceptOffering({ tokenId: 'star.near', buyerId: 'bob.near' });