Skip to main content
Python SDK nadaje się do usług backendowych, zadań danych, automatycznych agentów i skryptów wsadowych. acedatacloud odpowiada za wywołania API, a acedatacloud-x402 odpowiada za podpisywanie nagłówka żądania PAYMENT-SIGNATURE. Adresy źródłowe i pakietów:

Instalacja zależności

Jeśli chcesz używać upto, musisz również jednorazowo wywołać CLI Permit2 approve, który zależy od web3:
Wynik instalacji i sprawdzenia importu w czystym środowisku Python venv:
Wyjaśnienie wyników:
  • acedatacloud i acedatacloud-x402 można zainstalować i zaimportować z PyPI.
  • pip install 'acedatacloud-x402[cli]' doda CLI approve-permit2, używaną do autoryzacji przed upto.

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.
Aktualnie Python SDK zwraca 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:
Wyjaśnienie wyników:
  • Program zakończył 402 analizę, podpisywanie PAYMENT-SIGNATURE i ponowne próby oryginalnego żądania.
  • content ADC_PY_SDK_X402_OK to stały ciąg zwracany przez model, co oznacza, że żądanie przeszło przez płatności X402 do docelowego API.
  • id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPz to identyfikator odpowiedzi dla tego zakończenia czatu.
Podczas korzystania z SKALE wystarczy zmienić nazwę sieci:

Przykład Solana

Solana używa klucza tajnego zakodowanego w base58:
Ścieżka Solana skonstruuje i złoży transakcję SPL USDC 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ć w AsyncAceDataCloud:

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:
Wynik działania programu dla upto w Base:
Potwierdzenie na łańcuchu:
Wyjaśnienie wyników:
  • content ADC_BASE_UPTO_OK oznacza, że żądanie rzeczywiście dotarło do API modelu.
  • settled value 3 atomic USDC oznacza, że upto zostało rozliczone według rzeczywistego zużycia, a nie pełnego limitu.
  • settlement tx moż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:
Sposób programowy:
Ten helper jest idempotentny. Jeśli allowance jest już wystarczające, zwróci {"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:
Niskopoziomowe funkcje są odpowiednie do testowania, warstwy pośredniej, integracji bramki lub nieoficjalnego SDK. Zwykły kod biznesowy powinien priorytetowo korzystać z create_x402_payment_handler.