namesky-sdk
v5.10.3
Published
NameSky SDK
Downloads
155
Readme
NameSky SDK
Interact with NameSky contracts
Install
pnpm add namesky-sdk
Init NameSky
Node
import { initNameSky, NameSkySigner, Amount, MultiSendAccount } from 'namesky-sdk';
const account = MultiSendAccount.new(connection, 'alice.near');
const namesky = await initNameSky({ signer: NameSkySigner.fromAccount(account) });
Browser
import { initNameSky, NameSkySigner, Amount, setupMultiSendWalletSelector } from 'namesky-sdk';
const selector = await setupMultiSendWalletSelector({
network: 'mainnet',
modules: [
/* wallet modules */
],
});
const namesky = await initNameSky({ signer: NameSkySigner.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.postMint('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' });