Zrozumieć ERC20

Zrozumieć ERC20

W tym artykule założono, że czytelnik jest już zaznajomiony przynajmniej z następującymi pojęciami: blockchain Ethereum, dapps, eter, inteligentne kontrakty & ICO.

Aby szybko zmienić, blockchain Ethereum jest rozproszoną platformą obliczeniową opartą na blockchainie typu open source. Ta platforma obliczeniowa, sieć Ethereum, obsługuje zdecentralizowane aplikacje (dapps), które są wykonywane za pomocą fragmentów kodów zwanych inteligentnymi kontraktami; wszystkie transakcje w sieci Ethereum, a także koszty obliczeniowe wykonywania inteligentnych kontraktów są opłacane w eterze kryptowalut Ethereum.

Niektóre, ale nie wszystkie, z tych dappów (zdecentralizowanych aplikacji) wymagają dodatkowej waluty w dapp – te dappi wprowadzają nową walutę, nazwany token i zbierają fundusze poprzez wstępną ofertę monet (ICO).

Platforma blockchain Ethereum jest zbudowana w taki sposób, że zachęca do wszelkiego rodzaju dapsów – w tym tych, które wymagają tworzenia, utrzymania & przenoszenie zasobów cyfrowych. Te specyficzne dla dapp tokeny Ethereum można zaimplementować w celu stworzenia sieci dappów ze znaczącymi przypadkami użycia, takimi jak faktoring faktur, płatności w całej przeglądarce, & kartę debetową w kryptowalutach.

Wszystkie wspomniane wcześniej pomysły są obecnie działającymi tokenami dapp opartymi na Ethereum, które są zgodne z bardzo popularnym standardem programowania tokenów; w rzeczywistości 99% wszystkich wdrożonych tokenów Ethereum jest zgodnych z tym standardem, standardem ERC20.

Standard tokenów ERC20, który oznacza Ethereum Requests for Comment, to standardowy zestaw „reguł” programowania, których powinien przestrzegać każdy token oparty na Ethereum. Deweloperzy zgodzili się na te sześć funkcji & dwa zdarzenia jako minimalny realny token w celu znormalizowania oczekiwanych zachowań podczas komunikacji w sieci Ethereum – ustanawiając ten protokół, programiści Ethereum mogą łatwo współpracować z zewnętrznymi inteligentnymi kontraktami.

Przedstawiamy Solidity

Chociaż najpopularniejszy Ethereum klient jest obecnie napisane Google’s GO, możliwości wyboru języka inteligentnych kontraktów przyjaznych dla programistów są liczne. Programiści mogą wybierać spośród języków, takich jak Vyper, Bambus, Wąż & Solidność.

W pozostałej części tego artykułu będziemy podkreślać & solucja Składnia Solidity.

Solidity to język programowania wysokiego poziomu zorientowany na umowy, używany do wdrażania inteligentnych kontraktów. Dla osób zaznajomionych z programowaniem składnia Solidity to mieszanka Javascript, Python, & Koncepcje C; jest statycznie typowany, obsługuje dziedziczenie & ma wiele bibliotek od samego początku. Więcej informacji na temat Solidity można znaleźć w dokumentacji znajdującej się tutaj: https://solidity.readthedocs.io/en/develop/#

Przewodnik po interfejsie ERC20

Zaczniemy głębiej zagłębiać się w to, co dokładnie & sposób implementacji tego standardu w sieci Ethereum – jak wspomniano wcześniej, omówimy to szczególnie w składni Solidity.

W Ethereum-land wszystko się zaczyna & kończy się kontrakty. Dokumentacja Solidity definiuje kontrakty jako „zbiór kodu (jego Funkcje) & dane (jego stan), które znajdują się pod określonym adresem w łańcuchu bloków Ethereum ”. Umowy Ethereum obsługują dziedziczenie – więc umowa może być przykładem innej umowy.


Zgodnie z tą logiką abstrakcyjna umowa, która jest używana wyłącznie do dziedziczenia, może być również używana jako zabezpieczenie przed awarią, definiując, czym jest nowa umowa musieć zawierać w celu skompilowania. Te abstrakcyjne umowy są również znane jako umowy dotyczące interfejsu.

Oznacza to, że żadna umowa na token, która jest instancją ERC20, nie jest kompilowana bez następujących elementów; w przeciwieństwie do tego oznacza to, że programiści Ethereum wiedzą teraz, jakie funkcje & zachowania, których mogą się spodziewać podczas interakcji z dowolnym tokenem ERC20.

Standard ERC20 to umowa dotycząca interfejsu zawierająca łącznie sześć wykonywalnych funkcji & dwa zdarzenia logowania.

Dodatek

Funkcja Allowance pozwala na dwa adresy w celu utworzenia powtarzającego się transferu jednokierunkowego; adres portfela tokenOwner & sekunda wydawca portfela są zdefiniowane jako dwa portfele, które będą angażować się w powtarzające się transakcje. W szczególności wydawca portfela wycofa się trochę kwota z tokena portfelaOwner na trochę interwał – obie są zmiennymi, które zostaną określone później.

Zatwierdzać

Jeśli chodzi o funkcję Zatwierdź, wróć do naszej funkcji Przyznanie: funkcja pozwala na wielokrotne, jednokierunkowe wycofywanie dwóch adresów. Funkcja Zatwierdź, trafnie nazwana, jest prostą standardową funkcją, która wzywa właściciela portfela do „zatwierdzenia” transakcji, która ma zostać dokonana w jego imieniu w kontekście ulgi. Ta funkcja wymaga dwóch danych wejściowych, adresu wydającego & ilość wysyłanych tokenów. Dane wyjściowe zwracają publiczną wartość logiczną, która określa, czy zatwierdzono, czy odrzucono.

BalanceOf

BalanceOf to intuicyjna funkcja, która akceptuje pojedynczy parametr wejściowy adresu (właściciel tokenu adresu) & zwraca pojedynczą publiczną stałą (saldo uint). Zwrócona stała uint, balance, reprezentuje ilość tokenów przechowywanych przez zapytany adres – pamiętaj, transakcje na łańcuchu bloków są zwykle publiczne, Ethereum nie jest inne.

TotalSupply

Funkcja totalSupply, jak zapewne można się domyślić z nazwy, jest anonimową funkcją konstruktora, która została uruchomiona tylko raz w pierwszym momencie wdrażania w działającej sieci Ethereum. Funkcja zwraca publiczną stałą totalSupply nieprzypisaną liczbę całkowitą (uint), która działa jako całkowita podaż tokenów przez pozostałą część życia kontraktu. Ta stała totalSupply jest zwykle definiowana na dwa sposoby: zakodowanie zmiennej na stałe lub finansowanie z portfela źródłowego.

Transfer

Funkcja transferu jest podstawową funkcją każdego tokena ERC20; to definiuje & realizuje bezpośrednio portfel-właściciel-peer przesyłanie tokena. Ponieważ właściciele portfeli wykonują to połączenie, wymagane są tylko dwa parametry: adres odbiorcy & ilość wysyłanych tokenów. Te dwa parametry są zwykle inicjowane jako (adres do) & (żetony uint). Wartość zwracana przez Transfer to po prostu wartość logiczna, która potwierdza, czy odbiorca (adres „do”) odebrał wysłane tokeny.

Przenieść z

Funkcja TransferFrom umożliwia inteligentny kontrakt aby wykonać transfer z przekazanymi parametrami w imieniu właściciela portfela. Ostrożnie dokonaj rozróżnienia od poprzedniego Przenieśfunkcja r. Poprzednia funkcja dopuszczała rozszerzenie właściciel portfela aby bezpośrednio wysyłać tokeny na adres; to Przenieść z pozwala na inteligentny kontrakt do wysyłania tokenów w imieniu właścicieli portfeli, takich jak wypełnienie zlecenia na giełdzie, terminowe uwolnienie środków lub wypłata naszych wygranych w grze szczęścia.

Plik Przenieść z funkcja ma trzy parametry wejściowe, adres właściciela portfela, adres portfela odbiorcy, & ilość wysłanych tokenów. Często są inicjowane w następującej składni: (adres od, adres do, tokeny uint). Dane wyjściowe funkcji są dokładnie takie same, jak dane wyjściowe Transfer: pojedyncza publiczna wartość logiczna opisująca powodzenie lub niepowodzenie transakcji.

Podsumowanie

Sześć opisanych powyżej funkcji to sześć podstawowych funkcji, które można znaleźć w 99% wszystkich aktualnie działających tokenów ERC20. Z kilkoma wyjątkami (patrząc na ciebie Golem), programiści Ethereum mogą czuć się bezpiecznie, wiedząc, że mogą w pełni oczekiwać tych podstawowych funkcji podczas opracowywania kontraktów wewnętrznych lub podczas interakcji z zewnętrznymi kontraktami publicznymi na wolności.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map