Dekodowanie transakcji SCW

W przypadku portfeli z kontraktami smart (SCW) zamiany przebiegają zupełnie inaczej niż w tradycyjnych portfelach Ethereum/EVM. Ta różnica może być myląca, szczególnie gdy coś pójdzie nie tak. Ale gdy zrozumiesz kluczowych uczestników procesu — i to, jak czytać co się stało krok po kroku w aplikacji i na explorerze — wszystko zaczyna mieć sens.

Przejdźmy przez to wszystko razem.


Od jednego stuknięcia do wykonania on-chain: co faktycznie się dzieje

Kiedy stukasz „Swap” w aplikacji, wydaje się to jedną akcją. W rzeczywistości uruchamiasz wielowarstwowy proces oparty na abstrakcji konta Ethereum (ERC-4337). Twoja transakcja nie trafia prosto na blockchain jak w zwykłym portfelu. Zamiast tego robi objazd:

  1. Budujemy trasę. Prosimy silnik trasowania (jak 1inch) o znalezienie najlepszej ścieżki dla twojej zamiany i symulujemy ją, aby upewnić się, że zadziała. Szacujemy gas, sprawdzamy, czy masz tokeny, i pakujemy instrukcje w specjalny format: UserOperation.

  2. A bundler wchodzi do akcji. To podmiot poza łańcuchem odpowiedzialny za przesyłanie UserOperationów do blockchaina. Sprawdza twoją operację, upewnia się, że jest bezpieczna, i przedpłaca za ciebie gas (później otrzymuje zwrot).

  3. Twój UserOp wchodzi na blockchain przez EntryPoint kontrakt smart. Pomyśl o EntryPoint jak o jednej bramie, przez którą przechodzą wszystkie transakcje SCW. EntryPoint uruchamia ostateczne kontrole, a jeśli wszystko wygląda dobrze…

  4. Każe twojemu Smart Contract Wallet (SCW) wykonać zamianę. Twój SCW wywołuje router (np. 1inch), router wywołuje pule, tokeny się przemieszczają, a wynik trafia z powrotem do twojego portfela.

Podsumowując: stukasz swap → my symulujemy → bundler wysyła → EntryPoint waliduje → twój SCW wykonuje.


Spójrzmy na prawdziwy przykład

Teraz, gdy rozumiemy ogólny przepływ, zobaczmy jak to wygląda w rzeczywistej zamianie — najpierw w aplikacji, potem on-chain:

Oto co widzimy:

  • Wymieniliśmy 1 USDC na 0,765 KTA.

  • Zamiana została wykonana na Base (zobacz ikonę Base nad ikonami monet).

  • Zapłaciliśmy:

    • 0,03 USD za gas (w ETH)

    • 0,22% opłaty za zamianę dla goodcryptoX

    • 0,05% opłaty routera dla 1inch

  • Trasa była prosta: 100% przez pulę Uniswap v4.

  • Bundler: Alchemy (zobacz Krok 2 powyżej dla przypomnienia)

  • Linki do explorerów: pojawiają się, jeśli transakcja dotarła do blockchaina i została zarejestrowana w bloku (nawet jeśli się nie powiodła)

Jak na razie wszystko dobrze. Teraz kliknijmy w link BaseScan i zobaczmy, jak ta transakcja wygląda on-chain:

Od: to nie jest twój portfel — to bundler Alchemy. To oczekiwane: bundler przesłał transakcję.

Do: EntryPoint (v0.6.0). Ponownie, oczekiwane. Wszystkie transakcje SCW wchodzą przez tutaj.

Transakcje wewnętrzne: Pokazuje przepływy natywnego tokena blockchaina (ETH na Base) w ramach transakcji. Tutaj widzimy przepływ ETH:

  • Nasz portfel (…0A5) wysłał ETH na opłatę gas do EntryPoint.

  • EntryPoint zwrócił bundlerowi faktyczny koszt gazu (ponieważ bundler przedpłacił gas za ciebie - zobacz Krok 2 powyżej). Każde pozostałe ETH zostaje na EntryPoint jako twój depozyt na przyszłe transakcje.

Przelewy ERC-20: to pokazuje rzeczywiste ruchy tokenów:

Nasz portfel nie wysłał USDC bezpośrednio. Zamiast tego kontrakt tokena USDC (…2A8) przetworzył i wykonał wszystkie transfery USDC. To normalne — w sieciach EVM transfery tokenów obsługiwane są przez sam kontrakt tokena po otrzymaniu instrukcji od portfela smart contract.

  1. Kontrakt USDC wysłał nasze 1 USDC do trzech miejsc:

    • 0,0022 USDC do portfela opłat naszego protokołu (…608A)

    • 0,0005 USDC do portfela opłat 1inch (…1DE5)

    • Pozostałe 0,9973 USDC do routera Uniswap v4 (…Universal Router)

  2. Router Uniswap v4 przekazał je do Pool Managera Uniswap v4 (pojedynczy kontrakt obsługujący wszystkie pule v4).

  3. Pool Manager wykonał zamianę: USDC in → KTA out.

  4. KTA zostało skierowane z powrotem przez Aggregation Router 1inch, który przekazał je do naszego portfela (…0A5).


🧩 Jak odczytać nieudaną transakcję SCW

Następnie zobaczymy, co się dzieje, gdy coś nie idzie gładko — bo w świecie SCW często tak bywa. I gdy transakcje się nie powiodą, pomaga wiedzieć gdzie szukać i co robić:

Podobnie jak w przypadku udanej zamiany, możesz prześledzić nieudaną — i zwykle dowiedzieć się dokładnie, dlaczego się nie powiodła. Sztuczka polega na rozpoczęciu od tego, co pokazuje aplikacja, a następnie głębszym sprawdzeniu w explorerze, jeśli to konieczne.


Krok 1: Sprawdź szczegóły zamówienia w goodcryptoX

Last updated