
Najważniejsze informacje
- Gas limit określa maksymalną ilość gazu, jaką może zużyć jedna transakcja lub kontrakt.
- Jest zapisywany w bloku i decyduje, czy transakcja zostanie przyjęta do sieci.
- Za niski limit powoduje odrzucenie transakcji, za wysoki - niepotrzebne wydatki.
- Typowe limity: prosta transakcja - ok. 21000 gazu, kontrakt ERC‑20 - 50000‑100000 gazu.
- Optymalizacja limitu wymaga znajomości operacji EVM i monitorowania cen gazu.
Sieć Ethereum to platforma blockchain umożliwiająca tworzenie i wykonywanie smart kontraktów. Każde działanie w tej sieci wymaga opłaty - tak zwanej gaz. Gas limit to maksymalna liczba jednostek gazu, które dana transakcja może zużyć. Bez niego sieć nie wie, ile zasobów przydzielić i czy warto ją przetworzyć.
Definicja gas limit
Gas limit to po prostu liczbowy limit określający, ile gazu (a więc i ile pracy maszynowej) może wykonać wirtualna maszyna EVM podczas przetwarzania jednej transakcji. Jest on zapisywany w ``payload`` transakcji i weryfikowany przez każdy węzeł. Gdy rzeczywiste zużycie gazu przekroczy podany limit, transakcja zostaje przerwana, a wszystkie zmiany - w tym przeniesione tokeny - są cofnięte.
Dlaczego gas limit jest ważny?
Trzy podstawowe powody:
- Bezpieczeństwo sieci: ogranicza możliwość wywołania nieskończonych pętli i ataków DoS.
- Kontrola kosztów: użytkownik sam decyduje, ile chce wydać na konkretną operację.
- Wydajność: węzły nie muszą poświęcać nadmiarowych zasobów na nieopłacalne transakcje.
Jak ustawia się gas limit w praktyce?
Większość portfeli i interfejsów (MetaMask, Trust Wallet, MyEtherWallet) podpowiada domyślny limit, ale warto go rozumieć.
- Określ typ operacji: prosta transakcja (przelew ETH) wymaga 21000 gazu.
- Jeśli wywołujesz funkcję smart kontraktu, sprawdź dokumentację - zwykle podaje szacowany zużycie.
- Ustaw limit nieco wyżej niż szacowany zużycie, aby mieć margines bezpieczeństwa (np. +10‑20%).
- W razie odrzucenia transakcji z powodu "exceeds gas limit", zwiększ limit i wyślij ponownie.

Typowe wartości gas limit w różnych scenariuszach
Operacja | Typowy gas limit | Uwagi |
---|---|---|
Przelew ETH | 21000 | Najmniejsze zużycie, stałe |
Wymiana tokenów ERC‑20 | 50000‑100000 | Zależne od liczby tokenów i logiki kontraktu |
Deploy nowego smart kontraktu | 200000‑1200000 | Wielkość kodu oraz inicjalne zmienne wpływają na koszt |
Odwołanie funkcji złożonej (np. DAO) | 150000‑300000 | Operacje z pętlami i wieloma zapisem do stanu zwiększają koszt |
Co się dzieje, gdy gas limit jest za niski?
Transakcja zostaje odrzucona, a użytkownik nie płaci za jej wykonanie - ale „zużyty" gaz zostaje spalony. W praktyce widzisz komunikat typu "out of gas". Co ważne, nie otrzymujesz zwrotu tokenów, które miałyby zostać przeniesione, dlatego lepiej przyznać nieco margines.
Optymalizacja kosztów - jak nie przepłacać?
Parę sprawdzonych trików:
- Używaj smart kontraktów zoptymalizowanych pod względem liczby operacji zapisu (każdy zapis kosztuje 20000 gazu).
- Wybieraj momenty z niższą ceną gazu - można obserwować wskaźnik ``gasPrice`` w explorerach.
- Wielokrotne wywołania jednej funkcji grupuj w jedną transakcję (batching).
- Wykorzystuj protokoły L2 (Arbitrum, Optimism) - tam limity i koszty są znacznie niższe.

Najczęstsze pułapki i jak ich unikać
Nowicjusze popełniają trzy typowe błędy:
- Ustawianie zbyt wysokiego limitu: nie szkodzi, ale blokuje środki w portfelu aż do zatwierdzenia transakcji.
- Bagowanie przy zmianach sieci: po przejściu z mainnetu na testnet wartości limitów mogą się różnić.
- Ignorowanie errorów EVM: niektóre kontrakty zwracają specyficzne kody, które wskazują, że limit jest niewystarczający - warto je odczytać.
Podsumowanie
Gas limit to kluczowy parametr każdej operacji w Ethereum. Zrozumienie jego roli pozwala uniknąć niepotrzebnych strat, zwiększa bezpieczeństwo i przyspiesza rozwój aplikacji blockchain. Pamiętaj o wyznaczaniu realistycznych limitów, monitorowaniu cen gazu i korzystaniu z optymalizacji L2 - to prosta droga do płynnego korzystania z sieci.
Najczęściej zadawane pytania
Dlaczego domyślny gas limit w portfelach wynosi 21000?
21000 gazu to minimalny koszt najprostszej transakcji - przekazania ETH z jednego adresu na drugi. Wszystkie inne operacje wymagają dodatkowych instrukcji, więc limit musi być wyższy.
Czy mogę zwiększyć gas limit po wysłaniu transakcji?
Nie. Transakcja jest nieodwracalna po jej zakodowaniu i rozesłaniu. Jeśli limit był zbyt niski, musisz wysłać nową transakcję z wyższym limitem.
Jak sprawdzić rzeczywiste zużycie gazu po wykonaniu transakcji?
W explorerze (np. Etherscan) znajdziesz pole „Gas Used by Transaction”. Tam widać dokładną liczbę jednostek gazu, które zostały spalone.
Czy wyższy gas limit zawsze oznacza szybsze potwierdzenie?
Nie. Szybkość zależy od gas price. Wyższy limit przy niskiej cenie nie przyspieszy włączenia do bloku.
Czy warto korzystać z L2, aby oszczędzić na gazie?
Tak. Rozwiązania warstwy drugiej (Arbitrum, Optimism, zkSync) znacznie obniżają koszty oraz podnoszą limity, co jest szczególnie przydatne przy złożonych smart kontraktach.