Веб3 Стацк: Референца за програмере

Želite li da se upustite u kreiranje Web3 projekata? Ovaj vodič će vam predstaviti najpopularnije slojeve i razvojna okruženja.

Nije tajna da je Web3 trenutno vrlo aktuelna tema. Mnogi stručnjaci su napustili svoje poslove u velikim tehnološkim kompanijama i poznatim startapima kako bi započeli novu karijeru u Web3 metaverzumu.

Ako i vi osećate sličnu želju, gde početi? Ovaj članak je posvećen svima koji žele direktno da uđu u Web3 razvoj. Fokusiraćemo se na različite kategorije, od kojih svaka nudi korisne resurse za početak vašeg putovanja.

Radi lakšeg snalaženja, resurse ćemo podeliti u zasebne odeljke.

Ti odeljci su:

  • Slojevi. Najpopularnije blokčejn mreže koje se koriste u razvoju.
  • Razvojno okruženje. Alati koji vam pomažu da razvijate na tim slojevima.
  • Identitet. Kako kreirati identitete novčanika i koristiti kripto prijavu.
  • Skladištenje. Kreiranje trajnog skladišta podataka koristeći P2P tehnologiju.
  • API-ji. Direktni pristup glavnim mrežama za preuzimanje informacija.
  • Front-end. Popularni okviri za front-end razvoj.

„Stack“ je termin koji se koristi za definisanje određene kombinacije tehnologija koje se koriste za postizanje određenog cilja. Bilo da je reč o razvoju celog steka ili, u ovom slučaju, o Web3 steku. Važno je napomenuti da se tehnologija uključena u izgradnju Web3 aplikacija i proizvoda neprestano razvija.

Mnoge stvari se menjaju kako sve više ljudi stiče iskustvo u razvoju softvera na blokčejnu. Zbog toga, naš cilj za ovaj vodič je da spomenemo resurse koji su već korišćeni u realnim projektima.

Ako vam sve ovo zvuči dobro, možemo da počnemo.

Slojevi

Temelj svakog Web3 projekta čini sloj. Konkretno, blokčejn mreža na kojoj će vaša aplikacija ili proizvod funkcionisati.

#1. Ethereum

Ethereum je postao popularan zahvaljujući konceptu pametnih ugovora.

Od tada, programeri su ga učinili preferiranim slojem blokčejna za izradu nove generacije Web3 aplikacija. To je takođe omiljeni sloj za mnoge NFT projekte. Dakle, ako želite da radite na aplikacijama vezanim za NFT, Ethereum nudi mnogo toga odmah po instalaciji.

#2. Polygon

Polygon je Ethereum bočni lanac koji nudi viši nivo bezbednosti, uz niže naknade za transakcije (gas). To je popularan izbor za projekte sa velikim brojem transakcija, ali niskom cenom transakcija.

Pošto je Polygon bočni lanac, često se naziva i Layer 2 blokčejn. Međutim, zbog brzog razvoja, Polygon je popularan izbor ne samo za NFT aplikacije, već i za dApp-ove i sisteme plaćanja.

Drugi značajni Web3 slojevi:

  • Solana. Blokčejn kreiran specijalno za izradu DeFi aplikacija velikih razmera.
  • NEAR Protocol. Blokčejn za pametne ugovore sa obimnim resursima za programere.
  • Polkadot. Protokol za povezivanje različitih blokčejnova za izgradnju projekata upravljanja.
  • Tezos. Energetski efikasna platforma za izradu decentralizovanih kreativnih platformi.
  • Fantom. Platforma otvorenog koda za pametne ugovore za izradu dApp-ova.

Razvojno okruženje

Razvojno okruženje vam omogućava da preskočite ceo proces „kreiranja od nule“. Trenutno, većina njih je bazirana na Ethereumu.

#1. Hardhat

Hardhat je razvojno okruženje namenjeno Ethereum programerima. Pomaže programerima da automatizuju proces izgradnje i sastavljanja decentralizovanih aplikacija i pametnih ugovora. Njegova popularnost proizilazi iz ugrađene Hardhat mreže, koja je kopija Ethereum mreže koju možete koristiti za lokalno testiranje svojih aplikacija.

#2. Truffle

Truffle je okvir baziran na JavaScriptu za kreiranje pametnih ugovora. Pretpostavlja se da koristite EVM (Ethereum Virtual Machine), pružajući vam alate za ubrzavanje procesa razvoja. Neki od tih alata uključuju automatizovano testiranje, kompajler ugovora i alate za pristup kontaktima direktno iz konzole.

Druga značajna okruženja za razvoj Web3:

  • Foundry. Skup alata baziran na Rustu za izradu aplikacija na Ethereumu.
  • Brownie. Okvir baziran na Pythonu za izradu i testiranje pametnih ugovora.
  • Anchor. Okvir za rad sa Solanom, napisan u Rustu.
  • Embark. Sveobuhvatni okvir za izgradnju na vrhu Ethereuma.
  • Waffle. Prilagođeni okvir za testiranje pametnih ugovora.

Identitet

Za razliku od tradicionalne autentifikacije korisničkim imenom i lozinkom, u Web3 programeri implementiraju korišćenje novčanika i javnih ključeva.

#1. WalletConnect

WalletConnect je protokol otvorenog koda koji se koristi za povezivanje sa dApp-ovima putem mobilnog novčanika. Glavni koncept korišćenja WalletConnecta se zasniva na skeniranju QR koda, koji korisnici mogu da koriste da verifikuju svoj identitet i odobre novu vezu sa Web3 aplikacijom.

Ako znate za novčanike kao što su Pillar ili MetaMask, oni se integrišu direktno sa WalletConnectom. To znači da imate pristup velikom broju resursa za programere. Takođe, protokol radi sa svim glavnim blokčejn mrežama, a podrška za druge se često dodaje.

#2. Spruce

Spruce je startap podržan od strane Y Combinatora čiji je cilj da koncept decentralizovanog identiteta uvede u oblasti van blokčejna. Ovaj skup alata ima za cilj da pomogne korisnicima da verifikuju svoj digitalni identitet na različitim medijima: društvenim mrežama, ličnim web stranicama i blokčejn mrežama.

Skladištenje

Kako se čuvaju mediji – video snimci, fotografije, itd. – na Web3? Ovo se obično radi korišćenjem P2P protokola za skladištenje datoteka.

#1. IPFS

IPFS je vodeći svetski P2P (peer-to-peer) protokol za skladištenje podataka. Kada se datoteka otpremi na IPFS, ona se deli, osigurava pomoću prilagođenog heša i dodeljuje joj se otisak prsta kao jedinstveni identifikator.

Nakon toga, drugi čvorovi (sistemi ili ljudi) koji su deo te mreže mogu pristupiti datoteci, verifikovati je i sačuvati u svojoj keš memoriji. Kada je keširana, datoteka je dostupna svima sa odgovarajućim pristupom.

Krajnji cilj IPFS-a nije samo da obezbedi decentralizovani sistem skladištenja, već i da osigura da sadržaj ima dug vek trajanja, za razliku od uobičajenih sistema koji se brzo zastarevaju. Na primer, web stranica nestaje nakon nekog vremena, a sav njen sadržaj, uključujući medije, je izgubljen. IPFS pruža rešenje za to.

#2. Skynet

Skynet pruža pristupačno deljenje datoteka korišćenjem Sia (decentralizovane) mreže u oblaku. Možete ga odmah koristiti sa početne stranice. Samo otpremite datoteku i dobićete vezu. Ona traje 90 dana, osim ako se ne prijavite za svoj API ključ. Međutim, u kontekstu razvoja, Skynet vam olakšava da replikujete isti slučaj upotrebe, ali u okviru sopstvene decentralizovane aplikacije.

#3. Filebase

Filebase je SaaS startap koji pruža direktnu vezu sa Amazon S3 API-jem. Možete koristiti ovaj API za preuzimanje podataka iz svojih S3 baza i zatim ih redistribuirati koristeći različite opcije decentralizovanog skladištenja.

Filebase trenutno podržava opcije skladištenja zasnovane na Web3 kao što su Skynet, IPFS, Sia i Storj. Kao programer, to znači da možete pojednostaviti proces pružanja decentralizovanih usluga skladištenja datoteka za svoje klijente.

Takođe dobijate besplatnih 5 GB prostora za skladištenje kao novi korisnik, a cena je razumna čak i za plaćene planove.

Druga značajna rešenja za skladištenje Web3:

  • Arweave. Arweave je protokol koji vam omogućava da trajno i održivo skladištite podatke uz jednu pretplatu.
  • Filecoin. Čuvajte bilo koju vrstu medija u decentralizovanom okruženju u oblaku.
  • Swarm. Samoodrživi P2P čvor za skladištenje koji je potpomognut Ethereum pametnim ugovorima.
  • Aleph. Izradite dApp-ove i dozvolite Aleph-u da upravlja skladištenjem u oblaku umesto vas.

API

Za razliku od tradicionalnog steka zasnovanog na bazi podataka, programeri koriste API-je za interakciju sa blokčejnom, gde ili zahtevaju ili čuvaju podatke. API-ji se ponekad nazivaju i klijentima.

#1. The Graph

The Graph je sveobuhvatno API rešenje za povezivanje sa različitim blokčejn mrežama. Cilj ovog API-ja je da pomogne programerima da pristupe podacima za koje bi inače trebalo da razvijaju pojedinačne algoritme. Na primer, podaci u blokčejnu potiču od jednostavnih adresa do kompleksnih transakcija zasnovanih na pametnim ugovorima.

Primer za to bi bilo praćenje istorije NFT-a.

Iako je istoriju pojedinačnih kupovina prilično lako pronaći, postaje teže kada pokušavate da razumete odnose sa različitim kupovinama. U tom slučaju, Graph API pruža gotove pozive i indeksne direktorijume kako bi vam pomogao da brzo vizuelizujete specifičan slučaj upotrebe.

#2. Web3.js

Web3.js je najpopularniji JavaScript API za direktnu interakciju sa Ethereumom. Prvenstveno se koristi za razvoj klijentskih aplikacija koje su u interakciji sa Ethereum mrežom. Zbirka podbiblioteka u okviru Web3.js-a pruža funkcionalnost kao što su transferi, upravljanje pametnim ugovorima i još mnogo toga.

#3. Alchemy

Alchemy je brzo postala jedna od najcenjenijih Web3 platformi. Njihov pristup se odnosi na edukaciju programera o tome kako da brzo izrade i skaliraju Web3 aplikacije. To uspevaju pružanjem sofisticiranog Blockchain API-ja i skupa alata za programere.

#4. useDApp

useDApp je okvir baziran na React-u za interakciju sa Ethereum blokčejnom. Sastoji se od React.js, Ethers.js biblioteke, Waffle i Web3-React komponenti. Obično se koristi za izradu front-endova web stranica kojima je lako pristupiti i koje mogu da prikažu različite upite podataka na osnovu potreba vašeg projekta.

Front-end

Koje okvire programeri koriste za izradu front-end interfejsa za Web3 projekte?

#1. React

Popularnost React-a je bez premca. Nije iznenađenje da je to ujedno i najpopularnija front-end biblioteka za Web3 sajtove. Arhitektura zasnovana na komponentama znači da programeri mogu da rade na više delova front-enda bez mešanja u dizajn jezgra.

Možete pogledati Web3-React biblioteku na GitHubu za dobar početak.

#2. Next.js

Next.js je naslednik React-a, iako nijedan nije direktno povezan. Web3 projekti velikih razmera zahtevaju ogromno upravljanje resursima, a Next.js dolazi u paketu sa izvornim alatima za statičke i dinamičke projekte i koriste ga kompanije kao što su Binance, BitScreeners, Hashnode i druge.

Za brzi početak, preporučujemo da pogledate Next Web3 Boilerplate.

Početak rada sa Web3 razvojem

Ovo je dosta informacija za obradu, posebno ako tek počinjete. Činjenica je da se stvari u ovoj oblasti prilično brzo menjaju. Iako su svi početni projekti bili vezani za NFT, ovih dana je više naglaska na decentralizovanim mrežama i pojedinačnim blokčejn platformama.

Što se tiče početka rada na Web3 projektu, ovaj vodič bi trebalo da bude dovoljan. Takođe preporučujem da pratite dešavanja na Twitteru i Discordu, jer su to dve najaktivnije zajednice za praćenje najnovijih Web3 trendova.