acedatacloud odpowiada za wywołania API, a acedatacloud-x402 odpowiada za podpisywanie nagłówka żądania PAYMENT-SIGNATURE.
Adresy źródłowe i pakietów:
- Repozytorium SDK: https://github.com/AceDataCloud/SDK
- Repozytorium klienta X402: https://github.com/AceDataCloud/X402Client
- PyPI SDK: https://pypi.org/project/acedatacloud/
- PyPI klient X402: https://pypi.org/project/acedatacloud-x402/
Instalacja zależności
upto, musisz również jednorazowo wywołać CLI Permit2 approve, który zależy od web3:
acedatacloudiacedatacloud-x402można zainstalować i zaimportować z PyPI.pip install 'acedatacloud-x402[cli]'doda CLIapprove-permit2, używaną do autoryzacji przedupto.
Przykład Base lub SKALE
Poniższy przykład nie wymaga tokena API. Klucz prywatny portfela jest podpisywany lokalnie i nie jest wysyłany do Ace Data Cloud.dict, więc przykład używa res["choices"][0]["message"]["content"]. Nie zakładaj bezpośrednio, że na pewno ma atrybut .choices.
Wynik działania programu dla płatności SKALE:
- Program zakończył 402 analizę, podpisywanie
PAYMENT-SIGNATUREi ponowne próby oryginalnego żądania. content ADC_PY_SDK_X402_OKto stały ciąg zwracany przez model, co oznacza, że żądanie przeszło przez płatności X402 do docelowego API.id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPzto identyfikator odpowiedzi dla tego zakończenia czatu.
Przykład Solana
Solana używa klucza tajnego zakodowanego w base58:TransferChecked, a następnie umieści podpis transakcji w kopercie PAYMENT-SIGNATURE.
Płatność retry Solana na produkcyjnym API zwróciła HTTP 200 i ADC_SOLANA_E2E_OK. Podczas publicznego zapytania RPC wystąpiły ograniczenia, nie potwierdzono stabilnie podpisu na łańcuchu; w przypadku potrzeby rozliczenia użyj własnego RPC Solana, aby sprawdzić tę transakcję.
Klient asynchroniczny
Ten sam handler płatności można używać wAsyncAceDataCloud:
Użycie upto do pomiaru po zakończeniu
Rzeczywisty koszt API, takiego jak uzupełnienie czatu czy wywołanie modelu, może być znany dopiero po zakończeniu odpowiedzi. W tym momencie API może jednocześnie zwrócić exact i upto. Jeśli chcesz priorytetowo używać upto:
upto w Base:
content ADC_BASE_UPTO_OKoznacza, że żądanie rzeczywiście dotarło do API modelu.settled value 3 atomic USDCoznacza, żeuptozostało rozliczone według rzeczywistego zużycia, a nie pełnego limitu.settlement txmożna otworzyć w BaseScan, podczas rozliczenia zapisz hash tx, płatnika, identyfikator zakończenia i podsumowanie żądania.
upto używa Permit2 do autoryzacji limitu, a rzeczywista kwota rozliczenia nie może przekroczyć tego limitu. Przed pierwszym użyciem należy wykonać approve(Permit2, amount) dla USDC na docelowym łańcuchu.
Sposób CLI:
{"skipped": true}, nie wysyłając ponownie transakcji na łańcuchu.
Niskopoziomowe podpisy
Jeśli nie używasz SDK, możesz bezpośrednio wywołać niskopoziomowe funkcje podpisywania:create_x402_payment_handler.
