முக்கிய உள்ளடக்கத்திற்கு தவிர்க்கவும்
CREWAI ஒருங்கிணைப்பு

CrewAI பணம் ஒருங்கிணைப்பு.

CrewAI குழுவிற்கு ஒரு பணப்பையை வழங்குங்கள். ஒரு குறிப்பிட்ட நிதியாளர் எஜெண்ட் USDC ஐ அனுப்புகிறது, விலைப்பட்டியல்களை ஒத்திசைக்கிறது, மற்றும் பணப்பை நிலைகளைப் படிக்கிறது, வேலை எஜெண்ட்கள் வேலைக்கு மையமாக உள்ளன.

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

Blockchain0x ஒரு உண்மையான Python package-ஐ, , வழங்குகிறது. அதை install செய்து, ஐ set செய்து, ஐ call செய்து, tools-ஐ ஒரு dedicated treasurer agent-க்கு கொடுங்கள். அந்த agent USDC அனுப்பலாம், on-chain proof உடன் invoice-ஐ settle செய்யலாம், மற்றும் wallets-ஐ படிக்கலாம், ஆனால் crew-இல் உள்ள work agents-க்கு wallet access எதுவும் இருக்காது. USDC Base-ல் settle ஆகும்.

ஏன் ஒரு தனிப்பட்ட நிதி அதிகாரி வேலையை

CrewAI இன் பலம் பங்கு பிரிப்பு. இதைப் பணப்பைக்கும் பயன்படுத்தவும்.

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

இந்த வடிவம் ஆடிட் பாதைகளை தெளிவாகவும் செய்கிறது. USDC நகரும்போது, நீங்கள் எது முகவரால் நகர்த்தப்பட்டது (பணப்பரிசு) மற்றும் அது எதற்காக இருந்தது (அது ஒப்படைக்கப்பட்ட ஒன்று) என்பதை நீங்கள் சரியாக அறிந்திருக்கிறீர்கள். தனி முகவர் ஒருங்கிணைப்புகள் அந்த வரியை மங்கிக்கொள்கின்றன மற்றும் ஒவ்வொரு வேலைக்கும் செலவீன பகுப்பாய்வுகளை கடினமாக்குகின்றன.

நிறுத்துதல்

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

தொகுப்பு Python 3.10 அல்லது புதியதாக இருக்க வேண்டும் மற்றும் கவிதை அல்லது pip உடன் வேலை செய்கிறது. இது அடிப்படை blockchain0x SDK மற்றும் crewai ஐ சார்ந்ததாகக் கொண்டுள்ளது; மேலும் எதுவும் சேர்க்க வேண்டாம்.

நிறுத்தவும்
pip install blockchain0x-crewai
சூழல் மாறிகள்
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 அதை ஒருமுறை வழங்கும்.

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

செலுத்தல் + ஆராய்ச்சி பங்கு உடைய செயல்பாட்டில் உள்ள இரண்டு முகவர்களின் குழு.

கீழே ஒரு முழுமையான CrewAI குழு உள்ளது, அங்கு ஒரு நிதியாளர் முகவர் USDC இல் ஒரு தரவுக் விற்பனையாளருக்கு செலவிடுகிறது, மற்றும் ஒரு ஆராய்ச்சியாளர் முகவர் முடிவைப் பயன்படுத்துகிறது. நிதியாளர் பணப்பை கருவிகளை வைத்திருக்கிறார்; ஆராய்ச்சியாளர் ஒன்றும் வைத்திருக்கவில்லை. இது செலவிடும் குழுவுக்கான கானொனிகல் மாதிரி.

CREW.PY
from crewai import Agent, Task, Crew
from blockchain0x import Client
from blockchain0x_crewai import create_blockchain0x_toolset

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

# A dedicated treasurer holds the wallet tools; the work agents do not.
treasurer = Agent(
    role="Treasurer",
    goal="Pay vendor invoices in USDC within owner-set limits",
    backstory="Operates a Blockchain0x agent wallet on Base.",
    tools=tools,
    allow_delegation=False,
)

researcher = Agent(
    role="Senior Market Analyst",
    goal="Produce a thorough Q4 LLM market analysis",
    backstory="A specialist analyst with 10 years in tech-market research.",
    tools=[],
    allow_delegation=False,
)

pay_task = Task(
    description="Pay 0.01 USDC from our agent wallet to the data vendor at 0xVendor.",
    expected_output="The transaction hash of the settled payment.",
    agent=treasurer,
)

research_task = Task(
    description="Using the purchased dataset, write the Q4 LLM market analysis.",
    expected_output="A 1,500-word market analysis.",
    agent=researcher,
    context=[pay_task],
)

crew = Crew(agents=[treasurer, researcher], tasks=[pay_task, research_task])
result = crew.kickoff()

When you call crew.kickoff(), the pay_task runs first: the treasurer calls blockchain0x_send_payment, the SDK submits the transfer on Base, and the transaction hash is the task output. The research_task runs next and uses the purchased result. amount_wei is USDC base units, so 0.01 USDC is the string "10000". On a sk_test_ key the whole flow runs on Base Sepolia, and payments.create can answer 503 until the chain adapter is wired for your network.

WEBHOOK கையாளுதல்

ஒரு பணம் இறங்கும் போது அடுத்த குழுவை செயல்படுத்துதல்.

USDC உங்கள் முகவரிக்கு நிலைநிறுத்தும் போது, Blockchain0x உங்கள் வெப்கோக் URL க்கு ஒரு கையொப்பமிடப்பட்ட நிகழ்வை POST செய்கிறது. சரிபார்க்கும் உதவியாளர் Node SDK இல் அனுப்பப்படுகிறது; ஒரு Python சேவை ஆவணப்படுத்தப்பட்ட HMAC க்கு எதிராக கைமுறையாக சரிபார்க்கிறது, இது உதவியாளர் எதுவும் செய்கிறது. கீழே உள்ள Flask எடுத்துக்காட்டு; அதே குறியீடு FastAPI அல்லது எந்த Python வலை கட்டமைப்பிலும் வேலை செய்கிறது.

வெப்கோக்_கையாளி.PY
import hmac, hashlib, os, time
from flask import Flask, request, abort

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

@app.post("/webhooks/payment")
def receive():
    raw = request.get_data()  # RAW bytes - do not parse first
    sig = request.headers.get("X-Blockchain0x-Signature", "")
    ts = request.headers.get("X-Blockchain0x-Timestamp", "")
    # Header is "t=<unix>,v1=<hex>"; some proxies send bare hex + the ts header.
    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:
        abort(401)
    if request.headers.get("X-Blockchain0x-Event-Type") == "payment.received":
        run_followup_for(request.get_json())  # USDC landed - do the work
    return "ok", 200

இது உண்மையான அல்காரிதம்: HMAC-SHA256 t.rawBody என்ற சரத்திற்கேற்ப, ஒரு நிலையான நேர ஒப்பீடு, மற்றும் 300-செகண்ட் மீண்டும் விளையாட்டு ஜன்னல். கச்சா உடலைப் படிக்கவும் (request.get_data()), request.get_json() மறுபடியும்-சீரமைக்காதீர்கள், ஏனெனில் அது கையொப்பம் மூடுகிற பைட்டுகளை மாற்றுகிறது. கட்டமைப்பு: கைப்பற்றலுக்கு ஒரு வேலை (Celery, RQ, Redis பட்டியல்) enqueue செய்யவும், இது CrewAI ஐ உண்மையாக இயக்குகிறது. கைப்பற்றலில் crew.kickoff() ஐ அழைப்பது சில நிமிடங்கள் எடுக்கலாம் மற்றும் HTTP கோரிக்கையை நேரம் முடிக்கலாம்.

ஒரு கருவி, அல்லது ஐந்து முழுவதும்

குழுவிற்கு முழு கருவிச் செட்டையும் அல்லது ஒரு கருவியையும் வழங்குங்கள்.

create_blockchain0x_toolset ஐந்து tools அனைத்தையும் திருப்பிக் கொடுக்கிறது: blockchain0x_send_payment, blockchain0x_settle_invoice, blockchain0x_get_wallet, blockchain0x_list_wallets, மற்றும் blockchain0x_get_transaction. ஒரு crew-க்கு payment மட்டுமே தேவைப்பட்டால், அதை ஒரே factory மூலம் அந்த ஒரு tool மட்டும் கொடுக்கவும்.

SINGLE_TOOL.PY
from blockchain0x_crewai import create_payment_tool

pay = create_payment_tool(client)
# amount_wei is USDC base units: 6 decimals, so 10000 = 0.01 USDC.
pay.run(agent_id="agt_123", to="0xRecipient", amount_wei="10000")

Per-capability factories என்பது create_payment_tool, create_invoice_tool, create_wallet_tool, create_wallets_list_tool, மற்றும் create_transaction_tool. Source மற்றும் testnet எடுத்துக்காட்டுகள் the Python SDK repo இல் உள்ளன; CrewAI support matrix the docs இல் உள்ளது.

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

ஒரு குழுவில் பில்லிங் இணைக்கும் போது கவனிக்க வேண்டிய ஐந்து விஷயங்கள்.

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

PITFALL 1

தவறான எஜெண்டில் வாலெட் கருவிகளை வைக்கவும்

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

PITFALL 2

தொடர்ச்சி மற்றும் அடிப்படைக் கட்டமைப்புகள்

CrewAI வரிசைப்படி (இயல்பாக) மற்றும் அடுக்குமுறை செயல்பாட்டை ஆதரிக்கிறது. அடுக்குமுறை மூலம், ஒரு மேலாளர் முகவர் குழுவை ஒழுங்குபடுத்துகிறது. மேலாளருக்கு பணப்பை கருவிகளை ஒப்படைக்க அனுமதிக்கப்பட்டால், அது எந்த கீழ்மட்டத்திற்கும் வழங்கலாம், இது செலவீன அதிகாரத்திற்கு நீங்கள் விரும்பாதது. கருவிகளை ஒரு குறிப்பிட்ட முகவரியில் வைத்திருக்கவும் மற்றும் வரிசைப்படி இயக்கவும், அல்லது மேலாளரின் ஒப்படைப்பு விதிகளை கட்டுப்படுத்தவும்.

PITFALL 3

பணப்பரிவர்த்தனை நிலையை பணியாளரின் சூழ்நிலையிலிருந்து வாசிக்கிறது

உள்ளீட்டு ஒத்திசைவு அசிங்க் ஆக உள்ளது. ஆராய்ச்சி பணியில் செலுத்தும் பணியை அதன் சூழலில் பட்டியலிடும் (சரி) ஆனால் LLM பின்னர் அந்த சூழலிலிருந்து இறுதி செலுத்தல் நிலையைப் படிக்க முயல்கிறது (சரி இல்லை, உறுதிப்படுத்தல் பின்னர் webhook மூலம் வருகிறது), நீங்கள் குழப்பமான வெளியீட்டைப் பெறுகிறீர்கள். கீழே உள்ள வேலைக்கு webhook-ஐத் தூண்டிய சிக்னல் மூலம் கட்டுப்படுத்துங்கள், பணியின் சூழலில் அல்ல. CrewAI இன் பணியின் மீண்டும் அழைப்புகள் சரியான ஹுக் ஆக இருக்கின்றன.

PITFALL 4

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

blockchain0x_send_payment takes 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". CrewAI passes tool inputs through as-is, so a Python float arrives as a float and the SDK rejects it - but the error reads like a CrewAI tool error, which throws off first integrators. Pass a string.

PITFALL 5

Webhook கையாளுநர் குழு செயல்முறைக்கு வெளியே

உங்கள் webhook handler பொதுவாக crew runtime-இன் ஒரு பகுதி அல்ல, மாறாக ஒரு தனி Flask அல்லது FastAPI process ஆகும். crew தன் kickoff()-ஐ முடித்து திரும்புகிறது; payment settle ஆன பிறகு webhook பின்னர் வருகிறது. webhook எழுதும் மற்றும் crew அடுத்த run-இல் படிக்கும் queue அல்லது database row மூலம் இரண்டையும் இணைக்கவும். webhook-ஐக் காத்திருக்க crew-ஐ உயிருடன் வைத்திருக்க வேண்டாம் - CrewAI runs இயல்பாகவே குறுகிய காலத்துக்கானவை.

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

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

இது CrewAI Flows (புதிய கிராப் அடிப்படையிலான செயல்பாடு) உடன் செயல்படுமா?

ஆம். create_blockchain0x_toolset தரநிலையிலான CrewAI கருவிகளை திருப்புகிறது, எனவே அவை பழைய Crew + Task கட்டமைப்புகளில் மற்றும் CrewAI Flow இன் @start/@listen மாதிரிகளில் வேலை செய்கின்றன. ஓட்டத்தில், பணம் செலுத்துதல் அல்லது நிலைநிறுத்தும் படியை வேலை படிகளுக்கு முன்பு ஒரு தனிப்பட்ட நிதி அதிகாரி படியில் வைக்கவும், உங்கள் வெப்கோக் கையாளி பகிர்ந்த நிலையைப் புதுப்பித்தவுடன் ஒரு ஓட்ட நிகழ்வில் வேலை படிகள் கேட்கவும்.

அதே குழு பல கட்டணப் பணிகளை ஒரே நேரத்தில் இயக்க முடியுமா?

ஆம். payments.create (blockchain0x_send_payment சுற்றுப்புறமாக இருக்கும்) ஒரு நிலையான Idempotency-Key ஐ தானாகவே உருவாக்குகிறது, எனவே மீண்டும் முயற்சிக்கப்படும் சமர்ப்பிப்பு ஒரு தனி சங்கிலி பரிவர்த்தனையாகக் குறைகிறது, இரட்டை கட்டணம் செலுத்துவதற்குப் பதிலாக. நீங்கள் ஒவ்வொரு பணத்தை நகர்த்தும் ஒரே நேரத்தில் தொடக்கங்களை விரிவாக்கினால், ஒவ்வொன்றுக்கும் தனித்துவமான நோக்கம் (தனித்துவமான பெறுநர்கள் அல்லது மெட்டாடேட்டா) வழங்குங்கள், எனவே அவை ஒருவருக்கொருவர் நகலாகக் காணப்படுவதில்லை. நீங்கள் செயல்முறைகளுக்கிடையில் குறுக்கீட்டை நிர்வகிக்கவில்லை.

குழு ரசீதுகளை தீர்க்க முடியுமா, மற்றும் ஒரு பணத்தை திருப்பி பெறும் கருவி உள்ளதா?

இது ஒத்திசைக்கலாம்: blockchain0x_settle_invoice நீங்கள் டாஷ்போர்டில் உருவாக்கிய ஒரு செலுத்தல் கோரிக்கையை ஒத்திசைக்கிறது மற்றும் on-chain ஆதாரத்தை பதிவு செய்கிறது (tx hash, payer, உறுதிப்படுத்தப்பட்ட USDC அளவு). திருப்பி செலுத்தும் உதவியாளர் இல்லை - அந்த அடையாளம் இல்லை. நிதிகளை திருப்புவதற்கு, நிதியாளர் blockchain0x_send_payment உடன் செலுத்துபவருக்குப் புதிய USDC செலுத்தலை அனுப்புகிறார். செலவீன அதிகாரம் ஒரே இடத்தில் இருக்கும் வகையில் அதை நிதியாளர் வேலையில் வைத்திருக்கவும்.

உங்கள் குழுவிற்கு ஒரு செலுத்தல் பங்கு சேர்க்கவும்.

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