Są rzeczy jakie nie śniły się nawet filozofom. Na przykład jak jednym kliknięciem dokonać transakcji na krypto, na tej giełdzie, na której będzie to dla nas najbardziej korzystne.  Dziś opowiemy sobie o zdecentralizowanym ucieleśnieniu tej wizji.

1inch.exchange, bo o tym projekcie mowa, to zautomatyzowany agregator ofert dla zdecentralizowanych giełd na Ethereum. Zbiera on oferty z różnych zdecentralizowanych giełd i zawiera dla Ciebie transakcję na tej, gdzie będzie to dla Ciebie najkorzystniejsze. Ponieważ wszystko jest oparte o smart contracty, to transakcji dokonujesz bezpośrednio ze swojego portfela. Dosłownie w moment, przy pomocy kilku kliknięć.

Dosyć już gadania, zobaczmy jak to działa w praktyce. Po wejściu na adres projektu 1inch.exchange od razu wita nas formularz do dokonania handlu:

Jednak zanim wybierzemy co na co będziemy wymieniać, to połączmy się z giełdą za pomocą naszego portfela. Tak jak w ma to miejsce na omawianej parę miesięcy temu giełdzie Uniswap, jest to jedyna format rejestracji / logowania. Żadnego KYC, nie musimy podawać nawet maila. Po prostu łączymy się naszym portfelem Ethereum. A tych 1inch obsługuje naprawdę sporo. O czym przekonamy się na kolejnym ekranie, który wyświetli się po kliknięciu w któryś z zaznaczonych strzałkami guzików Connect wallet.

Jak widzimy obsługiwanych jest aż 10 różnych portfeli. To najprawdopodobniej największa różnorodność, jaką do tej pory widziałem w dappsach. My jednak wybieramy starego, sprawdzonego Metamaska. Różne dappsy obsługują różne portfele, ale jeszcze nie spotkałem takiego, który nie obsługiwał Metamaska. Można więc śmiało stwierdzić, że jest to pewnego rodzaju standard. Pozwoli nam on skorzystać z właściwie dowolnej zdecentralizowanej aplikacji opartej na Ethereum. Dlatego ja klikam w zaznaczoną strzałką ikonkę liska Metamaska. Ty możesz wybrać inny portfel. Pamiętaj tylko, że wtedy te elementy korzystania z 1inch, kiedy jesteś przekierowany do portfela, będą u Ciebie inaczej wyglądać.

Jeśli łączysz się Metamaskiem z 1inch po raz pierwszy, to wyskoczy Ci okienko z prośbą o potwierdzenie chęci nawiązania połączania. Kliknij tam guzik połącz, po czym portfel będzie już połączony z aplikacją. 

Po połączeniu z portfelem możemy teraz przejść do formularza służącego do przeprowadzania handlu:

Zanim omówię oznaczone tutaj pola, zwrócę jeszcze uwagę, że w przypadku 1inch, podobnie jak to miało miejsce w Uniswap, przeprowadzamy transakcję tu i teraz, po obecnej cenie rynkowej. Nie mamy tutaj możliwości złożenia zlecenia na przyszłość, aby ono zrealizowało się przy określonej cenie. 

Przejdźmy teraz do opisu poszczególnych elementów powyższego formularza:

  1. Lista, z której wybieramy, który token z naszego portfela chcemy sprzedać / wymienić. W pierwszej kolejności zostaną nam wyświetlone tokeny, które znajdują się na naszym portfelu. 1inch obsługuje handel Etherem (ETH) oraz tokenami ERC-20.
  2. Pole, w którym wpisujemy ilość naszego tokenu, który chcemy sprzedać / wymienić. Nad tym polem znajduje się informacja o maksymalnej dopuszczalnej ilości (na podstawie salda naszego portfela). A pod spodem znajduje się przybliżona wartość tej ilości tokenu, wyrażona w dolarach.
  3. Na tej liście wybieramy token, który chcemy uzyskać w zamian za nasz token wybrany na liście oznaczonej jako 1. Wybierając token możemy skorzystać z rozwijanej listy bądź wyszukiwarki. Wybierając token zwróćmy szczególną uwagę, czy na pewno wybraliśmy dokładnie ten token, który chcieliśmy. Szczególnie, jeśli są to tokeny wykorzystywane w DeFi. Wtedy będziemy mieli co najmniej kilka podobnych tokenów z różnymi przedrostkami (jak na przykład cDAI, iDAI, aDAI dla DAI).
  4. W tym polu system przeliczy ilość tokenu wybranego w polu 3, jaką uzyskamy w wyniku przeprowadzenia tej transakcji. Pod spodem wyświetlana jest nam przybliżona wartość tej ilości tokenu.
  5. Ten obszar zawiera informacje o DEXach, na których system szuka dla nas najlepszej oferty. Przy każdym DEXie jest przełącznik, przy pomocy którego możemy wyłączyć dany DEX z puli giełd, na której 1inch będzie szukał dla nas najlepszej oferty. Widzimy, że nad Uniswap znajduje się tekst “100%”. Jest to informacja, że najkorzystniejsze będzie wykonanie całej naszej transakcji na Uniswap i że właśnie to się stanie, jeśli naciśniemy guzik SWAP NOW (7). Są możliwe przypadki, że osiągniemy najlepszą cenę, gdy nasze zlecenie, częściowo zostanie wykonane na różnych giełdach. Wtedy przy każdej z nich zobaczymy procentową informacje na ten temat.
  6. Informacje o opcjach przeprowadzania transakcji. Możemy te opcje edytować klikając w ikonę zębatki w lewym, górnym rogu panelu. Teraz pokrótce omówimy sobie obie opcje:
    1. Max price slippage – maksymalne odchylenie ceny, które jesteśmy w stanie zaakceptować. W czasie pomiędzy wyświetleniem nam tej informacji, wysłaniem transakcji i umieszczeniem jej przez górników w bloku, ceny na giełdach mogą się zmienić. Jeśli te zmiany procentowo będą wyższe, niż określona tutaj wartość, to system odrzuci realizację transakcji, nie zostanie ona przeprowadzona
    2. Gas price – cena jaką zapłacimy za gaz. Tę opcję będziemy mogli jeszcze później edytować przy potwierdzaniu transakcji w portfelu Metamask. Im większa opłata za gas, tym szybciej nasza transakcja trafi do bloku. Tym mniejsza szansa, że cena, z której chcemy skorzystać jest nadal aktualna. Polecam korzystając z giełdy ustalać takie opłaty transakcyjne, aby nasz transakcja maksymalnie w ciągu kilku minut znalazła się w bloku. 1inch domyślnie ustawia takie wartości, aby było to możliwe. Co ciekawe, 1inch posiada tryb w którym uwzględnia opłaty transakcyjne przy kalkulowaniu ofert i wybraniu najlepszej z nich. Do tego punktu wrócimy jeszcze pod koniec tego artykuły
  7. Guzik SWAP NOW, służący do przeprowadzenie transakcji. Jeśli jako sprzedawane przez Ciebie aktywo nie wybrałeś ETH, tylko jakiś token i będzie to Twoja pierwsza transakcja tym tokenem w 1inch, to guzik ten będzie dla Ciebie nie aktywny, a nad nim będą znajdować się guziki do odblokowania tokenu:

Jest to standardowa sytuacja przy wykorzystaniu tokenów i smart cotractów na Ethereum. Zgodnie ze specyfikacją tokenów ERC-20, zanim jakikolwiek smart contract będzie mógł cokolwiek zrobić z tokenem znajdującym się na naszym portfelu, to my musimy wyrazić na to zgodę. Możemy to zrobić albo dla określonej kwoty, albo bezwarunkowo dla dowolnej ilości. Temu służy guzik UNLOCK oznaczony jako 1. Pozwoli on smart contractom 1inch jedynie na operowanie wybranym przez nas tokenem w dokładnie takiej ilości, jakiej będzie dotyczyć ta transakcje. Jeśli wybierzemy tę opcję, to przy kolejnej transakcji tym tokenem będziemy musieli wykonywać kolejny unlock. Jeśli chcemy tego uniknąć, to mamy opcje INFINITY UNLOCK (2). Ten guzik poprowadzi nas do transakcji zezwalającej 1inch na operowanej tym tokenem w dowolnych ilościach. Poniżej mamy nieaktywny guzik SWAP NOW (3). Stanie się on aktywny, po przeprowadzeniu operacji odblokowania tokenu. Aby to zrobić klikamy więc albo guzik 1 albo 2. Przechodzimy do portfela, gdzie potwierdzamy transakcje zezwolenia kontraktowi na wykorzystywanie naszego portfela:

Jak widzimy nagłówek informuje nas, że pozwalamy 1inch.exchange na wydawanie (wykorzystywanie w transakcjach) naszego tokenu.  Poniżej mamy informację o opłatach transakcyjnych. Klikamy w oznaczony strzałką guzik Potwierdź, aby wysłać tą transakcję do blockchaina na Ethereum. Gdy zostanie ona potwierdzona, to możliwe będzie dokonanie wymiany. Wracamy więc do naszego formularza do przeprowadzania handlu.

Jak widzisz, wróciłem z powrotem do wymieniania ETH, a nie tokeny PAXG. 

Pole oznaczone jako 1 to informacja o błędzie. Wynika on z tego, że ja odrzuciłem transakcję zgody na używanie mojego tokenu PAXG. Zrobiłem to dlatego, że wcale nie chce wymieniać tego tokenu. Po prostu chciałem Ci pokazać, jak wygląda odblokowywanie handlu poszczególnymi tokenami. W Twoim przypadku nie będzie więc informacji o tym błędzie. Zamiast niej może wyświetlić się na zielono informacja z adresem transakcji odblokowującej token.

Warto zwrócić uwagę na pole (2), które wyświetla ilość tokenu DAI, jaką otrzymam za 0.05 ETH. Jeśli cofniesz się do ekranu, na którym opisywałem ten formularz po raz pierwszy, to zobaczysz, że zaszła tutaj zmiana. Wcześniej mogłem dostać 7,44 DAI, a teraz 7,61 DAI. Przez te parę chwil, gdy pokazywałem Ci jak odblokowuje się tokeny, sytuacja na rynku zmieniła się. Pokazuje to, jak dynamiczny jest to rynek. Okazuje się też, że tym razem najlepsza oferta nie jest już dostępna na Uniswap, tylko na Balancer (3), gdzie zostanie przeprowadzony nasz handel.

Poniżej mamy wyświetlone opcje przeprowadzania transakcji (4). Omawialiśmy je już wcześniej, więc teraz tylko wskażemy pod (5) miejsce, w którym te opcje możemy zmienić.

Aby przeprowadzić wymianę na powyższych warunkach klikamy w oznaczony strzałkami guzik SWAP NOW.

Pojawił się panel podsumowujący naszą transakcję. 

Obszar oznaczony (1) przedstawia podsumowanie naszej wymiany. Za ile naszego tokenu dostaniemy ile drugiego tokenu.

Obszar oznaczony jako (2) zawiera informacje o kosztach przeprowadzenia transakcji. Ile maksymalnie gazu może być zużyte, ile najprawdopodobniej będzie i ile będzie to kosztować. Cenę gazu, a więc koszt transakcji, będziemy mogli jeszcze potem modyfikować przy potwierdzaniu transakcji w Metamask. Jeśli nie za bardzo rozumiesz o co chodzi z tym gazem, to odsyłam do tego tekstu.

Aby przejść do potwierdzenia transakcji w portfelu klikamy w oznaczony strzałką guzik VERIFY.

Jesteśmy na ekranie podsumowania transakcji.  Na obszarze oznaczonym jako (1) widzimy maksymalne koszty transakcyjne. Są one wysokie. Różnią się one od tego co mówił przed chwilą 1inch. Ale różnią się one głównie pozornie. 1inch bowiem podawał koszt przypuszczalnego realnego zużycia, podczas gdy Metamask zawsze podaje koszt maksymalnego możliwego zużycia. 

W obszarze (2) jest podsumowanie wartości całej transakcji. Wartość naszego handlu plus opłaty transakcyjne.

Ponieważ opłaty transakcyjne wydają mi się zbyt duże, korzystam z opcji ich edycji w Metamask. Zaznaczonej na screenie jako (3).

Tutaj decyduje się o ich zmniejszenie o połowę. Czekanie około minuty na potwierdzanie transakcji nie powinno sprawić, że moja oferta nie będzie już aktualna. Wybieram więc średni czas oczekiwania (1) i klikam guzik Zapisz (2). Guzik ten czasem może być niewidoczny w panelu Metamask. Trzeba wtedy ten panel przesunąć w dół. Jeśli bowiem nie klikniemy tego guzika, to nasze zmiany nie zostaną zatwierdzone. Po zmianach w kosztach gazu wracamy do potwierdzania transakcji:

Widzimy, że koszty transakcyjne zmniejszyły się o połowę (1). Śmiało więc teraz klikamy w guzik Potwierdź (2), aby wysłać transakcję na blockchain.

Wracamy z naszego portfela do ekranu głównego 1inch. W zaznaczonym obszarze dostajemy informacje, że nasza transakcja została wysłana i teraz czekamy na jej potwierdzenie. Klikamy sobie jej adres (na screenie oznaczony strzałką), aby zobaczyć podsumowanie naszej transakcji w serwisie etherscan:

Etherscan estymuje czas oczekiwania na potwierdzenie na 3 minut i 46 sekund (1). To mniej więcej 4 razu dłużej, niż estymował Metamask. Wynika to z faktu, że są to tylko estymaty. I powstaje one z różnych źródeł informacji na temat obecnego wykorzystania sieci. W praktyce okazało się że Metamask był tutaj bliższy prawdy.

Jako (2) widzimy szacowaną, maksymalną wartość opłat transakcyjnych.

Po chwili nasza transakcja zmienia się na potwierdzoną:

Widzimy też, że DAI są już na moim portfelu (1).

Jako (2) oznaczyłem opis naszej transakcji. Widzimy w nim jej transakcje składowe. Z których widać, że 1inch wykonał najpierw wymianę w swoim imieniu (na swój adres), by następnie przekazać jej wynik na nasz adres. 

Na dole, jako (3) oznaczony jest koszt przeprowadzenie transakcji. Wyniósł on około 11 centów. Co pokazuje, że estymata realnego zużycia gazu i kosztu przeprowadzona przez 1inch była skuteczna. Przypomnijmy, ze estymował on ten koszt na 23 centy, przy czym my potem zmniejszyliśmy cenę gazu w Metamasku o połowę.

Tutaj moglibyśmy już skończyć, transakcja została przeprowadzona. Ale jeszcze na chwilę zerkniemy sobie na tabelkę, która wyświetla nam 1inch pod formularze do przeprowadzania handlu:

Wyświetla ona informacja o opłacalności przeprowadzenia naszej wymiany na poszczególnych DEXach. Giełdy są tutaj posortowane od tej, która ma najlepszą ofertę i na której to będzie przeprowadzona nasza wymiana. Poszczególne kolumny to

  • Nazwa giełdy
  • Ilość tokenu jaką otrzymamy w wyniku wymiany
  • Estymowany realny koszt opłaty transakcyjnej
  • Różnica, o ile procent oferta danej giełdy jest gorsza od najlepszej oferty. W tej różnicy uwzględniany jest całkowity koszt przeprowadzenia transakcji. Dlatego zaznaczona giełda MultiSwap jest powyżej 0x Relays, chociaż w wyniku tradu na niej dostaniemy mniej tokenu. W wynika to z niskich kosztów transakcyjnych, które wpływają na różnice.

Uwzględnianie kosztów transakcyjnych przy przeprowadzaniu handlu jest opcjonalne. Do włączania / wyłączania tego trybu służy zaznaczona strzałką ikona kropelki:

To tyle na dzisiaj. Jeśli uważasz ten tekst za wartościowy, nie chcesz przegapić następnych, to polecam zapisać się na newsletter. Bez spamu. W każdym momencie możesz się wypisać. 

Leave a Comment