Express Protocol SDK is used to build applications for minting, trading, auctioning NFTs on multiple blockchains.
Currently, the following blockchains are supported:
Mainnet :-
Testnets :-
npm install pandora-express
For running the SDK code in a local environment -
→Clone the repository.
→Install the dependencies.
npm install
→Install parcel-bundler globally(if not already installed).
npm install -g parcel-bundler
→To initiate a sample application, run
parcel erc721/example/index.html
The erc721 and erc1155 directory follows a similar directory structure for two different token standards ERC721 and ERC1155 respectively. Inside both the directories -
-> The abi directory contains the abi of the smart contracts through which the Tokens are issued and traded within a blockchain network.
-> The example directory contains code for a basic application that uses all the functionality of Protocol SDK.
-> The src directory contains the main source code of the SDK.
index.js contains the code for the initialization of the SDK
Import createPandoraExpressSDK function from pandora-express and initialize SDK.
import {createPandoraExpressSDK} from "pandora-express";
const ExpressSDK = createPandoraExpressSDK();
Mint: NFTs can be mint using the mint function.
ExpressSDK.erc721.nft.mint(web3, chainId, minterAddress, tokenURI, royalties);
Sell: NFTs can be put on sale using the sellNFT function.
ExpressSDK.erc721.order.sellNFT(
web3,
chainId,
tokenId,
tokenPrice,
ownerAddress
);
Buy: NFTs can be bought using the buyNFT function.
ExpressSDK.erc721.order.buyNFT(web3, chainId, saleId, buyerAddress, price);
Cancel Sale: NFTs on sale can be removed from sale using the cancelSale function.
ExpressSDK.erc721.order.cancelSale(web3, chainId, sellerAddress, saleId);
Auction: NFTs can be put on auction sale using sellNFTByBid function.
ExpressSDK.erc721.order.sellNFTByBid(
web3,
chainId,
tokenId,
initialPrice,
ownerAddress,
auctionTime
);
Bid: NFTs on auction sale can be bid using bid function.
ExpressSDK.erc721.order.bid(web3, chainId, saleId, buyerAddress, bidPrice);
Bid Execution: Bids on NFTs can be executed using acceptBid function.
ExpressSDK.erc721.order.acceptBid(web3, chainId, saleId, bidId, sellerAddress);
Bid Withdraw: Other bids except executed bid can be withdrawn using withdrawBid function.
ExpressSDK.erc721.order.withdrawBid(web3, chainId, saleId, bidId, buyerAddress);
TokenURI: Fetch token URI of the NFT using fetchTokenURI function.
ExpressSDK.erc721.nft.fetchTokenURI(
web3,
chainId,
tokenId,
);
Collection: New collection can be deployed using createCollection function.
ExpressSDK.erc721.collection.createCollection(
web3,
chainId,
ownerAddress,
collectionName,
collectionSymbol,
collectionDescription,
collectionRoyalties
);
Mint in Collection: NFTs can be minted inside collection using mint function.
ExpressSDK.erc721.collection.mint(
web3,
collectionAddress,
tokenURI,
minterAddress,
royalties
);
Sell in Collection: NFTs can be put on direct sale inside collection using sellNFT function.
ExpressSDK.erc721.collection.sellNFT(
web3,
chainId,
sellCollectionAddress,
sellTokenId,
sellPrice,
ownerAddress
);
Buy in Collection: NFTs on sale can be bought in a collection using buyNFT function.
ExpressSDK.erc721.collection.buyNFT(
web3,
chainId,
buyTokenId,
buyerAddress,
buyPrice
);
Auction in Collection : NFTs can be put on auction sale in a collection using sellNFTByBid function.
ExpressSDK.erc721.collection.sellNFTByBid(
web3,
chainId,
sellByBidCollectionAddress,
sellByBidTokenId,
sellByBidPrice,
ownerAddress,
sellByBidTime
);
Bid Collection NFTs: NFTs on auction sale can be bid by other users in a collection using bid function.
ExpressSDK.erc721.collection.bid(
web3,
chainId,
bidCollectionSaleId,
bidderAddress,
bidCollectionPrice
);
Bid Execution on Collection NFTs: Bids on NFTs can be executed in a collection using acceptBid function.
ExpressSDK.erc721.collection.acceptBid(
web3,
chainId,
acceptBidSaleId,
acceptBidId,
sellerAddress
);
Bid Withdraw in Collection: Other bids except executed bid can be withdrawn in a collection using withdrawBid function.
ExpressSDK.erc721.collection.withdrawBid(
web3,
chainId,
saleId,
bidId,
buyerAddress
);
Cancel Sale in Collection NFTs: NFTs on sale in a collection can be removed from sale using the cancelSale function.
ExpressSDK.erc721.collection.cancelSale(web3, chainId, sellerAddress, saleId);
Token URI of NFT in Collection: Fetch TokenURI of the NFT in a collection using fetchTokenURI function.
ExpressSDK.erc721.collection.fetchTokenURI(
web3,
collectionAddress
tokenId
);
Upload NFTs to Pinata Cloud service :
ExpressSDK.pinata.upload(
nftImage,
nftDescription,
pinataApiKey,
pinataSecretApiKey
);
Upload JSON data to Pinata Cloud:
ExpressSDK.pinata.pinJSON(
pinataAPIKeyJSON,
pinataSecretApiKeyJSON,
pinataJSONData
);