Bygg Web3-apper: Den ultimate guiden til lag, verktøy og ressurser

Interessert i å bidra til utviklingen av Web3-prosjekter? Denne guiden gir en oversikt over de mest brukte lagene og utviklingsmiljøene.

Det er ingen tvil om at Web3 er et hett tema for tiden. Mange har valgt å forlate jobber i store selskaper og startups for å satse på nye muligheter innenfor Web3-sfæren.

Dersom du kjenner på en lignende drivkraft, lurer du kanskje på hvor du skal begynne. Denne artikkelen er spesielt rettet mot de som ønsker å dykke ned i Web3-utvikling. Vi vil fokusere på ulike kategorier, og hver av dem vil presentere ressurser som kan hjelpe deg i gang.

For å gjøre denne guiden oversiktlig, deler vi ressursene inn i følgende seksjoner:

  • Lag. De mest populære blokkjedene som brukes i utviklingsprosjekter.
  • Utviklermiljø. Verktøy som hjelper deg med å distribuere prosjektene dine til de forskjellige lagene.
  • Identitet. Hvordan bygge rundt lommebokidentiteter og bruke kryptopålogging.
  • Lagring. Opprette permanent datalagring med P2P-teknologi.
  • API. Tilgang til hovednettverkene for å hente data.
  • Front-end. Anvendte rammeverk for front-end utvikling.

En «stack» refererer til en spesifikk kombinasjon av teknologier som brukes for å nå et bestemt mål. Enten det gjelder full-stack utvikling eller, i dette tilfellet, en Web3-stack. Det er viktig å merke seg at teknologiene som benyttes i Web3-applikasjoner og -produkter er i stadig utvikling.

Teknologilandskapet endrer seg raskt etterhvert som flere blir komfortable med å utvikle programvare på blokkjeden. Målet med denne guiden er å presentere ressurser som allerede er brukt i praktiske prosjekter.

Dersom dette høres interessant ut, la oss komme i gang.

Lag

Ethvert Web3-prosjekt har sitt utgangspunkt i et lag. Det er det spesifikke blokkjedenettverket som din applikasjon eller produkt vil basere seg på.

#1. Ethereum

Ethereum ble populært takket være introduksjonen av smarte kontrakter.

Siden den gang har utviklere brukt det som det foretrukne blokkjedelaget for å utvikle neste generasjons Web3-applikasjoner. Det er også et populært valg for mange NFT-prosjekter, så dersom du er interessert i NFT-relaterte apper, har Ethereum mye å by på.

#2. Polygon

Polygon-laget er en sidekjede til Ethereum, som tilbyr mer avanserte sikkerhetsrutiner og lavere transaksjonskostnader (gass). Det er et populært valg for prosjekter med et høyt antall transaksjoner, men hvor prisen på transaksjoner er lav.

Siden Polygon er en sidekjede, blir den ofte referert til som et Layer 2 Blockchain. Polygons raske utvikling gjør det til et populært valg, ikke bare for NFT-apper, men også for dApps og betalingssystemer.

Andre betydningsfulle Web3-lag:

  • Solana. En blokkjede bygget for å utvikle DeFi-applikasjoner i stor skala.
  • NEAR-protokoll. En blokkjede med smart kontrakt-funksjonalitet og omfattende utviklerressurser.
  • Polkadot. En protokoll for kryssblokkjedekommunikasjon for å utvikle styringsprosjekter.
  • Tezos. En energi-fokusert plattform for utvikling av desentraliserte kreative plattformer.
  • Fantom. En åpen kildekode-plattform for smarte kontrakter, egnet for utvikling av dApps.

Utviklermiljø

Et utviklingsmiljø lar deg slippe å begynne fra bunnen av. Disse er for det meste Ethereum-baserte for øyeblikket.

#1. Hardhat

Hardhat er et utviklingsmiljø for Ethereum-utviklere. Det hjelper utviklere med å automatisere prosessen med å bygge og sette sammen desentraliserte apper og smarte kontrakter. Populariteten kommer fra det innebygde Hardhat Network, en kopi av Ethereum-nettverket som du kan bruke til å teste appene dine lokalt.

#2. Truffle

Truffle er et JavaScript-basert rammeverk for utvikling av smarte kontrakter. Det forutsetter at du bruker EVM (Ethereum Virtual Machine), og tilbyr verktøy for å akselerere utviklingsprosessen. Disse inkluderer automatisert testing, en kontraktskompilator og verktøy for å få tilgang til kontraktene dine direkte fra konsollen.

Andre bemerkelsesverdige Web3-utviklermiljøer:

  • Foundry. Et Rust-basert verktøysett for utvikling av apper på Ethereum.
  • Brownie. Et Python-basert rammeverk for å bygge og teste smarte kontrakter.
  • Anchor. Et rammeverk skrevet i Rust for å jobbe med Solana.
  • Embark. Et alt-i-ett-rammeverk for å bygge på toppen av Ethereum.
  • Waffle. Et spesialisert rammeverk for testing av smarte kontrakter.

Identitet

I Web3 benyttes det ikke tradisjonell autentisering med brukernavn og passord. Utviklere implementerer isteden bruk av lommebøker og offentlige nøkler.

#1. WalletConnect

WalletConnect er en åpen kildekode-protokoll som brukes for å koble til dApps via en mobil lommebok. Kjernen i WalletConnect er å bruke en QR-kode som brukere skanner for å bekrefte identiteten sin og godkjenne en ny tilkobling til Web3-appen.

Lommebøker som Pillar og MetaMask integreres direkte med WalletConnect. Dette betyr også at du har tilgang til mange utviklerressurser. Protokollen fungerer med alle store blokkjeder, og det legges ofte til støtte for flere.

#2. Spruce

Spruce er en Y Combinator-støttet startup som ønsker å introdusere konseptet desentralisert identitet til områder utenfor blokkjeden. Målet er å hjelpe brukere med å bekrefte sin digitale identitet på tvers av en rekke plattformer: sosiale medier, personlige nettsteder og blokkjedenettverk.

Lagring

Hvordan lagrer du filer som videoer og bilder i Web3? Dette gjøres for det meste ved hjelp av P2P-fillagringsprotokoller.

#1. IPFS

IPFS er verdens ledende P2P (peer-to-peer) lagringsprotokoll. Når du laster opp en fil til IPFS, blir filstørrelsen endret og sikret med en egendefinert hash, som fungerer som en unik identifikator.

Andre noder (systemer eller personer) i nettverket kan deretter få tilgang til filen, bekrefte den og lagre den i sin egen cache. Når filen er lagret i cachen, er den tilgjengelig for alle med den riktige tilgangsmetoden.

Målet med IPFS er ikke bare å tilby et desentralisert lagringssystem, men også å sikre at innholdet er tilgjengelig i flere tiår, i motsetning til bare noen få år. For eksempel forsvinner nettsteder etter en stund, og alt innholdet går tapt. IPFS tilbyr en løsning på dette problemet.

#2. Skynet

Skynet tilbyr tilgjengelig fildeling med bruk av Sia (desentralisert) skynettverk. Du kan bruke den direkte fra hjemmesiden deres. Bare last opp en fil, og du får en lenke som varer i 90 dager med mindre du registrerer deg for en API-nøkkel. I en utviklingssammenheng gjør Skynet det enkelt å replikere den samme bruken i dine egne desentraliserte applikasjoner.

#3. Filebase

Filebase er en SaaS-startup som tilbyr en direkte tilkobling til Amazon S3 API. Du kan bruke denne API-en til å hente data fra dine S3-bøtter, og deretter distribuere dem på tvers av ulike desentraliserte lagringsalternativer.

Filebase støtter Web3-baserte lagringsalternativer som Skynet, IPFS, Sia og Storj. Som utvikler betyr dette at du kan forenkle prosessen med å tilby desentraliserte fillagringstjenester til kundene dine.

Du får også 5 GB gratis lagringsplass som ny bruker, og prisene er rimelige for betalte abonnementer.

Andre bemerkelsesverdige Web3-lagringsløsninger:

  • Arweave. En protokoll som lar deg lagre data permanent og bærekraftig med en engangsbetaling.
  • Filecoin. Lagre alle typer media i et desentralisert skymiljø.
  • Swarm. En selvbærende P2P-lagringsnode som incentiviseres av Ethereums smarte kontrakter.
  • Aleph. Bygg dApps, og la Aleph administrere skybasert lagring for deg.

API

I motsetning til tradisjonelle databasebaserte løsninger, bruker utviklere et API for å samhandle med blokkjeden, enten for å hente eller lagre data. API-er refereres noen ganger til som klienter.

#1. The Graph

The Graph er en alt-i-ett API-løsning for å koble til ulike blokkjeder. Målet med dette API-et er å hjelpe utviklere med å få tilgang til data som ellers ville kreve utvikling av egne algoritmer. For eksempel kan datapunkter i blokkjeden spenne fra enkle adresser til avanserte transaksjoner basert på smarte kontrakter.

Et eksempel er sporing av historikken til en NFT. Mens en individuell kjøpshistorikk kan være enkel å spore opp, blir det gradvis vanskeligere når man prøver å forstå relasjoner til forskjellige kjøp. I slike tilfeller gir The Graph API forhåndsdefinerte metoder og indekser for å hjelpe deg med å visualisere bestemte brukssituasjoner.

#2. Web3.js

Web3.js er det mest populære JavaScript API-et for å samhandle direkte med Ethereum. Det brukes hovedsakelig til å utvikle klientapplikasjoner som kommuniserer med Ethereum-kjeden. Samlingen av underbiblioteker i Web3.js gir funksjonalitet som overføringer, administrasjon av smarte kontrakter og mer.

#3. Alchemy

Alchemy har raskt blitt en av de mest respekterte Web3-plattformene. Deres tilnærming handler om å lære utviklere hvordan man raskt kan bygge og skalere Web3-applikasjoner. Dette gjøres ved å tilby et avansert Blockchain API og et sett med utviklerverktøy.

#4. useDApp

useDApp er et React-basert rammeverk for å samhandle med Ethereum-blokkjeden. Det består av React.js, Ethers.js-biblioteket, Waffle og Web-3 React-komponenter. Det brukes vanligvis til å bygge brukervennlige nettsider som kan vise ulike datasøk basert på prosjektbehovene dine.

Front-end

Hvilke rammeverk bruker utviklere for å bygge front-end-grensesnitt for Web3-prosjekter?

#1. React

Populariteten til React er uten sidestykke. Det er derfor ingen overraskelse at det også er det mest populære front-end-biblioteket for Web3-sider. Den komponentdrevne arkitekturen betyr at utviklere kan jobbe med flere deler av front-enden uten å forstyrre kjernedesignet.

Du kan sjekke ut Web3-React-biblioteket på GitHub for et godt utgangspunkt.

#2. Next.js

Next.js er etterfølgeren til React, selv om ingen av dem er direkte tilknyttet. Store Web3-prosjekter krever betydelig ressursstyring, og Next.js tilbyr native verktøy for både statiske og dynamiske prosjekter. Det brukes av selskaper som Binance, Bitscreener og Hashnode.

For en rask start, sjekk ut Next Web3 Boilerplate.

Komme i gang med Web3-utvikling

Det er mye å fordøye, spesielt om du er ny på dette feltet. Faktum er at ting endrer seg raskt i denne sektoren. De første prosjektene var ofte relatert til NFT, men i dag er det mer fokus på desentraliserte nettverk og individuelle blokkjedeplattformer.

Denne guiden skal gi deg en god start for å komme i gang med ditt Web3-prosjekt. Det er også anbefalt å følge med på Twitter og Discord, da dette er de to mest aktive stedene for å holde deg oppdatert på de siste Web3-trendene.