跳到主要內容
Open In ColabOpen on GitHub

CDP Agentkit 工具套件

CDP Agentkit 工具套件包含使 LLM 代理程式能夠與 Coinbase 開發者平台 互動的工具。此工具套件提供 CDP SDK 的封裝器,允許代理程式執行鏈上操作,例如轉帳、交易和智慧合約互動。

概觀

整合詳細資訊

類別套件可序列化JS 支援套件最新版本
CdpToolkitcdp-langchainPyPI - Version

工具功能

此工具套件提供以下工具

  1. get_wallet_details - 取得 MPC 錢包的詳細資訊
  2. get_balance - 取得特定資產的餘額
  3. request_faucet_funds - 從水龍頭請求測試代幣
  4. transfer - 在地址之間轉移資產
  5. trade - 交易資產(僅限主網)
  6. deploy_token - 部署 ERC-20 代幣合約
  7. mint_nft - 從現有合約鑄造 NFT
  8. deploy_nft - 部署新的 NFT 合約
  9. register_basename - 為錢包註冊基本名稱

我們鼓勵您新增自己的工具,無論是使用 CDP 還是 web2 API,以建立符合您需求的代理程式。

設定

在高階層級,我們將

  1. 安裝 langchain 套件
  2. 設定您的 CDP API 憑證
  3. 初始化 CDP 封裝器和工具套件
  4. 使用 toolkit.get_tools() 將工具傳遞給您的代理程式

如果您想從個別工具的執行中取得自動追蹤,您也可以透過取消註解下方內容來設定您的 LangSmith API 金鑰

# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"

安裝

此工具套件位於 cdp-langchain 套件中

%pip install -qU cdp-langchain

設定環境變數

若要使用此工具套件,您必須先設定以下環境變數,才能存取 CDP API 以建立錢包並在鏈上互動。您可以在 CDP Portal 上免費註冊 API 金鑰

import getpass
import os

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)

在代理程式中使用

我們將需要 LLM 或聊天模型

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini")
API 參考:ChatOpenAI

使用工具初始化代理程式

from langgraph.prebuilt import create_react_agent

tools = toolkit.get_tools()
agent_executor = create_react_agent(llm, tools)
API 參考:create_react_agent

範例用法

example_query = "Send 0.005 ETH to john2879.base.eth"

events = agent_executor.stream(
{"messages": [("user", example_query)]},
stream_mode="values",
)
for event in events:
event["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 文件


此頁面是否對您有幫助?