Web3 Stack: Referens för utvecklare

By rik

Är du intresserad av att skapa Web3-projekt? Den här guiden ger dig en översikt över de mest använda lagren och utvecklingsmiljöerna.

Det råder ingen tvekan om att Web3 är ett hett ämne just nu. Många har lämnat sina jobb inom stora teknikföretag och lovande startups för att satsa på en ny karriär inom Web3-metaversum.

Om du känner en liknande iver, var börjar du? Den här artikeln är till för dig som vill dyka direkt in i Web3-utveckling. Vi kommer att fokusera på flera kategorier, var och en med värdefulla resurser för att kickstarta din resa.

För att göra den här guiden lättillgänglig har jag delat in resurserna i separata avsnitt.

Dessa avsnitt är:

  • Lager. De populäraste blockkedjorna som används för utveckling.
  • Utvecklingsmiljö. Verktyg som underlättar utplacering på dessa lager.
  • Identitet. Hur man bygger lösningar med plånboksidentiteter och kryptoinloggning.
  • Lagring. Skapa permanent datalagring med P2P-teknik.
  • API. Direkt åtkomst till huvudnätverk för att hämta information.
  • Frontend. Populära ramverk för frontend-utveckling.

En ”stack” är en term som beskriver en specifik kombination av tekniker som används för att uppnå ett visst mål, oavsett om det är fullstack-utveckling eller, som i det här fallet, Web3-stacken. Det är viktigt att notera att tekniken bakom Web3-appar och produkter är i snabb förändring.

I takt med att fler blir bekväma med att utveckla programvara på blockkedjan utvecklas tekniken snabbt. Vårt mål med den här guiden är att lista resurser som redan har använts i praktiska projekt.

Om det låter bra, låt oss börja.

Lager

Grundstenen för alla Web3-projekt är lagret, det specifika blockkedjenätverket som din applikation eller produkt kommer att finnas på.

#1. Ethereum

Ethereum blev populärt tack vare möjligheten att skapa smarta kontrakt.

Sedan dess har det blivit det föredragna blockkedjelagret för att utveckla nästa generations Web3-applikationer. Det är också ett populärt val för många NFT-projekt, så om du vill jobba med NFT-relaterade applikationer har Ethereum mycket att erbjuda.

#2. Polygon

Polygon är en sidokedja till Ethereum som erbjuder mer avancerade säkerhetsrutiner samtidigt som lägre transaktionsavgifter (gas) behålls. Det är ett populärt val för projekt med många transaktioner och låga transaktionskostnader.

Eftersom Polygon är en sidokedja kallas den ofta för Layer 2 Blockchain. Polygons snabba utveckling gör det till ett populärt val inte bara för NFT-applikationer utan även dApps och betalningssystem.

Andra anmärkningsvärda Web3-lager:

  • Solana. En blockkedja byggd för att utveckla DeFi-applikationer i stor skala.
  • NEAR-protokoll. En smart kontraktsblockkedja med omfattande utvecklarresurser.
  • Polkadot. Ett protokoll för cross-blockchain för att bygga styrningsprojekt.
  • Tezos. En energifokuserad plattform för att utveckla decentraliserade kreativa plattformar.
  • Fantom. En smart kontraktsplattform med öppen källkod för att bygga dApps.

Utvecklingsmiljö

En utvecklingsmiljö sparar tid genom att erbjuda färdiga verktyg och ramverk. De flesta är för närvarande baserade på Ethereum.

#1. Hardhat

Hardhat är en utvecklingsmiljö för Ethereum-utvecklare som automatiserar processen att bygga och sätta ihop decentraliserade appar och smarta kontrakt. Det som gör den populär är Hardhat Network, en exakt kopia av Ethereum-nätverket som du kan använda för att testa dina appar lokalt.

#2. Truffle

Truffle är ett JavaScript-baserat ramverk för att utveckla smarta kontrakt. Det förutsätter att du använder EVM (Ethereum Virtual Machine) och ger dig verktyg för att påskynda utvecklingsprocessen, som automatiserad testning, en kontraktskompilator och verktyg för att komma åt dina kontrakt direkt från konsolen.

Andra anmärkningsvärda Web3-utvecklingsmiljöer:

  • Foundry. Ett verktygskit baserat på Rust för att utveckla applikationer på Ethereum.
  • Brownie. Ett Python-baserat ramverk för att bygga och testa smarta kontrakt.
  • Anchor. Ett ramverk för att arbeta med Solana, skrivet i Rust.
  • Embark. Ett allt-i-ett-ramverk för att bygga på Ethereum.
  • Waffle. Ett specialbyggt ramverk för att testa smarta kontrakt.

Identitet

I motsats till traditionell autentisering med användarnamn och lösenord använder Web3-utvecklare plånböcker och offentliga nycklar för autentisering.

#1. WalletConnect

WalletConnect är ett protokoll med öppen källkod som används för att ansluta till dApps via en mobil plånbok. Användare skannar en QR-kod för att verifiera sin identitet och godkänna en ny anslutning till Web3-appen.

Plånböcker som Pillar och MetaMask integreras direkt med WalletConnect, vilket innebär att det finns gott om utvecklarresurser. Protokollet fungerar med alla större blockkedjor, och fler läggs till kontinuerligt.

#2. Spruce

Spruce är en Y Combinator-stödd startup som syftar till att implementera decentraliserad identitet även utanför blockkedjan. Deras verktyg hjälper användare att verifiera sin digitala identitet på olika plattformar: sociala medier, personliga webbplatser och blockkedjenätverk.

Lagring

Hur lagrar man media som videor och bilder i Web3? Vanligtvis används P2P-fillagringsprotokoll.

#1. IPFS

IPFS är världens ledande P2P-lagringsprotokoll. När du laddar upp en fil till IPFS, storleksändras den, säkras med en anpassad hash och tilldelas ett unikt fingeravtryck.

Andra noder (system eller personer) i nätverket kan komma åt, verifiera och lagra filen i sitt cacheminne. När filen är cachad är den tillgänglig för alla med rätt åtkomst.

Målet med IPFS är att tillhandahålla ett decentraliserat lagringssystem och säkerställa att innehållet lagras i decennier i stället för bara några år. Om en webbplats försvinner går allt innehåll, inklusive media, förlorat. IPFS erbjuder en lösning på detta problem.

#2. Skynet

Skynet ger enkel fildelning med hjälp av Sias decentraliserade molnnätverk. Du kan använda det direkt från hemsidan. Ladda bara upp en fil så får du en länk som varar i 90 dagar, om du inte registrerar dig för en API-nyckel. I utvecklingssammanhang underlättar Skynet replikering av detta användningsfall i dina egna decentraliserade applikationer.

#3. Filebase

Filebase är en SaaS-startup som erbjuder en direktlänk till Amazon S3 API. Du kan använda API:et för att hämta data från dina S3-buckets och sedan distribuera dem till olika decentraliserade lagringsalternativ.

Filebase stöder för närvarande Web3-baserade lagringsalternativ som Skynet, IPFS, Sia och Storj. Som utvecklare kan du förenkla processen att erbjuda decentraliserade fillagringstjänster till dina kunder.

Du får också 5 GB lagringsutrymme gratis som ny användare, och priserna är rimliga även för betalplaner.

Andra anmärkningsvärda Web3-lagringslösningar:

  • Arweave. Arweave är ett protokoll som gör det möjligt att lagra data permanent och hållbart mot en engångsavgift.
  • Filecoin. Lagra alla typer av media i en decentraliserad molnmiljö.
  • Swarm. En självförsörjande P2P-lagringsnod som stimuleras av Ethereums smarta kontrakt.
  • Aleph. Bygg dApps och låt Aleph hantera molnbaserad lagring.

API

Till skillnad från traditionella databasbaserade stackar, använder utvecklare API:er för att interagera med blockkedjan och antingen begära eller lagra data. API:er kallas ibland även klienter.

#1. The Graph

The Graph är en allt-i-ett API-lösning för att ansluta till olika blockkedjor. Målet är att hjälpa utvecklare att komma åt data som de annars skulle behöva skapa egna algoritmer för. Datapunkterna i blockkedjan kan till exempel sträcka sig från enkla adresser till avancerade transaktioner baserade på smarta kontrakt.

Ett exempel på detta är att spåra historiken för en NFT.

Individuell köphistorik kan vara enkel att spåra, men det blir svårare att förstå relationerna mellan olika köp. I det här fallet erbjuder Graph API fördefinierade anrop och indexkataloger som hjälper dig att snabbt visualisera ett visst användningsfall.

#2. Web3.js

Web3.js är det populäraste JavaScript-API:et för att interagera direkt med Ethereum. Det används främst för att utveckla klientapplikationer som interagerar med Ethereum-kedjan. De olika underbiblioteken i Web3.js erbjuder funktioner som överföringar och hantering av smarta kontrakt.

#3. Alchemy

Alchemy har snabbt blivit en av de mest respekterade Web3-plattformarna. De fokuserar på att utbilda utvecklare i hur man snabbt bygger och skalar Web3-applikationer genom att tillhandahålla ett sofistikerat blockkedje-API och en uppsättning utvecklarverktyg.

#4. useDApp

useDApp är ett React-baserat ramverk för att interagera med Ethereums blockkedja. Det består av komponenterna React.js, Ethers.js-biblioteket, Waffle och Web3-React. Det används ofta för att bygga lättillgängliga webbsidor som kan visa olika datafrågor baserat på dina projektbehov.

Frontend

Vilka ramverk använder utvecklare för att bygga frontend-gränssnitt för Web3-projekt?

#1. React

Populariteten för React är oöverträffad, och det är inte förvånande att det också är det populäraste frontend-biblioteket för Web3-webbplatser. Den komponentdrivna arkitekturen innebär att utvecklare kan arbeta med olika delar av frontend utan att störa den grundläggande designen.

Du kan kolla in Web3-React-biblioteket på GitHub för en bra startpunkt.

#2. Next.js

Next.js är efterföljaren till React, även om de inte är direkt relaterade. Storskaliga Web3-projekt kräver enorm resurshantering, och Next.js levereras med inbyggda verktyg för både statiska och dynamiska projekt och används av företag som Binance, Bitscreener och Hashnode.

För en snabbstart, kolla in Next Web3 Boilerplate.

Komma igång med Web3-utveckling

Det finns mycket att ta in, särskilt om du är nybörjare. Saker och ting förändras dessutom snabbt inom området. Även om de första projekten handlade om NFT, läggs det nu större tonvikt på decentraliserade nätverk och individuella blockkedjeplattformar.

Den här guiden ger dig en bra startpunkt för att komma igång med Web3-projekt. Jag rekommenderar också att du håller dig uppdaterad på Twitter och Discord, eftersom det är de två mest aktiva communityn för att hänga med i de senaste Web3-trenderna.