MintbaseDocumentLoader#
- class langchain_community.document_loaders.mintbase.MintbaseDocumentLoader(contract_address: str, *, blockchain_type: Literal['mainnet', 'testnet'], api_key: str = '', table: str = '', select: str = '', fields: List[str] | None = None, get_all_tokens: bool = False, max_execution_time: int | None = None)[source]#
Load elements from a blockchain smart contract.
The supported blockchains are: Near mainnet, Near testnet.
If no BlockchainType is specified, the default is Near mainnet.
The Loader uses the Mintbase API to interact with the blockchain. MB_API_KEY environment variable must be set to use this loader.
The API returns 100 NFTs per request and can be paginated using the startToken parameter.
If get_all_tokens is set to True, the loader will get all tokens on the contract. Note that for contracts with a large number of tokens, this may take a long time (e.g. 10k tokens is 100 requests). Default value is false for this reason.
The max_execution_time (sec) can be set to limit the execution time of the loader.
- Future versions of this loader can:
Support additional Mintbase APIs (e.g. getTokens, etc.)
Example
contractAddress = "nft.yearofchef.near" # Year of chef contract address blockchainLoader = MintbaseDocumentLoader( contract_address=contractAddress, blockchain_type="mainnet",api_key="omni-site" )
- Parameters:
contract_address (str) β The address of the smart contract.
blockchainType β The blockchain type.
api_key (str) β The Mintbase API key.
table (str) β name of the table to query
select (str) β Conditions for querying
fields (List[str] | None) β Information to display after query
get_all_tokens (bool) β Whether to get all tokens on the contract.
max_execution_time (int | None) β The maximum execution time (sec).
blockchain_type (Literal['mainnet', 'testnet']) β
Methods
__init__
(contract_address,Β *,Β blockchain_type)- param contract_address:
The address of the smart contract.
A lazy loader for Documents.
aload
()Load data into Document objects.
A lazy loader for Documents.
load
()Load data into Document objects.
load_and_split
([text_splitter])Load Documents and split into chunks.
- __init__(contract_address: str, *, blockchain_type: Literal['mainnet', 'testnet'], api_key: str = '', table: str = '', select: str = '', fields: List[str] | None = None, get_all_tokens: bool = False, max_execution_time: int | None = None)[source]#
- Parameters:
contract_address (str) β The address of the smart contract.
blockchainType β The blockchain type.
api_key (str) β The Mintbase API key.
table (str) β name of the table to query
select (str) β Conditions for querying
fields (List[str] | None) β Information to display after query
get_all_tokens (bool) β Whether to get all tokens on the contract.
max_execution_time (int | None) β The maximum execution time (sec).
blockchain_type (Literal['mainnet', 'testnet']) β
- async alazy_load() AsyncIterator[Document] #
A lazy loader for Documents.
- Return type:
AsyncIterator[Document]
- lazy_load() Iterator[Document] [source]#
A lazy loader for Documents.
- Return type:
Iterator[Document]
- load_and_split(text_splitter: TextSplitter | None = None) List[Document] #
Load Documents and split into chunks. Chunks are returned as Documents.
Do not override this method. It should be considered to be deprecated!
- Parameters:
text_splitter (Optional[TextSplitter]) β TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.
- Returns:
List of Documents.
- Return type:
List[Document]