PyPi package found here.
https://python-docs.nftlabs.co/
nftlabs
├── abi // contains autogenerated ABI contract wrappers
├── errors // commonly thrown errors
├── modules // NFT, Currency, Marketplace, Pack, Collection, etc modules
├── options // Options classes used throughout the SDK
├── sdk.py // NftlabsSdk class, wrapper for the entire package
├── storage // Distributed file storage helper classes
└── types // Types consumed by some of the methods exposed in the modules
You can call the NFTLabs modules by instantiating an SDK object and fetching the module with your contract address like this:
import os
from nftlabs import NftlabsSdk, SdkOptions
sdk = NftlabsSdk(SdkOptions(), "https://rpc-mumbai.maticvigil.com") # polygon testnet as an example
# Assumes your private key is assigned to the `PKEY` environment variable
sdk.set_private_key(os.getenv("PKEY"))
# Put your NFT contract address here if you want to mint your own NFTs!
nft_module = sdk.get_nft_module("0xbDfF8fb43688fB4D2184DF8029A7238ac1413A24")
print(nft_module.total_supply())
The abi
package contains autogenerated code compiled by the
0xchain abi-gen
tool found here.
Our protocols are developer at this repo.
Install the abi-gen
cli tool and use it to compile abi wrappers like this:
$ # assumes you have the nftlabs-protocols repo cloned in the parent directory
$ abi-gen --language Python -o nftlabs/abi --abis ../nftlabs-protocols/abi/NFT.json
Anytime there are ABI contract changes, you should regenerate the abi wrappers.