该 CDP Agentkit 工具包包含使 LLM 代理能够与 Coinbase 开发者平台交互的工具。该工具包提供了 CDP SDK 的包装器,允许代理执行链上操作,如转账、交易和智能合约交互。
概述
集成详情
| 类 | 包 | 可序列化 | JS 支持 | 版本 |
|---|---|---|---|---|
CdpToolkit | cdp-langchain | ❌ | ❌ | !PyPI - 版本 |
工具功能
该工具包提供以下工具:
- **获取_钱包_详情** - 获取 MPC 钱包的详情
- **获取_余额** - 获取特定资产的余额
- **请求_水龙头_资金** - 从水龙头请求测试代币
- **转账** - 在地址之间转账资产
- **交易** - 交易资产(仅限主网)
- **部署_代币** - 部署 ERC-20 代币合约
- **铸造_NFT** - 从现有合约铸造 NFT
- **部署_NFT** - 部署新的 NFT 合约
- **注册_基础名称** - 为钱包注册基础名称
我们鼓励您添加自己的工具,同时使用 CDP 和 web2 API,创建一个符合您需求的代理。
设置
总体而言,我们将:
- 安装 langchain 包
- 设置您的 CDP API 凭证
- 初始化 CDP 包装器和工具包
- 使用以下方式将工具传递给您的代理
toolkit.get_tools()
要启用单个工具的自动跟踪,请设置您的 LangSmith API 密钥:
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"
安装
该工具包位于 cdp-langchain package:
pip install -qU cdp-langchain
设置环境变量
要使用该工具包,您必须首先设置以下环境变量以访问 CDP API 来创建钱包并进行链上交互。您可以免费在以下网站注册 API 密钥 CDP 门户:
for env_var in [
"CDP_API_KEY_NAME",
"CDP_API_KEY_PRIVATE_KEY",
]:
if not os.getenv(env_var):
os.environ[env_var] = getpass.getpass(f"Enter your {env_var}: ")
# Optional: Set network (defaults to base-sepolia)
os.environ["NETWORK_ID"] = "base-sepolia" # or "base-mainnet"
实例化
现在我们可以实例化我们的工具包:
from cdp_langchain.agent_toolkits import CdpToolkit
from cdp_langchain.utils import CdpAgentkitWrapper
# Initialize CDP wrapper
cdp = CdpAgentkitWrapper()
# Create toolkit from wrapper
toolkit = CdpToolkit.from_cdp_agentkit_wrapper(cdp)
工具
查看 可用工具:
tools = toolkit.get_tools()
for tool in tools:
print(tool.name)
在智能体中使用
我们需要一个大语言模型或聊天模型:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-5.4-mini")
使用工具初始化智能体:
from langchain.agents import create_agent
tools = toolkit.get_tools()
agent_executor = create_agent(llm, tools)
使用示例:
example_query = "Send 0.005 ETH to john2879.base.eth"
stream = agent_executor.stream_events(
{"messages": [("user", example_query)]},
version="v3",
)
for snapshot in stream.values:
snapshot["messages"][-1].pretty_print()
预期输出:
Transferred 0.005 of eth to john2879.base.eth.
Transaction hash for the transfer: 0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1e
Transaction link for the transfer: https://sepolia.basescan.org/tx/0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1
CDP 工具包特有功能
钱包管理
该工具包维护一个 MPC 钱包。钱包数据可以导出和导入,以便在会话之间保持持久性:
# Export wallet data
wallet_data = cdp.export_wallet()
# Import wallet data
values = {"cdp_wallet_data": wallet_data}
cdp = CdpAgentkitWrapper(**values)
网络支持
该工具包支持 多个网络
无 Gas 交易
某些操作在 Base 主网上支持无 Gas 交易:
- - USDC 转账
- - EURC 转账
- - cbBTC 转账
API 参考
有关所有 CDP 功能配置的详细文档,请参阅 CDP 文档.