Web3:n ja DApp-sovellusten kehityksen perusteet · Oppitunti

DApp-resurssien tallentaminen

Opitte lataamaan ja noutamaan DApp-sovellusten käyttöliittymäresursseja, NFT-metatietoja ja muita tiedostoja IPFS:n avulla hajauttamista varten.

Oppitunti 2/311 vaihetta

DApp-resurssien tallentaminen on ilmainen Web3:n ja DApp-sovellusten kehityksen perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Web3:n ja DApp-sovellusten kehityksen perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Web3:n ja DApp-sovellusten kehityksen perusteet-kurssilla on yhteensä 3 oppituntia.

Miksi DApp-resurssit kannattaa hajauttaa?

Perinteiset verkkosovellukset isännöivät käyttöliittymänsä, kuten HTML-, CSS- ja JavaScript-tiedostot, keskitetyillä palvelimilla. Jos kyseinen palvelin kaatuu tai sen sisältöä sensuroidaan, sovellukseen ei voi enää päästä.

Hajautetut sovellukset (DApp-sovellukset) pyrkivät täydelliseen hajautukseen, mutta jos älysopimus on lohkoketjussa ja käyttöliittymä (UI) yhdellä pilvipalvelimella, onko sovellus todella hajautettu? Tässä oppitunnissa tarkastellaan, miten IPFS auttaa tässä.

DApp-sovelluksen käyttöliittymän isännöinti IPFS:ssä

IPFS tarjoaa vankan ratkaisun koko DApp-sovelluksen käyttöliittymän isännöintiin. Tähän kuuluvat kaikki staattiset tiedostot: HTML-sivut, CSS-tyylitiedostot, JavaScript-koodi ja kuvat.

  • Kun koko DApp-sisältö tai yksittäiset tiedostot on ladattu, ne saavat yksilöllisen Content Identifier (CID) -tunnisteen.
  • Käyttäjät voivat käyttää DApp-sovellusta suoraan IPFS-yhdyskäytävän URL-osoitteen kautta, mikä tekee siitä erittäin sensuurinkestävän ja aina saatavilla olevan, kunhan se on pinnattu verkkoon.

CID:t: sisällön digitaalinen sormenjälki

Kuten edellisessä oppitunnissa opitte, IPFS käyttää sijaintiin perustuvien osoitteiden sijaan Content Identifier (CID) -tunnisteita.

  • CID on itse sisällöstä laskettu kryptografinen tiiviste. Jos sisällössä muuttuu yksikin tavu, myös sen CID muuttuu.
  • Tämä sisältöosoitteistus varmistaa tietojen eheyden ja muuttumattomuuden. Voitte aina tarkistaa, että käytätte juuri odottamaanne tiedostoa eikä sitä ole peukaloitu.

Resurssien lataaminen IPFS:ään

Tiedostot siirretään IPFS-verkkoon yleensä IPFS-komentoriviliittymän (CLI) tai koodissa käytettävän asiakaskirjaston avulla.

ipfs add -komentoa käytetään yleisesti. Se ottaa vastaan tiedoston tai hakemiston ja palauttaa sen yksilöllisen CID:n.

Esimerkiksi DApp-sovelluksen käyttöliittymän sisältävän kansion lataaminen:

ipfs add my_dapp_folder/

Komento käsittelee kansion ja tulostaa CID:n, joka edustaa sen koko sisältöä.

Tietojen saatavuuden varmistaminen (pinnaus)

Kun käytätte komentoa ipfs add, sisältö tallennetaan aluksi vain paikalliseen IPFS-solmuunne. Jotta muut voivat käyttää sitä luotettavasti, sisältö on "pinnattava".

  • Pinnaus tarkoittaa, että IPFS-solmua pyydetään säilyttämään tietystä sisällöstä kopio pysyvästi, jotta roskienkeruu ei poista sitä.
  • Voitte pinnata sisältöä omalle IPFS-solmullenne tai DApp-sovelluksissa yleisemmin käyttää kolmannen osapuolen "pinnauspalvelua".
  • Pinnauspalvelut tarjoavat sisältöänne varten tarkoitettua infrastruktuuria, mikä varmistaa DApp-resurssien hyvän saatavuuden ja käyttöajan.

NFT-metadatan hajauttaminen

Non-Fungible Tokenit (NFT:t) edustavat usein yksilöllisiä digitaalisia resursseja, kuten kuvia, videoita tai ääntä. NFT:n älysopimus ei tallenna itse resurssia suoraan.

Sen sijaan älysopimus tallentaa yleensä URI:n (Uniform Resource Identifier), joka osoittaa resurssin metadataan. Metadatan ja usein myös itse resurssin tallentaminen IPFS:ään on tärkeää:

  • Se estää metadataa muuttumasta tai katoamasta, jos sitä isännöivä keskitetty palvelin menee offline-tilaan.
  • Se varmistaa, että NFT:n arvo perustuu pysyvään ja todennettavissa olevaan dataan.

NFT-metadatan rakenne (JSON)

NFT:n metadata on yleensä JSON (JavaScript Object Notation) -tiedosto, joka sisältää kuvailevia tietoja digitaalisesta resurssista.

Se sisältää tavallisesti esimerkiksi resurssin nimen ja kuvauksen sekä linkin varsinaiseen mediatiedostoon, joka myös tallennetaan usein IPFS:ään.

Tyypillinen rakenne-esimerkki:

{
  "name": "My Awesome NFT",
  "description": "A unique digital collectible.",
  "image": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26h7y3g7o...",
  "attributes": [
    { "trait_type": "Background", "value": "Blue" }
  ]
}

image-kentässä käytetään esimerkiksi ipfs://-URI-mallia, joka osoittaa suoraan resurssin CID:hen IPFS:ssä.

Miten käyttäjät käyttävät IPFS-sisältöä

Useimmat loppukäyttäjät eivät käytä omia IPFS-solmujaan. Miten he siis käyttävät IPFS:ään tallennettua sisältöä?

  • He käyttävät sitä IPFS-yhdyskäytävien kautta.
  • IPFS-yhdyskäytävä on tavallinen verkkopalvelin, joka toimii siltana. Se hakee sisältöä IPFS-verkosta pyynnöstä ja tarjoaa sitä tavallisen HTTP:n kautta verkkoselaimille.
  • Suosittuja julkisia yhdyskäytäviä ovat esimerkiksi https://cloudflare-ipfs.com/ipfs/<your-CID> ja https://ipfs.io/ipfs/<your-CID>.

DApp-sovellukset hakevat IPFS-dataa

DApp-sovelluksen käyttöliittymäkoodi, joka on yleensä kirjoitettu JavaScriptillä, voi hakea sisältöä IPFS:stä helposti CID-tunnisteiden ja yhdyskäytävien avulla.

  • DApp muodostaa tavallisen verkko-URL-osoitteen IPFS-yhdyskäytävän osoitteesta ja sisällön CID:stä.
  • Sen jälkeen se hakee sisällön tavallisilla verkkopyynnöillä, kuten JavaScriptin fetch-rajapinnalla, aivan kuten minkä tahansa muun verkkoresurssin.

Seuraava on käsitteellinen JavaScript-esimerkki:

const cid = "bafybeigdyrzt5sfp7udm7hu...";
const gatewayUrl = `https://ipfs.io/ipfs/${cid}`;

fetch(gatewayUrl)
  .then(response => response.json())
  .then(data => console.log("NFT Metadata:", data))
  .catch(error => console.error("Error fetching data:", error));

IPFS-tallennuksen tarkistus

Kun rakennatte DApp-sovellusta, miksi käyttöliittymäresurssit, kuten HTML, CSS ja JavaScript, sekä NFT-metadata kannattaa tallentaa IPFS:ään perinteisen keskitetyn web-palvelimen sijaan?

Kertaus: DApp-resurssien tallentaminen

Olette oppineet, miten IPFS tarjoaa hajautetun ja vankan tavan tallentaa DApp-sovelluksen keskeisiä osia, kuten käyttöliittymäresursseja ja NFT-metadataa.

  • Käsittelimme tiedostojen lataamista ipfs add -komennolla sekä pinnauspalveluiden ratkaisevaa roolia sisällön säilymisessä.
  • Ymmärrätte nyt, miten CID:t varmistavat muuttumattomuuden ja miten IPFS-yhdyskäytävien avulla käyttäjät voivat käyttää hajautettua sisältöä tavallisilla verkkoselaimilla.
  • Nämä tiedot ovat olennaisia rakennettaessa vikasietoisia, sensuurinkestäviä ja aidosti hajautettuja DApp-sovelluksia.

Seuraavaksi tutustumme Filecoiniin, joka rakentuu IPFS:n päälle ja tarjoaa kannustimiin perustuvan ja todennettavan kerroksen pitkäaikaista ja pysyvää tallennusta varten.

Aloita maksutta

Opi Web3:n ja DApp-sovellusten kehityksen perusteet tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
29
Oppitunnit
105

Usein kysytyt kysymykset

Onko oppitunti ”DApp-resurssien tallentaminen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Web3:n ja DApp-sovellusten kehityksen perusteet-oppimispolun 3 oppituntia, myös oppitunnin “DApp-resurssien tallentaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Web3:n ja DApp-sovellusten kehityksen perusteet-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”DApp-resurssien tallentaminen”?

Opitte lataamaan ja noutamaan DApp-sovellusten käyttöliittymäresursseja, NFT-metatietoja ja muita tiedostoja IPFS:n avulla hajauttamista varten. Harjoittelet Web3:n ja DApp-sovellusten kehityksen perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Web3:n ja DApp-sovellusten kehityksen perusteet-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Web3:n ja DApp-sovellusten kehityksen perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.

Kuinka kauan ”DApp-resurssien tallentaminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Web3:n ja DApp-sovellusten kehityksen perusteet-oppitunnilla?

Kyllä. Jokainen Web3:n ja DApp-sovellusten kehityksen perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Johdatus IPFS:ään
  2. DApp-resurssien tallentaminen
  3. Filecoin ja hajautettu tallennus
← Takaisin: Web3:n ja DApp-sovellusten kehityksen perusteet