முக்கிய உள்ளடக்கத்திற்கு தவிர்க்கவும்
அர்த்தமுள்ள கேர்னல் ஒருங்கிணைப்பு

சேமாண்டிக் கர்னல் கட்டண ஒருங்கிணைப்பு.

Semantic Kernel தொகுப்பு தேவை இல்லை. உண்மையான blockchain0x கிளையனை KernelFunction (Python அல்லது Java) இல் சுற்றி விடுங்கள், அல்லது C# KernelFunction இல் இருந்து REST API ஐ அழைக்கவும். எது வழியிலும் முகவர் Base இல் USDC ஐ நகர்த்துகிறது.

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

Semantic Kernel தொகுப்பு இல்லை. Python இல் நீங்கள் உண்மையான blockchain0x கிளையைக் @kernel_function உடன் அலங்கரிக்கப்பட்ட முறையில் சுற்றி வைத்திருக்கிறீர்கள்; C# இல், எந்த .NET SDK களும் அனுப்பப்படவில்லை, [KernelFunction] REST API ஐ நேரடியாக அழைக்கிறது. உங்கள் கர்னலில் அதை பதிவு செய்யவும், FunctionChoiceBehavior ஐ Auto ஆக அமைக்கவும், மற்றும் முகவர் Base இல் USDC ஐ நகர்த்த முடியும். அனுப்பிய மைய SDK கள் Node, Python, Ruby, Go, மற்றும் JVM ஆகும்.

ஏன் SEMANTIC KERNEL

ஒரே நிறுவன தரத்திற்கேற்ப .NET முகவர் கட்டமைப்பு.

உங்கள் அடுக்குகள் Microsoft வடிவத்தில் இருந்தால் (Azure, .NET, SQL Server, Teams, Copilot Studio), Semantic Kernel சரியான எஜெண்ட் கட்டமைப்பாக இருக்க almost உறுதி. இது Microsoft மூலம் கட்டப்பட்டது, Azure OpenAI, AKS மற்றும் Entra உடன் ஒருங்கிணைக்கிறது, மற்றும் இது .NET, Python மற்றும் Java இல் முதன்மை ஆதரவு வழங்குகிறது, மற்ற எந்த கட்டமைப்பும் பொருந்தாது. மேலும், இது உங்களுக்கு தேவைப்படும் விஷயத்தை வழங்குகிறது: ஒரு KernelFunction என்பது ஒரு முறை, எனவே செலுத்தல்களை இணைப்பது நீங்கள் எழுதும் முறை, நீங்கள் காத்திருக்கும் தொகுப்பு அல்ல.

அதற்காக Semantic Kernel இணைப்பை நிறுவுவதற்கான எதுவும் இல்லை. Python மற்றும் Java இல் நீங்கள் உண்மையான blockchain0x SDK ஐ KernelFunction இல் சுற்றி வைக்கிறீர்கள்; C# இல், .NET SDK இன்னும் வழங்கப்படவில்லை, KernelFunction நேரடியாக HttpClient உடன் REST API ஐ அழைக்கிறது. நீங்கள் சொற்பொழிவியல் எர்கோனமிக்களை வைத்திருக்கிறீர்கள் - அலங்கரிக்கப்பட்ட முறைகள், async, பண்பாட்டு அடிப்படையிலான அளவீட்டு சரிபார்ப்பு - மற்றும் கண்காணிக்க எந்த இணைப்புப் பதிப்பு இல்லை. இன்று உள்ள முதன்மை SDK கள் Node, Python, Ruby, Go மற்றும் JVM.

நிறுத்துதல்

Semantic Kernel ஐ நிறுவவும் மற்றும் Python இல், மைய SDK ஐ நிறுவவும்.

சேர்க்க blockchain0x Semantic Kernel தொகுப்பு இல்லை. Python Semantic Kernel ஐ நிறுவுகிறது மற்றும் உண்மையான blockchain0x SDK ஐ; C# Microsoft.SemanticKernel ஐ நிறுவுகிறது மற்றும் உள்ளமைக்கப்பட்ட HttpClient உடன் REST API ஐ அழைக்கிறது. Java Semantic Kernel ஐ Java க்காகவும் com.blockchain0x:sdk-jvm SDK ஐப் பயன்படுத்துகிறது.

நிறுத்தவும் - PYTHON
pip install semantic-kernel blockchain0x
INSTALL - .NET (Semantic Kernel மட்டும்)
dotnet add package Microsoft.SemanticKernel
சூழல் மாறிகள்
BLOCKCHAIN0X_API_KEY=sk_test_...   # sk_test_ = Base Sepolia, sk_live_ = Base mainnet
BLOCKCHAIN0X_API_KEY=sk_test_...             # same key, the name the .NET REST example reads
OPENAI_API_KEY=sk-...

BLOCKCHAIN0X_API_KEY (Python client இதை வாசிக்கிறது) என்பது உங்கள் dashboard-இல் உள்ள sk_test_ testnet அல்லது sk_live_ mainnet key; C# REST example அதே மதிப்பை BLOCKCHAIN0X_API_KEY-இலிருந்து வாசிக்கிறது. OPENAI_API_KEY (அல்லது Azure-hosted models-க்கு AZURE_OPENAI_*) உங்கள் LLM key ஆகும். webhook handler-க்கு கூடுதலாக BLOCKCHAIN0X_WEBHOOK_SECRET தேவைப்படுகிறது.

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

ஒரு பணப்பை KernelFunction, Python மற்றும் C# இல்.

Python உண்மையான blockchain0x கிளையைக் @kernel_function என்ற அலங்காரத்துடன் ஒரு முறையில் சுற்றி வைக்கிறது. C#, எங்கு .NET SDK கள் அனுப்பப்படவில்லை, HttpClient உடன் நேரடியாக POST /v1/payments ஐ அழைக்கும் [KernelFunction] ஐ வெளிப்படுத்துகிறது. இரண்டும் Wallet.send_usdc என்ற பெயரில் கர்னலில் பதிவு செய்கின்றன; சுற்றியுள்ள விழா மட்டும் மாறுபடுகிறது.

PYTHON (plugin.py)
from semantic_kernel import Kernel
from semantic_kernel.functions import kernel_function
from blockchain0x import Client

blockchain0x = Client()  # reads BLOCKCHAIN0X_API_KEY from the environment

class WalletPlugin:
    @kernel_function(description="Send a USDC payment from an agent wallet.")
    def send_usdc(self, agent_id: str, to: str, amount_wei: str) -> str:
        # amount_wei is USDC base units (6 decimals): "10000" = 0.01 USDC
        return str(
            blockchain0x.payments.create(body={"agentId": agent_id, "to": to, "amountWei": amount_wei})
        )

kernel = Kernel()
kernel.add_plugin(WalletPlugin(), plugin_name="Wallet")
# Add your chat service, then let the model call Wallet.send_usdc.
.NET (WalletPlugin.cs)
using System.ComponentModel;
using System.Net.Http.Json;
using Microsoft.SemanticKernel;

// There is no .NET SDK, so a C# KernelFunction calls the REST API directly.
public class WalletPlugin
{
    private static readonly HttpClient Http = new()
    {
        BaseAddress = new Uri("https://api.blockchain0x.com"),
    };

    [KernelFunction, Description("Send a USDC payment from an agent wallet. amountWei is USDC base units (6 decimals).")]
    public async Task<string> SendUsdc(string agentId, string to, string amountWei)
    {
        Http.DefaultRequestHeaders.Authorization =
            new("Bearer", Environment.GetEnvironmentVariable("BLOCKCHAIN0X_API_KEY"));
        var res = await Http.PostAsJsonAsync("/v1/payments", new { agentId, to, amountWei });
        return await res.Content.ReadAsStringAsync();
    }
}

// builder.Plugins.AddFromType<WalletPlugin>("Wallet");

Register the function on the kernel, set FunctionChoiceBehavior to Auto, and when the user's message implies a payment the model calls Wallet.send_usdc with the agent id, recipient, and amount. amountWei is base units, so 0.01 USDC is "10000". The Python path returns the SDK result; the C# path returns the REST response body.

WEBHOOK கையாளுதல்

செலுத்தல் நிகழ்வுகளை பெறுவதற்கான ASP.NET Core குறைந்தபட்ச API.

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

வெப்கோக்.CS
using System.Security.Cryptography;
using System.Text;
using Microsoft.AspNetCore.Builder;

var app = WebApplication.CreateBuilder(args).Build();
var secret = Environment.GetEnvironmentVariable("BLOCKCHAIN0X_WEBHOOK_SECRET")!;

app.MapPost("/webhooks/payment", async (HttpRequest req) =>
{
    using var reader = new StreamReader(req.Body);
    var raw = await reader.ReadToEndAsync(); // RAW body - verify before parsing
    var sig = req.Headers["X-Blockchain0x-Signature"].ToString();
    var ts = req.Headers["X-Blockchain0x-Timestamp"].ToString();

    var parts = sig.Split(',').Select(p => p.Split('=', 2))
        .Where(p => p.Length == 2).ToDictionary(p => p[0], p => p[1]);
    var t = parts.GetValueOrDefault("t", ts);
    var v1 = parts.GetValueOrDefault("v1", sig);

    var want = Convert.ToHexString(new HMACSHA256(Encoding.UTF8.GetBytes(secret))
        .ComputeHash(Encoding.UTF8.GetBytes($"{t}.{raw}"))).ToLowerInvariant();
    var fresh = Math.Abs(DateTimeOffset.UtcNow.ToUnixTimeSeconds() - long.Parse(t)) <= 300;
    if (!fresh || !CryptographicOperations.FixedTimeEquals(
            Encoding.UTF8.GetBytes(want), Encoding.UTF8.GetBytes(v1)))
        return Results.Unauthorized();

    if (req.Headers["X-Blockchain0x-Event-Type"] == "payment.received")
        await RunFollowupAsync(); // USDC landed - do the next step
    return Results.Ok();
});

app.Run();

அல்காரிதம் t.rawBody என்ற சரத்தில் HMAC-SHA256 ஆக உள்ளது, 300-நிமிட மறுபடியும் விளையாட்டு ஜன்னல், மற்றும் ஒரு நிலையான நேர ஒப்பீடு. கையொப்பம் intact ஆக இருக்க StreamReader மூலம் கச்சா உடலைப் படிக்கவும்; பிறகு மீண்டும்-மீள்பெயரிடாதீர்கள். அனுப்பப்பட்ட நிகழ்வுகள் payment.received, payment.sent, wallet.deployed, மற்றும் webhook.test ஆக உள்ளன. உற்பத்தியில், வலைப்பின்னல் பெரும்பாலும் முகவரியுடன் தரவுத்தளத்தைப் பகிரும் தனித்துவமான ASP.NET Core சேவையாக இயக்கப்படுகிறது, எனவே இரண்டும் ஒருங்கிணைக்க முடியும்.

மூலமும் ஆவணங்களும்

SDK கள் மற்றும் REST மேற்பரப்பு திறந்தவையாக உள்ளன. அவற்றைப் படிக்கவும்.

Clone செய்ய Semantic Kernel starter package இல்லை - மேலே உள்ள recipes-தான் integration. blockchain0x core SDKs (Node, Python, Ruby, Go) GitHub-இல் open source ஆக உள்ளன, மேலும் அவற்றின் method surface மற்றும் C# example அழைக்கும் REST routes docs-இல் ஆவணப்படுத்தப்பட்டுள்ளன.

docs.blockchain0x.com/docs/overview

SDK method surface மற்றும் REST routes ஆகியவை the docs இல் ஆவணப்படுத்தப்பட்டுள்ளன. Base Sepolia-வில் sk_test_ key-யுடன் தொடங்கி, பின்னர் KernelFunction நீங்கள் எதிர்பார்த்ததைச் செய்ததும் sk_live_ க்கு மாற்றவும்.

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

தவிர்க்க வேண்டிய ஐந்து Semantic Kernel-சிறப்பு சிக்கல்கள்.

சேமாண்டிக் கர்னலின் பிளக்கின் மாதிரி சுத்தமாக உள்ளது ஆனால் மொழி மாறுபாடு மற்றும் நடத்தை-இயல்பான சிக்கல்கள் உள்ளன. அவற்றைப் முன்னதாகவே அறிந்து கொள்வது நேரத்தைச் சேமிக்கிறது.

PITFALL 1

எந்த மொழியிலும் Semantic Kernel தொகுப்பு இல்லை

NuGet, PyPI, அல்லது Maven அடிப்படையாளர் இல்லை. அனுப்பிய மைய SDK கள் Node, Python, Ruby, Go, மற்றும் JVM ஆகும் - .NET இல்லை. எனவே, ஒரு Python கர்னல் blockchain0x Python கிளையைக் @kernel_function இல் சுற்றி வைத்திருக்கிறது, ஒரு Java கர்னல் com.blockchain0x:sdk-jvm SDK ஐப் பயன்படுத்துகிறது, மற்றும் ஒரு C# கர்னல் REST API ஐ நேரடியாக KernelFunction (மேலே காட்டப்பட்டது) இல் அழைக்கிறது. மூன்றும் சில வரிகள்.

PITFALL 2

FunctionChoiceBehavior ஆட்டோ ஆக இருக்க வேண்டும்

Semantic Kernel செயல்பாட்டு செயல்பாட்டு அமைப்புகளில் FunctionChoiceBehavior Auto ஆக அமைக்கப்பட்டால் மட்டுமே பிளக்-இன் செயல்பாடுகளை அழைக்கிறது. இயல்புநிலை None ஆக உள்ளது, எனவே பயனர் எவ்வளவு தெளிவாக கேட்டாலும், மாதிரி உங்கள் வாலெட் செயல்பாட்டை அழைக்காது. எஜெண்ட் செயல்பாட்டை முற்றிலும் புறக்கணித்தால், இதை முதலில் சரிபார்க்கவும்.

PITFALL 3

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

The payments call takes amountWei: a string of USDC base units (6 decimals), so 0.01 USDC is "10000" and 5 USDC is "5000000". Type the function argument as a string in any language. payments.create also does not retry by default and can answer 503 until the chain adapter is wired for your network - return a clear message rather than letting the agent loop.

PITFALL 4

முகவரிகளுக்கு இடையே பிளக்-இன் அளவுகோல்

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

PITFALL 5

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

மூல கோரிக்கையின் உடலை வாசிக்கவும் மற்றும் மறுபெயரிடுவதற்கு முன்பு சரிபார்க்கவும் - HMAC சரியான பைட்டுகளை மூடுகிறது, எனவே ஒரு பகுப்பாய்வு-பின்னர்-மறுபெயரிடும் சுற்றுப்பயணம் அதை உடைக்கிறது. கீழே உள்ள .NET கையாளி ஆவணமிடப்பட்ட ஆல்காரிதத்தை செயல்படுத்துகிறது: HMAC-SHA256 t.rawBody இல், 300-வினாடி ஜன்னல், மற்றும் நிலையான நேர ஒப்பீடு. Python மற்றும் Java தங்கள் சொந்த HMAC நூலகங்களுடன் ஒரே வழியில் சரிபார்க்கின்றன.

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

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

நிறுத்துவதற்கு ஒரு Semantic Kernel தொகுப்பு உள்ளதா (NuGet, PyPI, அல்லது Maven)?

இல்லை. சரியான வழி உங்கள் மொழியைப் பொறுத்தது. Python Semantic Kernel மேலே காட்டப்பட்டபடி உண்மையான blockchain0x Python client-ஐ ஒரு @kernel_function-இல் மூடுகிறது. Java Semantic Kernel ஒரு KernelFunction-இல் com.blockchain0x:sdk-jvm SDK-ஐ பயன்படுத்துகிறது. C# மற்றும் மற்ற .NET மொழிகளுக்கு blockchain0x SDK இல்லை - வழங்கப்பட்ட core SDKs Node, Python, Ruby, Go, மற்றும் JVM - எனவே .NET KernelFunction REST API-ஐ நேரடியாக அழைக்கிறது, இதுவும் மேலே காட்டப்பட்டுள்ளது. வழங்கப்பட்ட framework packages என்பது blockchain0x-langchain மற்றும் blockchain0x-crewai (Python) plus @blockchain0x/mcp server மட்டுமே.

.NET SDK இடைவெளி ஏன் உள்ளது, இது ஒரு பிரச்சனைவா?

SDK சாலை வரைபடம் இன்று எங்கு உள்ளது: Node, Python, Ruby, Go, மற்றும் JVM அனுப்புகிறது, .NET இன்னும் இல்லை. இது ஒரு தடையல்ல. REST API என்பது HTTPS இல் உள்ள சாதாரண JSON ஆகும், மற்றும் C# KernelFunction POST /v1/payments (மேலே) ஐ அழைக்கிறது, இது HttpClient உடன் சில வரிகள். ஒரு முதன்மை .NET SDK உங்களுக்கு முக்கியமாக இருந்தால், எங்களுக்கு சொல்லுங்கள், நாங்கள் அதை தேவைக்கு எதிராக அளவீடு செய்வோம்.

இது Agent Framework மற்றும் Microsoft 365 Copilot உடன் வேலை செய்கிறதா?

ஆம். வாலெட் செயல்பாடு ஒரு சாதாரண Semantic Kernel செயல்பாடு ஆகும், எனவே இது ஒற்றை ChatCompletionAgent ஓட்டங்களில் மற்றும் AgentGroupChat ஒழுங்குபடுத்தல்களில் வேலை செய்கிறது - அதை கட்டண முகவரியின் கெர்னலில் மட்டும் பதிவு செய்யவும் மற்றும் மற்றவர்கள் பணம் நிலைநிறுத்திய பிறகு வேலை செய்ய அனுமதிக்கவும். Semantic Kernel ஐ அடிப்படையில் இயக்கும் Microsoft 365 Copilot நீட்டிப்புகள் அதே வழியில் அதை பதிவு செய்யலாம்; உங்கள் சொந்த UI உடன் பயனருக்கு பணத்தை மேற்பரப்பில் காட்டவும். Copilot-குறிப்பிட்ட தொகுப்பு இல்லை; இது அதே செய்முறை.

உங்கள் SK முகவருக்கு செலுத்தலைச் சேர்க்கவும்.

உண்மையான கிளையன்ட் அல்லது REST API இல் ஒரு KernelFunction, நிறுவுவதற்கு எந்த பேக்கேஜும் இல்லை. தொடங்குவதற்கு இலவசம்.