10-minutowa orientacja w Ethereum

Celem tego przewodnika jest jak najszybsze zanurzenie się w Web3, tak abyś miał kontekst i podstawową wiedzę potrzebną do rozpoczęcia nauki i programowania.

Dlaczego Blockchain?

Jeśli dopiero zaczynasz przygodę z kosmosem, może nie być jasne, co „zdecentralizowany Internet” oferuje programiście. Pomyśl o publicznym łańcuchu bloków, takim jak Ethereum, jako definiującym wyraźny „stan” – i źródło prawdy – dla każdego, kto w nim uczestniczy, dostępny dla każdego, kto ma połączenie z Internetem, system, który wykorzystuje siłę protokołu open source i nadmiarowość sieci peer-to-peer, aby zachować zaufanie i bezpieczeństwo. Zamiast wymagać od każdego programisty aplikacji tworzenia i utrzymywania całego stanu aplikacji na prywatnych serwerach, wiele z nich można przechowywać i pobierać z publicznego łańcucha bloków. Powszechny, zaufany i bezpieczny backend.

Jest to możliwe dzięki unikalnym cechom bazy danych blockchain. Tylko do zapisu: tam, gdzie typowa baza danych może dodawać i usuwać rekordy, dane w łańcuchu bloków istnieją na zawsze i nie można ich usunąć. Sieć węzłów utrzymuje tę bazę danych jako „rozproszoną księgę” i ma ścisłe protokoły dotyczące tego, kto ma pozwolenie na pisanie w danym czasie. Jednym z interesujących aspektów tej technologii jest sposób, w jaki uprawnienia do zapisu są rozdzielane między węzły, które mogą nie wymagać specjalnych uprawnień do przyłączenia się. Gdybyś utworzył swój własny publiczny węzeł Ethereum, miałbyś dostęp do całej sieci: pod warunkiem, że wykonałeś „dowód pracy” wymagany do uzyskania przywileju pisania węzła, zanim zrobił to jakikolwiek inny węzeł.. 

Najlepszym i typowym przykładem działania technologii blockchain jest łatwość wysyłania i odbierania kryptowaluty. Publiczna księga Ethereum umożliwia deweloperowi wdrażanie bram płatniczych bez banków, kont i innych pośredników. 

Deweloper może stworzyć własny token Ethereum bez konieczności tworzenia infrastruktury potrzebnej użytkownikom do handlu nimi. Platforma gier online może tokenizować przedmioty w grze, a użytkownicy mogą kupować te tokeny i wymieniać je poza platformą oraz posiadać je oddzielnie od samej platformy do gier. Oprócz wymiany przedmiotów do wykorzystania w grze cyfrowe kolekcje mają ogromny potencjał na przyszłość. Wraz ze wzrostem popularności e-sportu możesz mieć cyfrowo tokenizowany odpowiednik „piłki do biegania w domu”.

Dzięki temu, że każdy użytkownik ma własną parę kluczy publiczny / prywatny, uwierzytelnianie użytkownika jest znacznie prostsze, ponieważ aplikacje muszą tylko sprawdzić, czy użytkownik może podpisywać transakcje swoim kluczem prywatnym.

Inteligentne kontrakty mogą służyć do tworzenia programowalnych pieniędzy. Rozważmy podstawowe zastosowanie programowalnej inteligentnej umowy w celu rozwiązania sytuacji, w której dwóch właścicieli mieszkania chce podzielić płatności czynszu najemcy w proporcji 50/50. Zwykle najemca musiałby zapłacić osobno każdemu właścicielowi lub zapłacić jednemu właścicielowi lub agentowi, a właściciel lub agent wypłaciłby pieniądze. Chociaż ta sytuacja nie jest szczególnie problematyczna, rozważ ukryte zaufanie wymagane od jednej osoby do zapewnienia drugiej części swojego udziału. Porównaj to z prostą inteligentną umową, która programowo dzieli wszystkie przychodzące fundusze i wysyła je na adres każdego właściciela. Najemca musi tylko wysłać swój czynsz na ten adres, a każdy właściciel natychmiast otrzyma swój udział. Ze względu na bezpieczeństwo i niezmienność łańcucha bloków, takiego jak Ethereum, każdy właściciel może mieć pewność, że inteligentny kontrakt będzie działał zgodnie z życzeniem i może przeprowadzić audyt swojego kodu. 

Mając już cyfrowy kręgosłup zaufania zapewniany przez blockchain, możemy również zastosować korzyści płynące z programowania do ważnych problemów społecznych. Możemy świadczyć usługi bankowe w kilku linijkach kodu. Potwierdzamy tożsamość kilkoma kliknięciami. Wszystko z protokołem, który może działać na prawie każdym komputerze w dowolnym miejscu na świecie.

Ponieważ przestrzeń jest nowa i rozwijająca się, deweloperzy mają wiele możliwości tworzenia nowych rodzajów narzędzi, aplikacji i systemów oraz opracowywania nowatorskich przypadków użycia tej technologii..

Rozwiązanie w poszukiwaniu problemu?

Powszechnym refrenem w krytyce technologii blockchain jest to, że jest to rozwiązanie w poszukiwaniu problemu. Można argumentować, że cyfrowa waluta była pierwszą zabójczą aplikacją blockchain, a Distributed Finance lub DeFi ma być następną, a pełny zakres zastosowania tej technologii jest obecnie nieznany i jest jednym z głównych powodów, dla których deweloperzy w kosmosie bycie częścią jest ekscytujące. Przez ponad dekadę technologia laserowa nie miała widocznego zastosowania, dopóki badacze, eksperymentatorzy i przedsiębiorcy nie byli w stanie zastosować jej w zupełnie nieoczekiwany sposób. Chociaż ten sam argument można zastosować w odniesieniu do każdej nowej technologii, masowe rozpowszechnienie cyfrowej waluty i ponad 350 miliardów dolarów obecnie zawartych w rozproszonych, niezarządzanych, zdecentralizowanych łańcuchach bloków, jest dość niezwykłe. 

Podstawowa struktura aplikacji rozproszonych 

Rozproszona aplikacja to, ogólnie rzecz biorąc, taka, która łączy się z łańcuchem bloków gdzieś w swoim stosie i prawdopodobnie w jakiś sposób ma fundamentalne znaczenie dla jej działania. Aplikacje rozproszone są połączeniem zwykłych systemów front i backend, które można znaleźć w aplikacji internetowej, ale będą korzystać z biblioteki, takiej jak web3.js, do łączenia się z siecią Ethereum. Niektóre aplikacje rozproszone są całkowicie rozpowszechniane: żyją całkowicie w sieciach rozproszonych.

Po stronie użytkownika, MetaMask to popularna wtyczka, która zarządza portfelem Ethereum użytkowników. MetaMask zapewnia interfejs dla użytkownika do podpisywania transakcji i potwierdzania swojej „tożsamości”.


Dana rozproszona aplikacja może łączyć się z blockchainem Ethereum, a także z portfelem MetaMask użytkownika (lub innym portfelem) w celu uwierzytelnienia. 

Połączenie z Ethereum 

Zwykle, aby współdziałać z Ethereum, musisz obsługiwać węzeł. Węzeł to podstawowa część struktury łańcucha bloków, peer, który łączy się z innymi rówieśnikami, tworząc zdecentralizowaną strukturę. Protokół jest królem w publicznej sieci głównej: nie ma centralnego serwera, żadnych uprawnień ani ograniczeń co do tego, kto może obsługiwać węzeł. Istnieje tylko wspólny protokół dla wszystkich uczestniczących węzłów.

Wielu programistów aplikacji wolałoby nie uruchamiać własnego węzła Ethereum, więc usługi takie jak Infura istnieje, aby zapewnić bramę i API dla Ethereum, z których mogą korzystać programiści.

Inteligentne kontrakty

Podczas gdy sieć Bitcoin jest jednym z najbardziej znanych łańcuchów bloków, Ethereum ma zestaw funkcji, który jest bardziej ekscytujący dla programistów, ponieważ zawiera maszynę wirtualną kompletną w technologii Turing, która może uruchamiać małe programy zwane inteligentnymi kontraktami. W rezultacie Ethereum ma najsilniejszą i najbardziej aktywną społeczność programistów spośród wszystkich ekosystemów blockchain. 

Inteligentne kontrakty działają na węzłach i wykorzystują transakcje jako dane wejściowe i wyjściowe. Inteligentne kontrakty znajdują się pod adresami w łańcuchu bloków, tak samo jak adres konta użytkownika. Aby wejść w interakcję z inteligentną umową, wystarczy wysłać do niej transakcję wraz z danymi wejściowymi. 

Gaz

Uruchamianie inteligentnego kontraktu wymaga gazu, niewielkiego kosztu, który rekompensuje operatorom węzłów usługę wykonania inteligentnego kontraktu, jednocześnie zmniejszając częstość występowania spamu (zwiększając jego koszt) i zapobiegając nieskończonemu zapętlaniu się źle zakodowanych inteligentnych kontraktów i blokowaniu sieci.

Mainnet, Testnets, Other Networks

Sieć główna w języku blockchain odnosi się do podstawowej aktywnej sieci dla danego protokołu. W przypadku Ethereum, mainnet jest miejscem wymiany rzeczywistej wartości i jest uważany za źródło prawdy. Jednak każda grupa węzłów może utworzyć własną sieć. Sieci testowe służą społeczności programistów, oferując znacznie mniejsze sieci, w których Eth i Gas są bezpłatne, dzięki czemu programiści mogą testować swoje projekty i kod bez ryzyka. Sieci testowe Ethereum noszą nazwy Ropsten, Kovan, Rinkeby i Görli.

Sieci Ethereum są również używane w aplikacjach korporacyjnych: sieci wykonane na zamówienie, które działają na podstawie zezwolenia (w przeciwieństwie do sieci głównych i testowych bez zezwolenia) w celu ułatwienia transakcji i innych operacji między niewielką grupą organizacji (na przykład). Sieci te mają znacznie mniej węzłów i zwykle służą do określonego celu. Na przykład duże banki mogą wykorzystywać blockchain do rozliczeń międzybankowych.

Rozwój w Ethereum

Rozwój w Ethereum generalnie najpierw odbywa się na lokalnych, tworzonych w domu łańcuchach bloków. Programiści mogą swobodnie używać czegoś takiego jak geth, oprogramowanie wiersza poleceń, które umożliwia tworzenie sieci Ethereum. Ale to jest jak programowanie w języku niskiego poziomu: ułatwiając, pakiet Truffle spełnia wiele potrzeb programistów. Ganache, część pakietu, znacznie ułatwia programistom uruchomienie lokalnej sieci blockchain w celu przetestowania ich aplikacji, oferując „łańcuch bloków za jednym kliknięciem” do celów programistycznych, wraz z narzędziami wiersza poleceń. Drizzle pomaga w programowaniu front-end, a Truffle sama w sobie jest platformą ułatwiającą tworzenie i wdrażanie inteligentnych kontraktów.

Interakcja z samym łańcuchem bloków wymaga użycia API (takiego jak web3.js) i dostępu do węzła; zamiast obsługiwać własne węzły, wielu programistów będzie korzystać z usługi takiej jak Infura jako API Ethereum.

Języki inteligentnych umów

Obecnie najpopularniejszym językiem do kodowania inteligentnych kontraktów jest Solidność. Ten podobny do javascript język jest dość łatwy do opanowania przez nowych programistów, zwłaszcza tych z doświadczeniem w kodowaniu stron internetowych. Remiks to internetowe IDE, które pozwala programistom eksperymentować z tworzeniem inteligentnych kontraktów. Jest wiele ważnych szczegółów do nauczenia się dla programistów inteligentnych kontraktów, ponieważ inteligentne kontrakty w sieci głównej działają na rzeczywistej wartości i są niezmienne po wdrożeniu (chociaż istnieją metodologie programowania, które w tym pomagają).

Pełny stos

Podobnie jak w przypadku wszystkich nowoczesnych programów do tworzenia stron internetowych, istnieje wiele opcji komponentów używanych na różnych poziomach stosu. Więcej szczegółów znajdziesz w zawsze aktualnym stosie blockchain.

Prosty stos projektów

Oto typowy zestaw narzędzi programistycznych, których możesz użyć w prostym projekcie:

NPM 

Menedżer pakietów węzłów, część node.js

Struktura trufli

Zestaw narzędzi ułatwiających programowanie

Nadzienie

Z frameworka Truffle, używanego do uruchamiania prywatnego łańcucha blokowego na własnym komputerze

MetaMask

Interfejs użytkownika i brama do Ethereum; to wtyczka do przeglądarki i aplikacja mobilna, z którą Twoja aplikacja może się łączyć, umożliwiając użytkownikom podpisywanie transakcji i wykonywanie innych zadań.

Solidność

Popularny język programowania dla inteligentnych kontraktów

HTML / CSS / JS

Dla Twojego front-endu

Web3.js

Biblioteka API Ethereum umożliwiająca połączenie i interakcję z siecią Ethereum

Infura

Usługa API Ethereum, która zapewnia programistom dostęp do sieci Ethereum bez konieczności uruchamiania własnego węzła

Jeśli jesteś gotowy, aby rozpocząć, nasz 3-etapowy przewodnik zawiera bardziej szczegółowe informacje, dzięki czemu możesz szybko rozpocząć korzystanie z łańcucha bloków..

    Wdrażanie programistów: krok 1Wprowadzenie programisty Krok 1

    Wdrażanie programistów: krok 1

    Wdrażanie programistów: krok 2Wprowadzenie do programu krok 2

    Wdrażanie programistów: krok 2

    Wdrażanie programistów: krok 3Wprowadzenie do programu krok po kroku 3

    Wdrażanie programistów: krok 3
Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map