langchain_community.document_loaders.blockchain
.BlockchainDocumentLoader¶
- class langchain_community.document_loaders.blockchain.BlockchainDocumentLoader(contract_address: str, blockchainType: BlockchainType = BlockchainType.ETH_MAINNET, api_key: str = 'docs-demo', startToken: str = '', get_all_tokens: bool = False, max_execution_time: Optional[int] = None)[source]¶
从区块链智能合约中加载元素。
支持的区块链有:以太坊主网、以太坊Goerli测试网、Polygon主网和Polygon Mumbai测试网。
如果未指定BlockchainType,则默认为以太坊主网。
加载器使用Alchemy API与区块链进行交互。 必须设置ALCHEMY_API_KEY环境变量才能使用此加载器。
API每次返回100个NFT,并可以使用startToken参数进行分页。
如果get_all_tokens设置为True,则加载器将获取合约上的所有代币。 请注意,对于代币数量较多的合约,这可能需要很长时间(例如,10k代币需要100次请求)。 出于这个原因,默认值为false。
可以设置max_execution_time(秒)来限制加载器的执行时间。
- 未来版本的加载器可以:
支持其他Alchemy API(例如,getTransactions等)
支持其他区块链API(例如,Infura,Opensea等)
参数: contract_address:智能合约的地址。 blockchainType:区块链类型。 api_key:Alchemy API密钥。 startToken:用于分页的起始令牌。 get_all_tokens:是否获取合约上的所有代币。 max_execution_time:最大执行时间(秒)。
Methods
__init__
(contract_address[, blockchainType, ...])参数: contract_address:智能合约的地址。 blockchainType:区块链类型。 api_key:Alchemy API密钥。 startToken:用于分页的起始令牌。 get_all_tokens:是否获取合约上的所有代币。 max_execution_time:最大执行时间(秒)。
一个用于文档的惰性加载器。
aload
()将数据加载到文档对象中。
一个用于文档的惰性加载器。
load
()将数据加载到文档对象中。
load_and_split
([text_splitter])加载文档并分割成块。块作为文档返回。
- Parameters
contract_address (str) –
blockchainType (BlockchainType) –
api_key (str) –
startToken (str) –
get_all_tokens (bool) –
max_execution_time (Optional[int]) –
- __init__(contract_address: str, blockchainType: BlockchainType = BlockchainType.ETH_MAINNET, api_key: str = 'docs-demo', startToken: str = '', get_all_tokens: bool = False, max_execution_time: Optional[int] = None)[source]¶
参数: contract_address:智能合约的地址。 blockchainType:区块链类型。 api_key:Alchemy API密钥。 startToken:用于分页的起始令牌。 get_all_tokens:是否获取合约上的所有代币。 max_execution_time:最大执行时间(秒)。
- Parameters
contract_address (str) –
blockchainType (BlockchainType) –
api_key (str) –
startToken (str) –
get_all_tokens (bool) –
max_execution_time (Optional[int]) –
- load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document] ¶
加载文档并分割成块。块作为文档返回。
不要覆盖此方法。应该被视为已弃用!
- 参数:
- text_splitter: 用于分割文档的TextSplitter实例。
默认为RecursiveCharacterTextSplitter。
- 返回:
文档列表。
- Parameters
text_splitter (Optional[TextSplitter]) –
- Return type
List[Document]