The ainft-js is typescript SDK to interact with AIN blockchain and create and manage AINFT.
The AINFT Factory is a component consisting of AINFT Factory server and ainft-js. AINFT Factory supports the following two features:
- AINFT: Supports creating and managing AINFT, the NFT of the Ain blockchain.
- Tokenomics: Supports functions for activating tokenomics in NFT communities.
You can see reference about AINFT Factory: https://docs.ainetwork.ai/ainfts/ainft.
yarn add @ainft-team/ainft-js
First, install the application and import the SDK to get started:
import AinftJs from '@ainft-team/ainft-js';
To initialize the SDK with a private key, create an instance of `AinftJs` as follows. If you don't have an account, create one through the AIN wallet or by using script at `examples/wallet/createAccount.js`;
const ainft = new AinftJs({
privateKey: '<YOUR_PRIVATE_KEY>',
});
Alternatively, you can use the AIN wallet for authentication and transaction signing in the Chrome browser.
const ainft = new AinftJs({
signer: new AinWalletSigner(),
});
To connect to the AIN blockchain testnet, configure the SDK with the testnet endpoints:
const ainft = new AinftJs({
privateKey: '<YOUR_PRIVATE_KEY>',
baseUrl: 'https://ainft-api-dev.ainetwork.ai',
blockchainUrl: 'https://testnet-api.ainetwork.ai',
chainId: 0,
});
You can create AINFT object and mint AINFT though AINFT object. Below modules support it.
nft
: Creates AINFT object and Searches AINFTs and AINFT objects.ainft721Object
: It is AINFT object class. Mints AINFTs and Transfers it to other accounts.ainftToken
: It is AINFT class. Updates metadata.
You can learn how to make AINFT in tutorials.
Features for activating tokenomics in NFT communities.
credit
: Create and manage community-specific credits.event
: Create and manage events where user can take action and receive rewards. This is a function for credit mining.store
: You can create items, register them in the store, and sell them. This is a function for consuming credit.
Introducing the main API functions that can be used in the nft
module.
create(name, symbol)
: Creates AINFT object.register(ainftObjectId)
: Register AINFT object created to AINFT Factory server.get(ainftObjectId)
: Gets AINFT object instance by id.getAinftsByAinftObject(ainftObjectId, limit, cursor)
: Gets information of AINFTs by AINFT object.getAinftsByAccount(address, limit, cursor)
: Gets information of AINFTs by user address.searchAinftObjects(searchParams)
: Search for AINFT object. You can use ainft object id, name, symbol for searching.searchAinfts(searchParams)
: Search for AINFT. You can use ainft object id, name, symbol, token id, user address for searching.
Introducing the main API functions that can be used in the ainftObject
module.
getToken(tokenId)
: Gets AINFT that was minted by AINFT object.transfer(from, to, tokenId)
: Transfers AINFT to other account.mint(to, tokenId)
: Mints AINFT.
Introducing the main API functions that can be used in the ainftToken
module.
setMetadata(metadata)
: Sets metadata of AINFT.
We provide AI API functions, including assistant, thread, and message. To use these functions follow streamlined steps:
- Initialization: Before using any AI functions, initialize the event channel with the
connect()
method. - Using AI functions: After opening the event channel, you can use AI function.
- Closure: Ensure to close the event channel with the
disconnect()
method when the functions are no longer needed.
import AinftJs from '@ainft-team/ainft-js';
const ainft = new AinftJs({
privateKey: '<YOUR_PRIVATE_KEY>',
baseUrl: 'https://ainft-api-dev.ainetwork.ai',
blockchainUrl: 'https://testnet-api.ainetwork.ai',
chainId: 0,
});
async function main() {
await ainft.connect(); // connect to the blockchain endpoint
// your ai function usage here
// ...
await ainft.disconnect(); // disconnect from the blockchain endpoint
}
main();
You can view the tutorial document at the following link. and You can also look at scripts created for tutorials in the tutorial directory.
Tutorial scripts
API documentation is available at https://ainft-team.github.io/ainft-js.
MIT License