Web3 Stack: Referens för utvecklare

Vill du vara med och bygga Web3-projekt? Denna referens kommer att beskriva de mest populära lagren och utvecklingsmiljöerna.

Det är ingen hemlighet att det är ganska mycket surr kring detta ämne – Web3 – just nu. Många människor har lämnat sina jobb på FAANG och framstående startups bakom sig för att göra en nystart i Web3-metaversen.

Och om du antar att du känner en liknande klåda – var börjar du? Den här artikeln är helt tillägnad dem som vill hoppa direkt in i Web3-utveckling. Vårt fokus kommer att ligga på en mängd olika kategorier, var och en innehåller värdefulla resurser för att komma igång med din resa.

För att göra denna referens tillgänglig kommer jag att dela upp resurserna i separata avsnitt.

Och dessa avsnitt är:

  • Skikten. De mest populära blockkedjorna som används i utvecklingen.
  • Dev miljö. Verktyg som hjälper dig att distribuera till dessa lager.
  • Identitet. Hur man bygger runt plånboksidentiteter och använder kryptoinloggning.
  • Lagring. Skapa permanent datalagring med P2P-teknik.
  • API. Tillgång till huvudnätverk direkt för att hämta information.
  • Front-end. Populära ramverk för front-end-grejer.

En stack är en term som används för att definiera en viss kombination av teknologier som används för att uppnå ett specifikt mål. Vare sig det är full-stack-utveckling eller, i det här fallet, Web3-stacken. Det är värt att notera att tekniken som är involverad i att bygga Web3-appar och produkter är ganska ”flyktig”.

I en mening att många saker förändras när fler människor blir bekväma med att bygga mjukvara på blockchain. Så vårt mål för denna referens är att nämna resurser som redan har använts i verkliga projekt.

Om allt det låter bra kan vi börja.

Skikten

Grunden för alla Web3-projekt börjar med ett lager. Det specifika blockkedjenätverket som din applikation eller produkt kommer att leva på.

#1. Ethereum

Ethereum ökade i popularitet tack vare dess inhemska smarta kontraktsförslag.

Sedan dess har utvecklare gjort det till det föredragna blockkedjelagret för att bygga nästa generations Web3-applikationer. Det är också det föredragna lagret för många NFT-projekt, så om du känner att du vill arbeta med NFT-relaterade appar har Ethereum mycket att erbjuda direkt.

#2. Polygon

De Polygon layer är en Ethereum-sidokedja som erbjuder mer intrikata säkerhetsrutiner samtidigt som lägre transaktionsavgifter (gas) behålls. Det är ett populärt val för projekt där antalet transaktioner är extremt högt, men priset på transaktioner är lågt.

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

Andra anmärkningsvärda Web3-lager:

  • Solana. En blockkedja byggd för själva syftet att bygga DeFi-appar i stor skala.
  • NEAR-protokoll. Smart kontraktsblockkedja med enorma utvecklarresurser.
  • Polkadot. Cross-blockchain-protokoll för att bygga förvaltningsprojekt.
  • Tezos. En energifokuserad plattform för att bygga decentraliserade kreativa plattformar.
  • Fantom. Smart kontraktsplattform med öppen källkod för att bygga dApps.

Utvecklingsmiljö

En utvecklingsmiljö låter dig hoppa över hela ”börja från början”. Dessa är för närvarande mestadels Ethereum-baserade.

#1. hjälm

hjälm är en utvecklingsmiljö för Ethereum-utvecklare. Det fungerar genom att hjälpa utvecklare att automatisera processen att bygga och sätta ihop decentraliserade appar men också smarta kontrakt. Dess popularitet härrör från ett inbyggt Hardhat Network, en en-till-en-kopia av Ethereum-nätverket som du kan använda för att testa dina appar lokalt.

#2. Tryffel

Tryffel är ett JavaScript-baserat ramverk för att bygga smarta kontrakt. Det förutsätter att du använder EVM (Ethereum Virtual Machine), vilket ger dig verktygen för att påskynda utvecklingsprocessen. Några av dessa verktyg inkluderar automatiserad testning, en kontraktskompilator och separata verktyg för att komma åt dina kontakter direkt från konsolen.

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

  • Gjuteri. Rostbaserad verktygslåda för att bygga appar på Ethereum.
  • Tomte. Python-baserat ramverk för att bygga och testa smarta kontrakt.
  • Ankare. Ett ramverk för att arbeta med Solana, skrivet i Rust.
  • Gå ombord. Allt-i-ett ramverk för att bygga ovanpå Ethereum.
  • Våffla. Specialbyggt ramverk för att testa smarta kontrakt.

Identitet

Till skillnad från traditionell autentisering av användarnamn och lösenord, implementerar utvecklare i Web3 både användningen av plånböcker, men även offentliga nycklar.

#1. WalletConnect

WalletConnect är ett protokoll med öppen källkod som används för att ansluta till dApps via en mobil plånbok. Huvudkonceptet med att använda WalletConnect går ut på att skanna en QR-kod, som användare sedan kan använda för att verifiera sin identitet och godkänna en ny anslutning till Web3-appen.

Om du känner till plånböcker som Pillar eller MetaMask – alla integreras direkt med WalletConnect. Detta innebär också att du har tillgång till massor av utvecklarresurser. Sist men inte minst fungerar protokollet med alla större blockkedjor, med fler kedjor som läggs till ofta.

#2. Gran

Gran är en Y Combinator stödd startup som syftar till att föra konceptet med decentraliserad identitet till områden utanför blockkedjan. Detta kit syftar till att hjälpa användare att verifiera sin digitala identitet över en mängd olika medier: sociala medier, personliga webbplatser och blockchain-nätverk.

Lagring

Hur lagrar du media – videor, bilder etc. – på Web3? Detta görs mestadels med P2P-fillagringsprotokoll.

#1. IPFS

IPFS är världens ledande P2P (peer-to-peer) lagringsprotokoll. När du har laddat upp en fil till IPFS – storleksändras den filen, säkras genom en anpassad hash och tilldelas ett fingeravtryck som dess unika identifierare.

Efteråt kan andra noder (system eller personer) som är en del av det nätverket komma åt filen, verifiera den och lagra den i sin cache. När filen är cachad är den tillgänglig för alla med rätt åtkomstmetod.

I slutändan är målet med IPFS inte bara att tillhandahålla ett decentraliserat lagringssystem. Men också för att säkerställa att innehållet har ett spann på flera decennier i motsats till år. T.ex. en webbplats försvinner efter ett tag och allt innehåll, inklusive media, går förlorat. IPFS ger en verklig lösning på det.

#2. Skynet

Skynet ger tillgänglig fildelning med hjälp av Sia (decentraliserade) molnnätverk. Du kan faktiskt använda den direkt från hemsidan. Ladda bara upp en fil så får du en länk. Det varar i 90 dagar om du inte registrerar dig för din API-nyckel. Men i samband med utveckling – Skynet gör det enkelt för dig att replikera samma användningsfall men inom din egen decentraliserade applikation.

#2. Filbas

Filbas är en SaaS-startup som ger en direktlänk till Amazon S3 API. Du kan använda detta API för att hämta data från dina S3-hinkar och sedan få dem omfördelade över olika decentraliserade lagringsalternativ.

För närvarande stöder Filebase Web3-baserade lagringsalternativ som Skynet, IPFS, Sia och Storj, bland andra. Som utvecklare betyder det att du kan förenkla processen att tillhandahålla decentraliserade fillagringstjänster för dina kunder.

Du får också 5 GB lagringsutrymme gratis som ny användare, även om priset är rimligt även för betalplaner.

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

  • Arweave. Arweave är ett protokoll som låter dig lagra data permanent och hållbart med en enda förskottsavgift.
  • Filecoin. Lagra alla typer av media i en decentraliserad molnmiljö.
  • Svärm. En självförsörjande P2P-lagringsnod som stimuleras av Ethereums smarta kontrakt.
  • Aleph. Bygg dApps och låt Aleph hantera molnbaserad lagring åt dig.

API

Till skillnad från en traditionell databasbaserad stack använder utvecklare ett API för att interagera med blockkedjan och antingen begära eller lagra data på den. API:er kallas ibland även för klienter.

#1. Grafen

Grafen är en allt-i-ett API-lösning för att ansluta till olika blockkedjor. Målet med detta API är att hjälpa utvecklare att komma åt data som annars skulle behöva bygga individuella algoritmer. Till exempel, datapunkterna i blockchain härrör från enkla adresser till intrikata transaktioner baserade på smarta kontrakt.

Ett exempel på detta skulle vara att spåra historien för en NFT.

Även om individuell köphistorik kan vara möjlig att spåra ganska enkelt, blir det gradvis svårt när du försöker förstå relationerna till olika köp. I ett sådant fall tillhandahåller Graph API fördefinierade anrop och indexkataloger för att hjälpa dig att snabbt visualisera ett visst användningsfall.

#2. Web3.js

Web3.js är det mest populära JavaScript API för att interagera direkt med Ethereum. Det används främst för att utveckla klientapplikationer som interagerar med Ethereum-kedjan. Samlingen av underbibliotek som ingår i Web3.js tillhandahåller funktioner som överföringar, smart kontraktshantering och mer.

#3. Alkemi

Alkemi har snabbt stigit till att bli en av de mest respekterade Web3-plattformarna där ute. Deras tillvägagångssätt handlar om att utbilda utvecklare om hur man snabbt bygger och skalar Web3-applikationer. Och de kan göra detta genom att tillhandahålla ett sofistikerat Blockchain API och en uppsättning utvecklarverktyg.

#4. använd DApp

använd DApp är ett React-baserat ramverk för att interagera med Ethereum blockchain. Den består av komponenterna React.js, Ethers.js-biblioteket, Waffle och Web-3 React. Det används vanligtvis för att bygga lättåtkomliga webbsidor som kan visa olika datafrågor baserat på dina projektbehov.

Front-end

Vilken typ av ramverk använder utvecklare för att bygga front-end-gränssnitt för Web3-projekt?

#1. Reagera

Populariteten av Reagera är oöverträffad. Och det kommer inte som en överraskning att veta att det också är det mest populära front-end-biblioteket för Web3-webbplatser. Den komponentdrivna arkitekturen innebär att utvecklare kan arbeta på flera delar av fronten utan att störa kärndesignen.

Du kan kolla in Web3-React-biblioteket på GitHub för en stabil utgångspunkt.

#2. Nästa

Next.js är efterträdaren till React, även om ingen av dem är direkt ansluten. 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, Hashnode och andra.

För en snabb start, leta inte längre än till Nästa Web3 Boilerplate.

Komma igång med Web3-utveckling

Det är ganska mycket att ta in, speciellt om du först nu är igång. Faktum är att saker och ting förändras ganska snabbt på detta område. Även om de initiala projekten alla var NFT-relaterade, läggs nu för tiden mer tonvikt på decentraliserade nätverk och individuella blockchain-plattformar.

När det gäller att komma igång med Web3-projektet borde denna referens räcka mycket. Jag rekommenderar också att du håller dig uppdaterad på både Twitter och Discord eftersom det är de två mest aktiva gemenskaperna för att hänga med i de senaste Web3-trenderna.