acedatacloud ist für API-Aufrufe verantwortlich, acedatacloud-x402 ist für das Auschecken des PAYMENT-SIGNATURE Anfrage-Headers verantwortlich.
Quellcode und Paketadressen:
- SDK-Repository: https://github.com/AceDataCloud/SDK
- X402 Client Repository: https://github.com/AceDataCloud/X402Client
- PyPI SDK: https://pypi.org/project/acedatacloud/
- PyPI X402 Client: https://pypi.org/project/acedatacloud-x402/
Abhängigkeiten installieren
upto verwenden möchten, müssen Sie auch einmalig das Permit2 approve CLI aufrufen, das von web3 abhängt:
acedatacloudundacedatacloud-x402können beide von PyPI installiert und importiert werden.pip install 'acedatacloud-x402[cli]'bringt dasapprove-permit2CLI mit, das für die Vorabgenehmigung vonuptoverwendet wird.
Base oder SKALE Beispiel
Das folgende Beispiel benötigt kein API-Token. Der private Schlüssel der Brieftasche wird nur lokal signiert und nicht an Ace Data Cloud gesendet.dict zurück, daher verwendet das Beispiel res["choices"][0]["message"]["content"]. Gehen Sie nicht davon aus, dass es immer das Attribut .choices hat.
Ergebnis der SKALE bezahlten Anrufausführung:
- Das Programm hat die 402-Analyse, die
PAYMENT-SIGNATURE-Signatur und den ursprünglichen Anfrage-Wiederholungsversuch abgeschlossen. content ADC_PY_SDK_X402_OKist der feste String, den das Modell tatsächlich zurückgibt, was bedeutet, dass die Anfrage über die X402-Zahlungskette in die Ziel-API eingegangen ist.id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPzist die ID der Chat-Vervollständigungsantwort.
Solana Beispiel
Solana verwendet einen base58-kodierten geheimen Schlüssel:TransferChecked-Transaktion konstruieren und einreichen und dann die Transaktionssignatur in das PAYMENT-SIGNATURE-Envelope einfügen.
Die Solana bezahlte Wiederholung hat auf der Produktions-API HTTP 200 und ADC_SOLANA_E2E_OK zurückgegeben. Bei dieser öffentlichen RPC-Abfrage gab es eine Drosselung, die eine stabile Bestätigung der On-Chain-Signatur verhinderte; wenn Sie eine Abrechnung benötigen, verwenden Sie bitte Ihre eigene Solana RPC, um diese Transaktion abzufragen.
Async-Client
Der gleiche Zahlungs-Handler kann fürAsyncAceDataCloud verwendet werden:
Verwendung von upto für nachträgliche Abrechnung
Die tatsächlichen Kosten von API-Anfragen wie Chat-Vervollständigungen und Modellaufrufen sind möglicherweise erst nach Abschluss der Antwort bekannt. Zu diesem Zeitpunkt kann die API sowohl exact als auch upto zurückgeben. Wenn Sie upto priorisieren möchten:
upto-Programm-Ausführung:
content ADC_BASE_UPTO_OKzeigt an, dass die Anfrage tatsächlich in die Modell-API eingegangen ist.settled value 3 atomic USDCzeigt an, dassuptonach tatsächlichem Verbrauch abgerechnet wurde und nicht den gesamten Höchstbetrag abgezogen hat.settlement txkann auf BaseScan geöffnet werden; speichern Sie beim Abgleichen tx hash, payer, completion id und Anfragezusammenfassung.
upto verwendet Permit2, um ein Limit zu genehmigen, der tatsächlich abgerechnete Betrag darf dieses Limit nicht überschreiten. Vor der ersten Verwendung müssen Sie eine approve(Permit2, amount) auf USDC auf der Zielkette durchführen.
CLI-Methode:
{"skipped": true} zurückgegeben, und es wird keine wiederholte On-Chain-Transaktion gesendet.
Niedrigere Signatur
Wenn Sie das SDK nicht verwenden, können Sie auch direkt die niedrigstufigen Signaturfunktionen aufrufen:create_x402_payment_handler verwenden.
