ప్రధాన కంటెంట్‌కు దాటవేయండి
AUTOGEN ఇంటిగ్రేషన్

AutoGen చెల్లింపు సమీకరణ.

AutoGen ప్యాకేజీ లేదు, మరియు మీకు ఒకటి అవసరం లేదు. నిజమైన blockchain0x క్లయింట్‌ను ఒక ఫంక్షన్‌లో చుట్టండి, దానిని మీ ఏజెంట్‌కు ఇవ్వండి, మరియు ఇది Baseలో USDCని కదిలించగలదు.

చిన్న సమాధానం

AutoGen-specific package లేదు, మరియు మీకు అది అవసరం లేదు. AutoGen ఇప్పటికే ఒక plain typed function ను tool గా మారుస్తుంది, కాబట్టి మీరు నిజమైన Python client ను ఒక function లో wrap చేసి, దాన్ని కు ద్వారా hand off చేస్తారు, అప్పుడు agent Base పై USDC పంపగలదు, invoices settle చేయగలదు, మరియు wallets చదవగలదు. set చేసి ముందుకు సాగండి.

ఎందుకు ప్రత్యేక PACKAGE లేదు

AutoGen ఇప్పటికే ఒక function ను tool గా మారుస్తుంది. అదే ఉపయోగించండి.

AutoGen ఒక tool schema ను Python function signature మరియు docstring నుంచే నిర్మిస్తుంది. ప్రత్యేక AutoGen adapter అంటే చివరికి మేము ఏదో రాసేవాళ్లం అదే function ను కవర్ చేస్తుంది, తరువాత AutoGen యొక్క వేగంగా మారుతున్న API తో sync తప్పుతుంది. అందుకే మేము దాన్ని ship చేయం. మీరు real blockchain0x client ను call చేసే కొన్ని పంక్తులు రాస్తారు, మరియు arguments, validation, error handling పై పూర్తి నియంత్రణ మీకే ఉంటుంది.

ఇది పంపిన LangChain మరియు CrewAI అడాప్టర్లు అండర్ ది హుడ్ చుట్టే అదే క్లయింట్. ఇక్కడ మీరు దీన్ని స్వయంగా చుట్టుతారు, అంటే ట్రాక్ చేయడానికి అడాప్టర్ వెర్షన్ లేదు మరియు మీ ఏజెంట్ మరియు API మధ్య మీ స్వంత ఫంక్షన్ తప్ప మరేం లేదు. బహుళ-ఏజెంట్ బృందాలు అదే విధంగా పనిచేస్తాయి: ఒక ఏజెంట్‌కు వాలెట్ ఫంక్షన్ ఇవ్వండి, మిగతావారిని దానితో వదిలించండి, మరియు ఖర్చు అధికారాన్ని ఒకే చోట ఉంచండి.

ఇన్‌స్టాలేషన్

AutoGen మరియు కోర్ SDKని ఇన్‌స్టాల్ చేయండి. ఒక వాతావరణ మార్పిడి.

చేర్చడానికి ప్రత్యేకమైన AutoGen ప్యాకేజీ లేదు. మీరు AutoGenని (Python 3.10+) మరియు నిజమైన blockchain0x కోర్ SDKని ఇన్‌స్టాల్ చేస్తారు, తరువాత క్రింద ఫంక్షన్‌ను రాస్తారు. అది మొత్తం ఆధారిత జాబితా.

ఇన్‌స్టాల్
pip install autogen-agentchat "autogen-ext[openai]" blockchain0x
పరిసర మార్పిడి
export BLOCKCHAIN0X_API_KEY=sk_test_...   # sk_test_ = Base Sepolia, sk_live_ = Base mainnet

BLOCKCHAIN0X_API_KEY అనేది మీ dashboard నుండి వచ్చిన sk_test_ testnet లేదా sk_live_ mainnet key; client దాన్ని environment నుండి చదువుతుంది. మీ agent కు కూడా money వస్తే, webhook handler కు అదనంగా BLOCKCHAIN0X_WEBHOOK_SECRET అవసరం, webhook ను create లేదా rotate చేసినప్పుడు dashboard దీన్ని ఒక్కసారి మాత్రమే ఇస్తుంది.

THE RECIPE

చెల్లించే ఒక ఫంక్షన్, అసిస్టెంట్ ఏజెంట్‌కు అందించబడింది.

ఇది మొత్తం integration. send_usdc real blockchain0x client ను call చేస్తుంది; AssistantAgent(tools=[send_usdc]) దాన్ని model call చేయగల tool గా మారుస్తుంది. AutoGen schema build చేయడానికి type hints మరియు docstring ను reads చేస్తుంది, కాబట్టి వాటిని accurate గా ఉంచండి. దీన్ని run చేయండి, అప్పుడు agent Base లో USDC ను move చేస్తుంది.

AGENT.PY
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from blockchain0x import Client

blockchain0x = Client()  # reads BLOCKCHAIN0X_API_KEY from the environment

# AutoGen turns a plain typed function into a tool. No dedicated package needed.
def send_usdc(agent_id: str, to: str, amount_wei: str) -> str:
    """Send a USDC payment from an agent wallet.

    amount_wei is USDC base units (6 decimals), so "10000" is 0.01 USDC.
    """
    result = blockchain0x.payments.create(
        body={"agentId": agent_id, "to": to, "amountWei": amount_wei},
    )
    return str(result)

treasurer = AssistantAgent(
    name="treasurer",
    model_client=OpenAIChatCompletionClient(model="gpt-4o"),
    tools=[send_usdc],
    system_message="You pay vendor invoices in USDC within owner-set limits.",
)

result = await treasurer.run(
    task="Pay 0.01 USDC from agent agt_123 to 0xVendor for the dataset.",
)

When the agent decides to pay, it calls send_usdc, the SDK submits the transfer, and you get a transaction hash back. amount_wei is base units, so 0.01 USDC is "10000". A sk_test_ key keeps it on Base Sepolia until you switch to sk_live_. Add more functions - read a wallet, settle an invoice - the same way; each becomes another entry in tools.

వెబ్‌హుక్ నిర్వహణ

సంతకం చేసిన వెబ్‌హుక్‌తో ఇన్‌బౌండ్ చెల్లింపులను నిర్ధారించండి.

మీ ఏజెంట్ కూడా USDCని అందుకుంటే, దాన్ని పోలింగ్ చేయకుండా వెబ్‌హుక్‌తో ధృవీకరించండి. ధృవీకరించు సహాయకుడు Node SDKలో షిప్పింగ్ చేస్తుంది; ఒక Python సేవలో మీరు డాక్యుమెంటెడ్ HMACకు వ్యతిరేకంగా చేతితో ధృవీకరించాలి, ఇది సహాయకుడు చేసే అన్ని విషయాలు. కింద ఉన్న FastAPI ఉదాహరణ; అదే కోడ్ ఏ అసంక్రోనస్ Python ఫ్రేమ్‌వర్క్‌లో పనిచేస్తుంది.

WEBHOOK.PY
import hmac, hashlib, os, time
from fastapi import FastAPI, Request, HTTPException

app = FastAPI()
SECRET = os.environ["BLOCKCHAIN0X_WEBHOOK_SECRET"].encode()

@app.post("/webhooks/payment")
async def receive(request: Request):
    raw = await request.body()  # RAW bytes - do not parse first
    sig = request.headers.get("X-Blockchain0x-Signature", "")
    ts = request.headers.get("X-Blockchain0x-Timestamp", "")
    parts = dict(p.split("=", 1) for p in sig.split(",") if "=" in p)
    t, v1 = parts.get("t", ts), parts.get("v1", sig)
    want = hmac.new(SECRET, t.encode() + b"." + raw, hashlib.sha256).hexdigest()
    if not hmac.compare_digest(want, v1) or abs(time.time() - int(t)) > 300:
        raise HTTPException(status_code=401)
    if request.headers.get("X-Blockchain0x-Event-Type") == "payment.received":
        await trigger_followup()  # USDC landed - run the next step
    return {"ok": True}

అల్గోరిథం t.rawBody అనే స్ట్రింగ్‌పై HMAC-SHA256, స్థిర-సమయాన్ని పోల్చడం, మరియు 300-సెకన్ల రీప్లే విండో. సంతకం కవర్ చేసే బైట్స్‌ను మార్చడం వల్ల await request.body() ద్వారా కచ్చితమైన శరీరాన్ని చదవండి, ఎప్పుడూ request.json() మళ్లీ సీరియలైజ్ చేయకండి. పంపిన ఈవెంట్లు payment.received, payment.sent, wallet.deployed, మరియు webhook.test. భారీ ఫాలో-అప్ పనికి, ఒక ఉద్యోగాన్ని ఎన్‌క్యూ చేయండి (Celery, RQ, arq) మరియు హ్యాండ్లర్‌ను బ్లాక్ చేయకుండా వెంటనే 200 కి స్పందించండి.

మూలం మరియు డాక్స్

మీరు ముడివేస్తున్న క్లయింట్ ఓపెన్ ఉంది. దీన్ని చదవండి.

clone చేయడానికి ప్రత్యేక AutoGen starter package లేదు - పై recipe నే integration. blockchain0x SDKs GitHub లో open source గా ఉన్నాయి; ఈ recipe Python SDK (blockchain0x-python) ను wrap చేస్తుంది, పూర్తి method surface docs లో ఉంది. function bodies కోసం reference గా చదవండి.

github.com/tosh-labs/blockchain0x-python

పూర్తి SDK method surface మరియు scopes the docs లో documented గా ఉన్నాయి. Base Sepolia పై sk_test_ key తో start చేయండి, తర్వాత function మీరు ఆశించినట్లు పనిచేసినప్పుడు sk_live_ కి switch చేయండి.

సాధారణ పిట్ఫాల్స్

గమనించాల్సిన ఐదు గ్రూప్-చాట్ మరియు అసింక్ చిక్కులు.

AutoGen యొక్క బహుళ-ఏజెంట్ + అసింక్ డిజైన్ శక్తివంతమైన నమూనాలను అన్‌లాక్ చేస్తుంది కానీ దీని స్వంత ఫుట్‌గన్స్‌ను ప్రవేశపెడుతుంది. ఇవి మా మద్దతు ఇన్బాక్స్ నుండి వస్తాయి.

PITFALL 1

AutoGen ప్యాకేజీ లేదు - మీరు SDKని చుట్టండి

Blockchain0x LangChain మరియు CrewAI కోసం అడాప్టర్లు మరియు MCP సర్వర్‌ను పంపిస్తుంది; ప్రత్యేకమైన AutoGen ప్యాకేజీ లేదు. పై వంటకం మద్దతు పొందిన మార్గం: వాస్తవ blockchain0x క్లయింట్‌ను కాల్ చేసే సాధారణ టైప్డ్ ఫంక్షన్, AssistantAgent(tools=[...]) కు అందించబడింది. AutoGen ఫంక్షన్ సంతకం మరియు డాక్స్ట్రింగ్‌ను చదివి సాధనం స్కీమాను నిర్మిస్తుంది, కాబట్టి డాక్స్ట్రింగ్ ఖచ్చితంగా ఉంచండి.

PITFALL 2

Amounts USDC base units గా, strings రూపంలో

payments.create takes amountWei: 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". Type the tool argument as str and validate it before the call - a float that sneaks through either errors at the backend or moves a millionth of what you meant.

PITFALL 3

send_payment ముందుగా 503ను సమాధానం ఇవ్వవచ్చు

payments.create డిఫాల్ట్‌గా పునరావృతం చేయదు మరియు మీ నెట్‌వర్క్ కోసం చైన్ అడాప్టర్ కేబుల్ చేయబడేవరకు 503ను తిరిగి ఇవ్వవచ్చు. విఫలమైన చెల్లింపుపై గ్రూప్ చాట్ చక్రం చేయనివ్వవద్దు - మీ ఫంక్షన్‌లో పొరపాటును పట్టుకోండి, మోడల్ చర్య తీసుకునే స్పష్టమైన సందేశాన్ని తిరిగి ఇవ్వండి, మరియు ఆటో-మింటెడ్ ఐడెంపోటెన్సీ కీపై ఆధారపడండి కాబట్టి మాన్యువల్ రిట్రై డబుల్-చెల్లించదు.

PITFALL 4

AutoGen 0.4+ async; SDK call sync

AutoGen 0.4 tools ను async loop లో run చేస్తుంది. blockchain0x client call synchronous, ఇది తక్షణ request కు సరే, కానీ నెమ్మదిగా జరిగే call loop ను block చేస్తుంది. మీరు నిజమైన volume నిర్వహిస్తే, event loop responsive గా ఉండేలా SDK call ను asyncio.to_thread తో wrap చేయండి. ప్రతి turn కు ఒక payment మాత్రమే ఉంటే, నేరుగా call చేయడం సరే.

PITFALL 5

ఇన్‌బౌండ్ వెబ్‌హుక్‌లను కచ్చితమైన శరీరానికి ధృవీకరించండి

మీ ఏజెంట్ కూడా డబ్బు అందుకుంటే, దాన్ని వెబ్‌హుక్‌తో ధృవీకరించండి, పోలింగ్ ద్వారా కాదు. RAW అభ్యర్థన బైట్స్‌పై సంతకం ధృవీకరించండి (await request.body()), ఎప్పుడూ request.json() పునః-సీరియలైజ్ చేయకండి, ఎందుకంటే HMAC ఖచ్చితమైన బైట్స్‌ను కవర్ చేస్తుంది. ఇది 300-సెకన్ల పునరావృత విండోతో HMAC-SHA256. కింద ఉన్న హ్యాండ్లర్ మొత్తం విషయం.

సాధారణంగా అడిగే

మూడు AutoGen-స్పెసిఫిక్ ప్రశ్నలు.

ఇన్‌స్టాల్ చేయడానికి ప్రత్యేక AutoGen ప్యాకేజీ ఉందా?

లేదు. ప్రత్యేక AutoGen అడాప్టర్ లేదు, మరియు ఇది ఉద్దేశ్యంగా ఉంది - AutoGen ఇప్పటికే ఒక సాధారణ టైప్డ్ ఫంక్షన్‌ను ఒక టూల్ గా మార్చుతుంది, కాబట్టి నిజమైన మార్గం నిజమైన blockchain0x క్లయింట్‌ను ఒక ఫంక్షన్ లో చుట్టడం మరియు మీ ఏజెంట్ కు ఇవ్వడం, పై చూపించినట్లుగా. పంపబడిన ఏకైక ఫ్రేమ్‌వర్క్ ప్యాకేజీలు blockchain0x-langchain మరియు blockchain0x-crewai (రెండు Python) మరియు @blockchain0x/mcp సర్వర్. మిగతా అన్ని, AutoGen సహా, ఈ కొన్ని-లైన్ వంటకం.

ఈ వంటకం క్లాసిక్ AutoGen (0.2.x) మరియు 0.4+ పై పనిచేస్తుందా?

అవును, ఎందుకంటే చెల్లింపు తర్కం కేవలం ఒక Python ఫంక్షన్ - AutoGen-వర్షన్-స్పెసిఫిక్ లో ఏమి లేదు. 0.4+ లో మీరు దానిని AssistantAgent(tools=[...]) ద్వారా పై విధంగా పంపిస్తారు. 0.2.x ConversableAgent లైన్‌లో మీరు register_function తో అదే ఫంక్షన్‌ను నమోదు చేస్తారు. ఎటువంటి ప్యాకేజీ లేదు కాబట్టి దిగుమతి చేసుకోవడానికి .legacy ఉపమాడ్యూల్ లేదు; మీరు ఫంక్షన్‌ను కలిగి ఉన్నారు.

నా ఏజెంట్ USDCని ఎలా అందుకుంటుంది లేదా ఒక ఇన్వాయిస్‌ను పరిష్కరిస్తుంది, కేవలం పంపడం కాదు?

client ను మరిన్ని భాగాలకు కూడా అదే విధంగా wrap చేయండి. blockchain0x.transactions.get ఒక transaction ను చదువుతుంది, blockchain0x.agents.get మరియు blockchain0x.agents.list wallets ను చదువుతాయి, మరియు blockchain0x.payment_requests.settle dashboard లో మీరు సృష్టించిన invoice ను on-chain proof తో settle చేస్తుంది. ప్రతి ఒక్కటి మీ tools list లో మరో typed function అవుతుంది. inbound payments payment.received webhook ద్వారా confirm అవుతాయి (క్రింద ఉన్న handler తో verify చేయండి); కొత్త invoice ను mint చేసే tool లేదు, ఎందుకంటే payment requests dashboard లోనే create అవుతాయి.

మీ AutoGen ఏజెంట్‌కు ఒక వాలెట్ ఇవ్వండి.

నిజమైన క్లయింట్‌ను కప్పి ఉంచే కొన్ని పంక్తులు, ఇన్‌స్టాల్ చేయడానికి ప్యాకేజీ లేదు. ప్రారంభించడానికి ఉచితం.