dlaczego: Dlaczego warto zostać programistą Web3

Co to jest Web3

Najpierw przedstawmy, czym jest Web3.

W 2014 roku współzałożyciel Ethereum Gavin Wood po raz pierwszy zaproponował koncepcję „Web3”, która zapewniła rozwiązanie problemu Internetu wymagającego zbyt dużego zaufania.

Nie można zaprzeczyć, że scentralizowane sieci pomogły miliardom ludzi zintegrować się z Internetem i stworzyć w nim stabilną i niezawodną infrastrukturę. Ale jednocześnie kilku scentralizowanych gigantów niemal zmonopolizowało Internet i może nawet robić, co im się podoba. Web3 zwraca władzę użytkownikom w formie własności poprzez blockchain, kryptowaluty i NFT.

Web3 stał się obecnie uniwersalnym terminem reprezentującym wizję nowszego i lepszego Internetu. Chociaż trudno jest ściśle zdefiniować Web3, ogólnie ma on następujące cechy:

  • Decentralizacja: Nie kontrolowana przez scentralizowaną jednostkę, ale własność przypisana przez konstruktorów i użytkowników;

  • Nie jest wymagana żadna zgoda: każdy ma równe prawa do uczestnictwa w Web3, nikt nie jest wykluczony;

  • Bez zaufania: działa poprzez mechanizm zachęt ekonomicznych (token) bez polegania na zaufanej stronie trzeciej.

Czasy i trendy Web3

W „Kronikach wiosny i jesieni Lu” jest takie powiedzenie: „Dżentelmen planuje działać, kiedy nadejdzie czas, i postępować zgodnie z trendem”. Oznacza to, że inteligentni i dalekowzroczni ludzie będą przygotowani do szybkiego działania we właściwym czasie, wydawania osądów na podstawie aktualnej sytuacji, a następnie dokonywania zmian.

Myślę, że Web3 jest niewątpliwie trendem, ale kiedy zaczął być trendem? Niektórzy twierdzą, że było to pojawienie się Bitcoina, a niektórzy twierdzą, że było to Ethereum. Właściwie nie do końca się z tym zgadzam. Pojawienie się Bitcoina jest początkiem całej branży Web3, a pojawienie się Ethereum jest kamieniem węgielnym branży Web3. Ale tym, co naprawdę czyni Web3 „trendem”, jest eksplozja na dużą skalę branży DeFi w 2020 roku. Niech blockchain znajdzie praktyczne zastosowanie w scenariuszach finansowych.

Od 2020 r. liczba użytkowników w całej branży Web3 doświadczyła gwałtownego wzrostu. Z wyjątkiem spowolnienia rozwoju spowodowanego bessą w 2022 r., liczba użytkowników nadal rosła w pozostałych latach. Uważam, że wraz z halvingiem Bitcoina wraz z nadejściem hossy w 2024 r. liczba użytkowników będzie nadal rosła, a trendu wzrostowego nie da się zatrzymać.

W rzeczywistości widać również podejście Hongkongu do Web3. Od 2023 r. Hongkong w Chinach często wysyła przyjazne sygnały w kierunku Web3:

  • W kwietniu 2023 roku powołano Hongkong Web3 Association, aby promować rozwój ekosystemu Web3;

  • W sierpniu 2023 r. wydano „Deklarację polityczną w sprawie rozwoju zasobów wirtualnych w Hongkongu”, która wyraźnie wspierała rozwój Web3;

  • W październiku 2023 r. Chińska Komisja Regulacji Papierów Wartościowych zaktualizowała politykę regulacyjną rynku kryptowalut, aby zapewnić wytyczne dotyczące zgodności dla wirtualnych giełd aktywów;

  • W styczniu 2024 r. pierwsza partia wirtualnych giełd aktywów w Hongkongu uzyskała licencje;

  • W kwietniu 2024 r. w Hongkongu odbył się karnawał Web3, a w tym samym miesiącu rząd Hongkongu uruchomił fundusz ETF zajmujący się aktywami cyfrowymi.

Ponieważ Web3 jest trendem od 2020 roku, najlepszy czas na dołączenie do Web3 był cztery lata temu, a drugi najlepszy moment jest teraz! ! !

Programiści Web2 powinni nauczyć się Web3

Jako programista, który zetknął się z Web3 w 2020 r. i przeszedł z Web2 na Web3 w 2022 r., autor dzieli się osobistymi doświadczeniami na temat: „Dlaczego programiści Web2 powinni uczyć się Web3”.

Tak naprawdę to pytanie nie różni się od pytania: „Dlaczego programiści nie zajmujący się sztuczną inteligencją powinni uczyć się sztucznej inteligencji?”. Uważam, że jako programista musisz przede wszystkim stale się uczyć, ponieważ branża technologiczna zmienia się bardzo szybko i potrzebujesz ciągłego uczenia się, aby się uczyć. nadążaj za zmianami i zachowaj konkurencyjność.

Uczenie się dzieli się na głębokość i szerokość. Obydwa są równie ważne. Głębokość pomoże Ci stać się ekspertem w danej dziedzinie, zagłębiając się w szczegóły techniczne. Szerokość może wprowadzić nowe pomysły do ​​Twojej dziedziny zawodowej, śledząc trendy technologiczne i zdobywając wiedzę w pokrewnych dziedzinach. czyniąc pracę bardziej kreatywną.

To jest powód, dla którego warto teraz uczyć się sztucznej inteligencji i Web3. Możesz zwiększyć swój zakres techniczny, ucząc się najnowocześniejszych technologii, podobnie jak ucząc się programowania mobilnego na początku. Jednak Web3 różni się od tych dwóch tym, że brakuje mu „osobliwości”. za chwilę" ".

Pojawienie się iPhone'a doprowadziło do transformacji terminala mobilnego. iPhone to „moment osobliwości” terminala mobilnego. Pojawienie się ChatGPT otworzyło wyobraźnię AI. ChatGPT to „moment osobliwości” AI. Jednak w Web3 obecnie nie ma takich rewolucyjnych innowacji, ale oznacza to również, że Web3 jest branżą o większym potencjale i innowacyjności. Jeśli programista Web2 potrafi połączyć oryginalną technologię i doświadczenie, aby budować na Web3, może narodzić się wielka innowacja.

Web2 Kolejną zaletą nauki Web3 jest to, że jeśli w przyszłości Web2 nie będzie mógł działać, nadal możesz dołączyć.

jak: Jak zostać programistą Web3

Stos technologii Web3

Obecnie nie ma jednolitej definicji stosu technologii Web3. Używam panoramy stosu technologii Web3 firmy Alchemy, która jest przedstawiona od dołu do góry:

  • Warstwa sieciowa: znana również jako łańcuch, obejmująca warstwę 1 i warstwę 2, taką jak Bitcoin, Ethereum, Solana, Sui, Starknet itp.;

  • Warstwa interakcji Blockchain: ta warstwa umożliwia programistom i użytkownikom odczytywanie i zapisywanie danych w łańcuchu bloków, w tym w usługach węzłów, kranach, usługach indeksowania i przeglądarkach blockchain;

  • Warstwa prezentacji: ta warstwa jest przeznaczona głównie dla programistów i odzwierciedla wiele aspektów rozwoju Web2, takich jak określone narzędzia i biblioteki klas dla programistów blockchain oraz przechowywanie danych w blockchainie;

  • Aplikacje rozproszone (DApps): Ta warstwa jest przede wszystkim zorientowana na użytkownika i obejmuje DeFi, NFT, tożsamość i uwierzytelnianie, dane i analizy oraz wiele innych kategorii DApp.

Decydując się na zostanie programistą Web3, musisz zrozumieć, której warstwie stosu technologii Web3 służy Twoja technologia.

Jeśli jest to warstwa sieci usługowej, oznacza to, że należy opracować warstwę 1 lub warstwę 2, zwykle w odpowiednim laboratorium lub fundamencie. Wymagane umiejętności są bardzo zróżnicowane. Podstawowe technologie obejmują kryptografię, algorytm konsensusu, przechowywanie, sieć, język i maszyna wirtualna itp. Technologia inżynieryjna jest określana na podstawie architektury i wydajności łańcucha. Niektóre łańcuchy są szybko budowane za pomocą Cosmos SDK lub OpStack;

Jeśli ma służyć warstwie interakcji blockchain, zwykle trafia do niektórych dostawców usług infrastrukturalnych, takich jak usługi węzłowe, usługi analizy danych i usługi indeksowania. Ta warstwa jest w rzeczywistości podobna do dostawców usług infrastrukturalnych Web2 (takich jak usługi w chmurze). , a role są również takie same: front-end, back-end, dane, testowanie, obsługa i konserwacja itp., więc wymagane umiejętności są mniej więcej takie same. Być może będziesz musiał dowiedzieć się więcej o interfejsie sieć blockchain;

Jeśli jest to warstwa prezentacji usługi, rozwija narzędzia i biblioteki klas dla programistów, powszechnie zwane „łopatami sprzedaży”. Konkretne umiejętności programistyczne zostaną określone w zależności od formy produktu i rodzaju twórcy usługi, na przykład programisty IDE będzie obejmować interfejs użytkownika i budowę sieci lokalnej, kompilację kontraktu, wdrożenie kontraktu itp.;

Jeśli ma służyć DApps, zdecydowana większość potrzeb związanych z rozwojem Web3 koncentruje się na rozwoju DApp, więc to, co ogólnie nazywamy rozwojem Web3, odnosi się głównie do rozwoju DApp. Treść ta została rozwinięta w następnej sekcji.

Umiejętności wymagane do rozwoju DApp

Każdy powinien znać tradycyjną architekturę aplikacji internetowych, obejmującą front-end, backend i bazę danych. Biorąc za przykład witrynę zakupów online, użytkownik najpierw uzyskuje dostęp do interfejsu zapewnianego przez front-end za pośrednictwem przeglądarki, aby wykonać operacje związane z zakupami. Jeśli użytkownik szuka określonego słowa kluczowego produktu, za przetwarzanie odpowiedzialny będzie back-end odpowiednią logikę, czyli odpowiadanie na żądanie z frontonu i zwracanie niezbędnych danych do frontonu po pobraniu bazy danych. Baza danych zapewnia stabilne przechowywanie aplikacji, w tym wszystkie informacje o produkcie i informacje związane z użytkownikiem (takie jak zawartość koszyka).

Największą różnicą pomiędzy DApps zbudowanymi na blockchainie a tradycyjnymi aplikacjami jest zmiana ról backendu i bazy danych. Inteligentne kontrakty pełnią rolę tradycyjnego back-endu, a blockchain zastępuje tradycyjne bazy danych i zapewnia zdecentralizowane przechowywanie danych. Ścisła współpraca między inteligentnymi kontraktami a blockchainem sprawia, że ​​przechowywanie i odzyskiwanie danych jest przejrzyste i trudne do manipulacji.

Dlatego umiejętności rozwoju DApp polegają głównie na opracowywaniu front-endów i inteligentnych kontraktów. Umiejętności, które należy opanować, są następujące:

przód

Rozwój interfejsu. W przypadku inżynierów front-end z doświadczeniem w tworzeniu stron internetowych możliwe jest przeniesienie umiejętności tworzenia interfejsów, w tym podstawowych umiejętności, takich jak HTML, CSS i JavaScript, a także znajomości nowoczesnych frameworków front-end, takich jak React i Vue;

Mechanizmy uwierzytelniania oraz odczyt i zapis danych. W DApp uwierzytelnianie i zarządzanie tożsamością użytkownika są realizowane poprzez portfele blockchain (takie jak MetaMask), więc musisz nauczyć się integrować interfejs portfela, a odczyt i zapis danych odbywa się również poprzez interfejsy API on-chain, używając Ethers.js w ten sposób Biblioteka JavaScript ułatwiająca implementację mechanizmów uwierzytelniania oraz odczytu i zapisu danych.

tył

Ponieważ wiele aplikacji DApp jest obecnie częściowo scentralizowanych, istnieje również wiele wymagań dotyczących zaplecza. Chociaż umiejętności inżynierów zaplecza można również migrować, ponieważ wiąże się to z odczytywaniem i zapisywaniem danych w łańcuchu, należy zintegrować zestaw SDK typu blockchain. Najlepszym językiem programistycznym jest Go/Rust/NodeJS;

inteligentny kontrakt

Aby rozwijać kontrakty w łańcuchu EVM, musisz przede wszystkim nauczyć się języka Solidity, a nowicjuszom zaleca się naukę w WTF Academy; w przypadku rozwoju kontraktów w łańcuchach innych niż EVM musisz się uczyć w oparciu o konkretny łańcuch, na przykład, aby się rozwijać inteligentne kontrakty na Solanie, musisz nauczyć się Rusta i opracować inteligentne kontrakty na Sui. Musisz nauczyć się Sui Move, ale obecnie jest stosunkowo niewiele materiałów do nauki, więc musisz udać się na odpowiednią oficjalną stronę internetową.

Kilka sugestii dotyczących nauki Web3

  • Codziennie przeglądaj media Web3, aby uzyskać wiadomości branżowe: polecane Panws, Foresight, Rhythm, Golden Finance, ODaily;

  • Czasami spędzaj czas w społeczności programistów Web3, polecaj linki, TinTinland, WTF Academy, BuilderDAO, OpenBuild;

  • Ucząc się nowego projektu, przeczytaj najpierw oficjalną dokumentację, następnie śledź oficjalny Twitter/Discord i przyjrzyj się ogólnie kodowi, gdy będziesz miał dość energii;

  • Musisz realizować projekty. Ci, którzy mają kanały, mogą bezpośrednio wdrażać projekty. Ci, którzy nie mają kanałów, mogą również uczestniczyć w Hackthonie, aby gromadzić doświadczenie projektowe.

  • Angielski jest bardzo ważny, ucz się dobrze angielskiego.

Podsumować

Web3 musi być przyszłością. Dla programistów Web2, eksplorując dziedzinę Web3, niezależnie od tego, czy jest to klient, front-end czy back-end, mogą w pełni wykorzystać swoje istniejące zalety techniczne, poszerzyć horyzonty kariery i udoskonalić swoje umiejętności. kreatywność w swojej pracy.

Jednak obecna branża Web3 jest nadal bardzo porywcza. Wiele osób ma bzika na punkcie gonienia i dokonywania agresywnych inwestycji, co często wywołuje u ludzi uczucie niepokoju. Jeśli jesteś zdeterminowany, aby zostać programistą Web3, musisz świadomie odciąć się od rozpraszających informacji, skupić się na samej technologii i zrobić coś, co ma długoterminową wartość, aby lepiej pomóc Ci się rozwijać.