跳到主要內容
Open In ColabOpen on GitHub

區塊鏈

總覽

這個筆記本的目的是為了提供一種在 Langchain 文件載入器中測試區塊鏈功能的方法。

最初,這個載入器支援

  • 從 NFT 智能合約 (ERC721 和 ERC1155) 將 NFT 作為文件載入
  • Ethereum Mainnnet、Ethereum Testnet、Polygon Mainnet、Polygon Testnet (預設為 eth-mainnet)
  • Alchemy 的 getNFTsForCollection API

如果社群認為這個載入器有價值,它可以被擴展。具體來說

  • 可以添加額外的 API (例如,與交易相關的 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]

選項 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]

這個頁面有幫助嗎?