Przejdź do głównej zawartości

Dlaczego widzę błąd "EAPI:Invalid nonce" na Krakenie?

Widzisz "EAPI:Invalid nonce" na Kraken? To przez problem nonces. Używaj unikalnych, rosnących nonces dla każdego requestu API.

Pete Darby avatar
Napisane przez Pete Darby
Zaktualizowano w tym tygodniu

Gdy zobaczysz błąd "EAPI:Invalid nonce" w swoim Kraken bocie tradingowym, oznacza to, że coś jest nie tak z wartością Nonce.

Wyjaśnienie błędu Kraken

Błąd EAPI:Invalid nonce wskazuje, że żądanie API zostało odebrane z powtarzającą się lub niższą niż oczekiwana wartością nonce.

Ponieważ wartość nonce musi być unikalna i musi rosnąć z każdym żądaniem, mogą wystąpić błędy podczas próby tworzenia jednoczesnych żądań lub żądań w szybkim tempie, lub podczas próby użycia jednego klucza API dla wielu urządzeń/aplikacji/botów.

Na przykład dwa jednoczesne żądania API mogą nie dotrzeć w zamierzonej kolejności, a jeśli drugie żądanie (z wyższym nonce) dotrze przed pierwszym żądaniem (z niższym nonce), pierwsze żądanie zostanie odrzucone po jego ostatecznym dotarciu.

Ponieważ błędy z niewłaściwym nonce spowodują niepowodzenie żądań API (np. Twoje zlecenia nie zostaną złożone), błędy z niewłaściwym nonce nie powinny być po prostu ignorowane, ale powinny być poprawione poprzez ulepszenie algorytmu tworzenia nonce (zobacz rozwiązania poniżej).

Rozwiązanie błędu Kraken

  1. Utwórz wiele kluczy API:
    Na Cryptohopper, można używać 2 różnych kluczy API dla Kraken. Zawsze zalecamy używanie 2 kluczy API na Kraken dla najlepszego możliwego doświadczenia handlowego. Zawsze upewnij się, że dokładnie przeczytałeś nasz tutorial "Jak połączyć się z Kraken za pomocą kluczy API". Każdy klucz API ma swoją własną, oddzielną wartość nonce, więc kolejność, w jakiej docierają żądania API, nie byłaby już problemem.

  2. Zwiększ rozdzielczość nonce, aby umożliwić dodatkowe żądania w tym samym przedziale czasu (np. zwiększenie rozdzielczości nonce z milisekund do dziesiątych części milisekundy). Cryptohopper zaleca używanie 1000 lub 10000 jako wartości Nonce.

Czy to odpowiedziało na twoje pytanie?