區塊鏈
概觀
本筆記本的目的是提供一種測試 Langchain Document Loader 中區塊鏈功能的方法。
最初,此載入器支援
- 從 NFT 智能合約 (ERC721 和 ERC1155) 載入 NFT 作為文件
- Ethereum Mainnnet、Ethereum Testnet、Polygon Mainnet、Polygon Testnet (預設為 eth-mainnet)
- Alchemy 的 getNFTsForCollection API
如果社群發現此載入器有價值,則可以擴展它。 具體來說
- 可以新增其他 API (例如,交易相關的 API)
此文件載入器需要
- 免費的 Alchemy API 金鑰
輸出採用以下格式
- pageContent= 個別 NFT
- metadata={'source': '0x1a92f7381b9f03921564a437210bb9396471050c', 'blockchain': 'eth-mainnet', 'tokenId': '0x15'}
將 NFT 載入到文件載入器中
# get ALCHEMY_API_KEY from https://www.alchemy.com/
alchemyApiKey = "..."
選項 1:Ethereum Mainnet (預設 BlockchainType)
from langchain_community.document_loaders.blockchain import (
BlockchainDocumentLoader,
BlockchainType,
)
contractAddress = "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d" # Bored Ape Yacht Club contract address
blockchainType = BlockchainType.ETH_MAINNET # default value, optional parameter
blockchainLoader = BlockchainDocumentLoader(
contract_address=contractAddress, api_key=alchemyApiKey
)
nfts = blockchainLoader.load()
nfts[:2]
API 參考:BlockchainDocumentLoader | BlockchainType
選項 2:Polygon Mainnet
contractAddress = (
"0x448676ffCd0aDf2D85C1f0565e8dde6924A9A7D9" # Polygon Mainnet contract address
)
blockchainType = BlockchainType.POLYGON_MAINNET
blockchainLoader = BlockchainDocumentLoader(
contract_address=contractAddress,
blockchainType=blockchainType,
api_key=alchemyApiKey,
)
nfts = blockchainLoader.load()
nfts[:2]