முக்கிய உள்ளடக்கத்திற்கு தவிர்க்கவும்
LANGCHAIN INTEGRATION

LangChain பணம் செலுத்தும் இணைப்பு.

எந்த LangChain முகவருக்கும் USDC செலவுகளை சேர்க்கவும். உண்மையான Python தொகுப்பு இதற்கு பணப்பை கருவிகளை வழங்குகிறது - அனுப்பவும், தீர்க்கவும், மற்றும் வாசிக்கவும் - சில வரிகளில்.

குறுகிய பதில்

Blockchain0x ஒரு உண்மையான Python package-ஐ, , வழங்குகிறது; இது ஒரு LangChain agent-க்கு native wallet tools-ஐ தருகிறது: Base-ல் USDC அனுப்ப, on-chain proof உடன் invoice-ஐ settle செய்ய, மேலும் wallets மற்றும் transactions-ஐ படிக்க. அதை install செய்து, ஐ set செய்து, ஐ call செய்து, அந்த tools-ஐ உங்கள் agent-க்கு கொடுங்கள். TypeScript-ல்? npm adapter இல்லை - x402 client-ஐ LangChain.js tool-ஆக wrap செய்யுங்கள்.

ஏன் WRAPPER உள்ளது

Blockchain0x HTTP API மீது ஒரு மென்மையான அடுக்கு.

blockchain0x-langchain இல் உள்ள ஒவ்வொரு கருவியும் அதிகாரப்பூர்வ blockchain0x மைய SDK இன் ஒரு மென்மையான மூடியே ஆகும். மறுபடியும் செயல்படுத்தப்பட்ட REST அல்லது x402 தரவியல் இல்லை, விசை பாதுகாப்பு இல்லை: அடாப்டர் உங்கள் API விசையை பின்னணி நோக்கி அனுப்புகிறது மற்றும் தனது சொந்த ரகசியத்தை வைத்திருக்கவில்லை. create_blockchain0x_toolset(client) LangChain க்கு ஐந்து கருவிகளை வழங்குகிறது - ஒரு கட்டணம் அனுப்பவும், ஒரு ரசீது தீர்க்கவும், ஒரு பணப்பையைப் படிக்கவும், பணப்பைகளை பட்டியலிடவும், ஒரு பரிவர்த்தனையைப் படிக்கவும் - ஒவ்வொன்றும் ஏற்கனவே வகைப்படுத்தப்பட்ட மற்றும் அளவிடப்பட்டுள்ளன.

நீங்கள் விரும்பினால் raw API-யையோ core SDK-யையோ நேரடியாகவும் அழைக்கலாம். adapter தான் எளிதான வழி; API தான் contract. இரண்டிலும் latest-ஐத் தொடர்ந்து ஓடுவதற்குப் பதிலாக blockchain0x-langchain-ஐ அது ஆதரிக்கும் langchain-core range-க்கு pin செய்யவும்.

நிறுத்துதல்

ஒரு நிறுவல். ஒரு சுற்றுப்புற மாறி. தயாராக.

தொகுப்பு Python 3.9 அல்லது புதியதாக இருக்க வேண்டும். இது அடிப்படை blockchain0x SDK மற்றும் langchain-core ஐ சார்ந்ததாகக் கொண்டுள்ளது; மேலும் எதுவும் சேர்க்க வேண்டாம்.

நிறுத்தவும்
pip install blockchain0x-langchain
சூழல் மாறிகள்
export BLOCKCHAIN0X_API_KEY=sk_test_...   # sk_test_ = Base Sepolia, sk_live_ = Base mainnet

BLOCKCHAIN0X_API_KEY என்பது உங்கள் Blockchain0x dashboard-இல் உள்ள sk_test_ testnet அல்லது sk_live_ mainnet key ஆகும். adapter-க்கு தேவைப்படும் ஒரே மாறி அதுதான்; அது key-ஐ backend-க்கு அனுப்புகிறது மற்றும் தனியாக எந்த secret-ஐயும் வைத்திருக்காது. கீழே காட்டப்பட்டுள்ள webhook handler-க்கு நீங்கள் BLOCKCHAIN0X_WEBHOOK_SECRET-ஐயும் அமைக்க வேண்டும், webhook-ஐ create அல்லது rotate செய்யும் போது dashboard அதை ஒருமுறை வழங்கும்.

முழு முகவர் எடுத்துக்காட்டு

பணம் ஆதரவு உடைய ஒரு செயல்பாட்டில் உள்ள LangChain முகவர்.

கீழே Python இல் ஒரு முழுமையான LangChain முகவர் உள்ளது. create_blockchain0x_toolset பணப்பை கருவிகளை வழங்குகிறது, create_react_agent அவற்றைப் ReAct சுற்றில் இணைக்கிறது, மற்றும் மாதிரி ஊடுருவலிலிருந்து சரியான கருவியை தேர்ந்தெடுக்கிறது. BLOCKCHAIN0X_API_KEY ஐ அமைக்கவும், அதை இயக்கவும், முகவர் Base இல் USDC ஐ நகர்த்தவும் மற்றும் வாசிக்கவும் முடியும்.

AGENT.PY
from blockchain0x import Client
from blockchain0x_langchain import create_blockchain0x_toolset
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

client = Client()  # reads BLOCKCHAIN0X_API_KEY from the environment
tools = create_blockchain0x_toolset(client)

llm = ChatOpenAI(model="gpt-4o")
agent = create_react_agent(llm, tools)

result = agent.invoke({
    "messages": [{
        "role": "user",
        "content": "Pay 0.01 USDC from my agent to 0xRecipient for the dataset.",
    }],
})

Run it with the prompt above and the model picks the send-payment tool, the SDK submits the transfer on Base, and you get a transaction hash back. amount_wei is USDC base units (6 decimals), so 0.01 USDC is the string "10000". A sk_test_ key keeps you on Base Sepolia until you switch to sk_live_. Heads up: payments.create can answer 503 until the chain adapter is wired for your network.

WEBHOOK கையாளுதல்

பயனர் பணம் செலுத்திய பிறகு என்ன நடக்கிறது.

உங்கள் agent-இன் webhook URL (Blockchain0x dashboard-இல் அமைக்கப்பட்டது) payment settle ஆனபோது ஒரு POST-ஐ பெறுகிறது. webhook verify helper Node SDK-இல் உள்ளது, எனவே உங்கள் agent Python ஆனாலும் இந்த handler TypeScript ஆகும். கீழே உள்ள Express handler signature-ஐ சரிபார்த்து, கட்டணமான பணியை இயக்குகிறது. இதே pattern-ஐ எந்த HTTP framework-இலும் பயன்படுத்தவும்.

வெப்கோக்-கையாளி.TS
import express from "express";
import { webhooks } from "@blockchain0x/node";

const app = express();
// Capture the RAW body. The HMAC is over the exact bytes on the wire.
app.use(express.raw({ type: "application/json" }));

app.post("/webhooks/payment", (req, res) => {
  const result = webhooks.verify({
    headers: req.headers,
    rawBody: req.body, // Buffer, raw bytes
    secret: process.env.BLOCKCHAIN0X_WEBHOOK_SECRET!,
  });
  if (!result.ok) return res.status(400).json({ code: result.code });

  if (result.eventType === "payment.received") {
    // USDC landed in your agent wallet - do the paid work
  }
  res.status(200).send("ok");
});

webhooks.verify HMAC-SHA256-ஐ constant time-இல் செய்கிறது மற்றும் ஒரு discriminated union-ஐ return செய்கிறது, ஆகவே try/catch இல்லாமல் result.ok-ஐ வைத்து branch செய்து result.eventType-ஐ படிக்கலாம். parsed copy அல்ல, raw body-ஐ படிக்கவும்: parse செய்து பின்னர் மீண்டும் serialize செய்வது signature-ஐ உடைக்கும். வழங்கப்பட்ட events payment.received, payment.sent, wallet.deployed, மற்றும் webhook.test; உங்கள் agent-க்கு வரும் inbound charge என்பது payment.received.

TYPESCRIPT? X402 கிளையனைக் கட்டுங்கள்

எந்த npm LangChain இணைப்பாளர் இல்லை. இங்கே நேர்மையான செய்முறை உள்ளது.

அனுப்பப்பட்ட LangChain இணைப்பாளர் Python மட்டுமே உள்ளது. npm இல் LangChain இணைப்பாளர் இல்லை. TypeScript LangChain அல்லது LangGraph முகவரிக்காக, நீங்கள் உண்மையான x402 கிளையனை LangChain.js கருவியில் நீங்கள் சுற்றி வைக்கிறீர்கள். இது சில வரிகள் ஆகும், மற்றும் இது ஒரு குறிப்பிட்ட இணைப்பாளர் அடிக்கடி செய்வதற்கானது.

PAY-TOOL.TS
import { createClient } from "@blockchain0x/node";
import { createX402Client } from "@blockchain0x/x402/client";
import { tool } from "@langchain/core/tools";
import { z } from "zod";

const sdk = createClient({ apiKey: process.env.BLOCKCHAIN0X_API_KEY! });
const fetchWithPay = createX402Client({ sdk });

// There is no npm LangChain adapter. Wrap the x402 client in a LangChain.js tool.
export const payAndFetch = tool(
  async ({ url }) => (await fetchWithPay(url)).text(),
  {
    name: "pay_and_fetch",
    description: "Fetch a URL, answering any x402 payment challenge automatically",
    schema: z.object({ url: z.string().url() }),
  },
);

Source மற்றும் testnet எடுத்துக்காட்டுகள் the Python SDK repo இல் உள்ளன; SDK support matrix the docs இல் உள்ளது. Python smoke example, LangChain tool மூடும் அதே send-payment action மூலம் Base Sepolia-வில் உண்மையான $0.01 USDC transfer-ஐ அனுப்புகிறது.

பொதுவான தவறுகள்

முதல் ஒருங்கிணைப்பில் கசப்பாக்கும் ஐந்து விஷயங்கள்.

இவை எங்கள் ஆதரவு மின்னஞ்சலிலிருந்து வருகின்றன. இவைகளில் எவையும்தான் ஒப்பந்தத்தை உடைக்கும், ஆனால் இவற்றைப் பற்றிய தகவல் முன்கூட்டியே தெரிந்தால் ஒவ்வொன்றும் ஒரு மணி நேரம் சிந்திக்கச் சேமிக்கிறது.

PITFALL 1

தொகைகள் USDC அடிப்படைக் அலகுகள், உரையாக

The payment tools take amount_wei: a string of USDC base units, not a float and not a dollar figure. USDC has 6 decimals, so 0.01 USDC is "10000" and 5 USDC is "5000000". Always pass a string; large integers lose precision as JSON numbers. Send "5.00" and you will either get a validation error or move a millionth of what you meant.

PITFALL 2

பில்லிங் கருவி தீர்வு செய்கிறது, உருவாக்கவில்லை

blockchain0x_settle_invoice ஒரு ஏற்கனவே உள்ள payment request-ஐ on-chain proof உடன் settle செய்கிறது. புதிய invoice-ஐ அல்லது hosted checkout link-ஐ உருவாக்கும் tool எதுவும் இல்லை: payment requests dashboard-இல் உருவாக்கப்படுகின்றன, மேலும் core SDK settlement-ஐ மட்டும் வழங்குகிறது. agent உடனடியாக payable link-ஐ உருவாக்கும் என்று நீங்கள் எதிர்பார்த்திருந்தால், அது அந்த வடிவம் அல்ல. request-ஐ out of band உருவாக்கி, பின்னர் agent-ஐ அதை settle செய்ய விடவும்.

PITFALL 3

மூல உடலுக்கு எதிராக வெப்கோக்‌களை சரிபார்க்கவும்

வெப்கோக்‌கள் உங்கள் URL க்கு POST செய்கின்றன, மற்றும் அந்த URL ஐ கற்றுக்கொண்ட யாரும் குப்பையை POST செய்யலாம். நீங்கள் ஒரு நிகழ்வை நம்புவதற்கு முன் RAW கோரிக்கையின் பைட்டுகளை @blockchain0x/node இல் இருந்து webhooks.verify ஐ இயக்கவும். முதலில் JSON ஐ பகுப்பாய்வு செய்யவும், HMAC பொருந்தாது, ஏனெனில் கையொப்பம் வந்த சரியான பைட்டுகளை மூடுகிறது. இது 300 விநாடிகள் மீண்டும் விளையாடும் ஜன்னலுடன் HMAC-SHA256 ஆகும். இதை தவிர்க்குவது மிகவும் பொதுவான உற்பத்தி தவறாகும்.

PITFALL 4

send_payment ஆரம்ப கட்டத்தில் 503 answer செய்யக்கூடும்

blockchain0x_send_payment wrap செய்யும் payments.create default-ஆக retry செய்யாது, மேலும் உங்கள் network-க்கு chain adapter இணைக்கப்படும் வரை 503 return செய்யக்கூடும். error ஏற்பட்டபோது LLM-ஐ retry loop-இல் tool-ஐ தொடர்ந்து hammer செய்ய விடாதீர்கள்: அது tokens-ஐ செலவழித்து, உங்கள் intent log-ஐ குழப்பும். உள்ளமைந்த idempotency key-யை நம்பி, failure-ஐ வெளிப்படுத்தி, அடுத்ததாக நகரவும்.

PITFALL 5

langchain-core பதிப்பை பொருத்துங்கள்

blockchain0x-langchain 0.1.x, langchain-core >=0.2,<0.4-ஐ இலக்காகக் கொண்டுள்ளது. adapter ஆதரிப்பதைவிட புதிய core-இல் நீங்கள் இருந்தால், இரண்டின் latest-ஐத் தொடர்ந்து ஓடுவதற்குப் பதிலாக பொருந்தும் pair-ஐ pin செய்யவும். support matrix docs-இல் உள்ளது.

அடிக்கடி கேட்கப்படும்

மூன்று LangChain-சிறப்பு கேள்விகள்.

என் முகவர் USDC ஐ பெற முடியுமா, அதை மட்டும் அனுப்ப முடியாது?

ஆம், இரண்டு வழிகள். பாசிவாக: உங்கள் முகவரிக்கு ஒரு வாலெட் முகவரி மற்றும் ஒரு பொது பக்கம் உள்ளது, எனவே யாரும் அதை செலுத்தலாம் மற்றும் சங்கிலி நிலைநிறுத்தும் போது payment.received வெப்கோக் செயல்படுகிறது. செயல்படுவதற்கு: blockchain0x_settle_invoice நீங்கள் டாஷ்போர்டில் உருவாக்கிய ஒரு பணம் கோரிக்கையை நிலைநிறுத்துகிறது மற்றும் சங்கிலி ஆதாரத்தை பதிவு செய்கிறது. முகவரியின் உள்ளே புதிய பில்லிங்கை உருவாக்கும் கருவி இல்லை. டாஷ்போர்டில் கோரிக்கையை உருவாக்கவும், முகவரிக்கு அதை நிலைநிறுத்த அனுமதிக்கவும். பல அமைப்புகள் இரண்டையும் பயன்படுத்துகின்றன: குறிப்புகள் க்கான பொது பக்கம், குறிப்பிட்ட பில்லிங்குகளுக்கான நிலைநிறுத்தும் கருவி.

இது LangGraph உடன் செயல்படுமா?

ஆம். create_blockchain0x_toolset தரநிலையிலான LangChain கருவிகளை திருப்புகிறது, எனவே அவை create_react_agent (மேலே காட்டப்பட்டுள்ளது), AgentExecutor, அல்லது செய்திகளை கையாளும் எந்த LangGraph நொடியிலும் விழுந்துவிடுகின்றன, மற்றும் அவை சரிபார்க்கும் மற்றும் மனித-இல்-சுழலில் இணைக்கின்றன. இது Python கதை. உங்கள் LangGraph முகவர் TypeScript ஆக இருந்தால், npm அடிப்படையாளர் இல்லை: createX402Client (அல்லது @blockchain0x/node கிளையன்டில்) LangChain.js கருவியில் மடிக்கவும், மேலே உள்ள TypeScript செய்முறையைப் போல.

என்ன சங்கிலிகள் மற்றும் நாணயங்கள் ஆதரிக்கப்படுகின்றன?

Base mainnet (sk_live_ விசைகள்) மற்றும் Base Sepolia testnet (sk_test_ விசைகள்), 6 புள்ளிகளுடன் USDC இல் தீர்க்கிறது. இது இன்று முழு நேரடி மேற்பரப்பாகும்: ஒரு சங்கிலி குடும்பம், ஒரு நாணயம். பிற சங்கிலிகள் சாலையில் உள்ளன, இயக்கப்படவில்லை, எனவே அவற்றைப் பற்றிய வடிவமைப்புகளை இன்னும் செய்ய வேண்டாம். விசை முன்னணி உங்கள் நெட்வொர்க்கை தேர்ந்தெடுக்கிறது, மற்றும் sk_test_ விசை mainnet நிதிகளை நகர்த்த முடியாது, இது நீங்கள் கட்டுமானத்தின் போது விரும்பும் பாதுகாப்பு.

LangChain முகவரியில் கட்டணங்களை இணைக்கவும்.

pip நிறுவலிலிருந்து உங்கள் முதல் கட்டணம் செலுத்தும் கோரிக்கைக்கு நிமிடங்களில். தொடங்குவதற்கு இலவசம்.