Suomi

Tutustu Web3-tunnistautumiseen yksityiskohtaisen WalletConnect-integraatio-oppaan avulla. Opi yhdistämään dAppit turvallisesti käyttäjien lompakoihin saumattomia ja turvallisia Web3-kokemuksia varten.

Web3-tunnistautuminen: Kattava opas WalletConnect-integraatioon

Web3, hajautettu verkko, lupaa uuden aikakauden lohkoketjuteknologialla toimiville internet-sovelluksille. Tämän vallankumouksen ytimessä on turvallinen ja saumaton tunnistautuminen, joka mahdollistaa käyttäjien vuorovaikutuksen dAppien (hajautettujen sovellusten) kanssa ilman perinteisiä keskitettyjä välittäjiä. WalletConnect nousee keskeiseksi protokollaksi, joka mahdollistaa tämän turvallisen yhteyden dAppien ja käyttäjien hallitsemien lompakoiden välillä. Tämä opas tarjoaa kattavan katsauksen Web3-tunnistautumiseen, keskittyen erityisesti WalletConnect-integraatioon, sen hyötyihin ja parhaisiin toteutuskäytäntöihin.

Web3-tunnistautumisen ymmärtäminen

Perinteinen verkkotunnistautuminen sisältää yleensä käyttäjätunnuksia, salasanoja ja palveluntarjoajien hallinnoimia keskitettyjä tietokantoja. Web3-tunnistautuminen puolestaan hyödyntää kryptografisia avaimia, jotka on tallennettu käyttäjien hallitsemiin lompakoihin, kuten MetaMask, Trust Wallet ja Ledger. Tällä lähestymistavalla on useita etuja:

Mikä on WalletConnect?

WalletConnect on avoimen lähdekoodin protokolla, joka luo turvallisen, päästä päähän salatun yhteyden dAppien ja mobiili- tai työpöytälompakoiden välille. Se toimii siltana, joka antaa dAppien pyytää allekirjoituksia käyttäjien lompakoilta ilman, että ne saavat suoraa pääsyä käyttäjän yksityisiin avaimiin. Tämä saavutetaan paritusprosessilla, joka sisältää QR-koodin tai syvälinkityksen.

Ajattele sitä turvallisena kättelynä verkkosivuston (dApp) ja lompakkosovelluksesi (kuten MetaMask puhelimessasi) välillä. Sen sijaan, että syöttäisit käyttäjätunnuksesi ja salasanasi verkkosivustolle, skannaat QR-koodin lompakkosovelluksellasi. Sovellus pyytää sitten lupaasi sallia verkkosivuston suorittaa tiettyjä toimintoja, kuten tapahtuman allekirjoittamisen.

Miten WalletConnect toimii: Vaiheittainen selitys

  1. dApp käynnistää yhteyden: dApp luo ainutlaatuisen WalletConnect URI:n (Uniform Resource Identifier) ja näyttää sen QR-koodina tai syvälinkkinä.
  2. Käyttäjä skannaa QR-koodin tai klikkaa syvälinkkiä: Käyttäjä skannaa QR-koodin mobiililompakkosovelluksellaan tai klikkaa syvälinkkiä työpöydällään.
  3. Lompakkosovellus muodostaa yhteyden: Lompakkosovellus muodostaa turvallisen, salatun yhteyden dAppiin WalletConnect-protokollan avulla.
  4. Käyttäjä hyväksyy yhteyden: Lompakkosovellus kehottaa käyttäjää hyväksymään yhteyspyynnön dAppilta ja esittelee pyydetyt luvat (esim. pääsy tilin osoitteeseen, kyky allekirjoittaa tapahtumia).
  5. Istunto luodaan: Kun käyttäjä hyväksyy yhteyden, dAppin ja lompakon välille luodaan istunto.
  6. dApp pyytää allekirjoituksia: dApp voi nyt pyytää allekirjoituksia käyttäjän lompakolta suorittaakseen toimintoja, kuten tapahtumien allekirjoittamisen, omaisuuden omistajuuden vahvistamisen tai identiteetin todentamisen.
  7. Käyttäjä hyväksyy/hylkää pyynnöt: Lompakkosovellus kehottaa käyttäjää hyväksymään tai hylkäämään jokaisen dAppin allekirjoituspyynnön.
  8. dApp vastaanottaa allekirjoituksen: Jos käyttäjä hyväksyy pyynnön, lompakkosovellus allekirjoittaa tapahtuman käyttäjän yksityisellä avaimella (paljastamatta avainta dAppille) ja palauttaa allekirjoituksen dAppille.
  9. dApp suorittaa toimenpiteen: dApp käyttää allekirjoitusta suorittaakseen tarkoitetun toimenpiteen lohkoketjussa.
  10. Istunnon katkaiseminen: Käyttäjä tai dApp voi katkaista WalletConnect-istunnon milloin tahansa.

WalletConnectin käytön edut

WalletConnectin integrointi dAppiisi: Käytännön opas

WalletConnectin integrointi dAppiisi edellyttää WalletConnect SDK:n (Software Development Kit) käyttöä valitsemallasi ohjelmointikielellä. Tässä on yleiskatsaus vaiheista:

1. Valitse WalletConnect SDK

Saatavilla on useita WalletConnect SDK:ita eri ohjelmointikielille ja kehyksille, mukaan lukien:

Valitse SDK, joka sopii parhaiten dAppisi teknologiakokonaisuuteen.

2. Asenna SDK

Asenna valittu WalletConnect SDK haluamallasi paketinhallintaohjelmalla (esim. npm, yarn, CocoaPods, Gradle).

3. Alusta WalletConnect Provider

Alusta WalletConnect-provider dAppisi koodissa. Tämä sisältää tyypillisesti uuden provider-instanssin luomisen ja sen konfiguroinnin dAppisi metatiedoilla (esim. nimi, kuvaus, kuvake).

Esimerkki (JavaScript):


import WalletConnectProvider from "@walletconnect/web3-provider";

const provider = new WalletConnectProvider({
  rpc: {
    1: "https://cloudflare-eth.com" // Ethereum Mainnet
  },
  chainId: 1,
  qrcodeModalOptions: {
    mobileLinks: [
      "metamask",
      "trust",
      "rainbow",
      "argent"
    ]
  }
});

4. Muodosta yhteys

Toteuta funktio, joka käynnistää WalletConnect-istunnon, kun käyttäjä napsauttaa "Yhdistä lompakko" -painiketta tai vastaavaa käyttöliittymäelementtiä. Tämä funktio näyttää tyypillisesti QR-koodin (tai syvälinkin), jonka käyttäjä voi skannata lompakkosovelluksellaan.

Esimerkki (JavaScript):


async function connectWallet() {
  try {
    await provider.enable();
    console.log("Lompakko yhdistetty onnistuneesti!");
  } catch (error) {
    console.error("Lompakon yhdistäminen epäonnistui:", error);
  }
}

5. Käsittele tapahtumia

Kuuntele WalletConnect-tapahtumia, kuten `connect`, `disconnect`, `accountsChanged` ja `chainChanged`. Nämä tapahtumat antavat dAppisi reagoida muutoksiin käyttäjän lompakon yhteyden tilassa ja verkon asetuksissa.

Esimerkki (JavaScript):


provider.on("connect", (error, payload) => {
  if (error) {
    throw error;
  }

  // Hae annetut tilit ja ketjun ID
  const { accounts, chainId } = payload.params[0];
  console.log("Yhdistetty tiliin:", accounts[0]);
  console.log("Yhdistetty ketjun ID:hen:", chainId);
});

provider.on("accountsChanged", (accounts) => {
  console.log("Tilit muuttuivat:", accounts);
});

provider.on("chainChanged", (chainId) => {
  console.log("Ketju muuttui:", chainId);
});

provider.on("disconnect", (code, reason) => {
  console.log("Yhteys lompakkoon katkaistu:", code, reason);
});

6. Pyydä allekirjoituksia

Käytä WalletConnect-provideria pyytääksesi allekirjoituksia käyttäjän lompakolta tapahtumia tai muita operaatioita varten. Tämä edellyttää tyypillisesti metodien, kuten `provider.send()` tai `web3.eth.sign()`, kutsumista sopivilla parametreilla.

Esimerkki (JavaScript ja Web3.js):


import Web3 from 'web3';
const web3 = new Web3(provider);

async function signTransaction(transaction) {
  try {
    const signedTransaction = await web3.eth.signTransaction(transaction);
    console.log("Allekirjoitettu tapahtuma:", signedTransaction);
    return signedTransaction;
  } catch (error) {
    console.error("Tapahtuman allekirjoittaminen epäonnistui:", error);
    return null;
  }
}

7. Katkaise yhteys lompakkoon

Toteuta funktio, joka katkaisee WalletConnect-istunnon, kun käyttäjä napsauttaa "Katkaise yhteys lompakkoon" -painiketta. Tämä funktio kutsuu tyypillisesti `provider.disconnect()`-metodia.

Esimerkki (JavaScript):


async function disconnectWallet() {
  try {
    await provider.disconnect();
    console.log("Yhteys lompakkoon katkaistu onnistuneesti!");
  } catch (error) {
    console.error("Yhteyden katkaiseminen lompakkoon epäonnistui:", error);
  }
}

Parhaat käytännöt WalletConnect-integraatiolle

Yleiset haasteet ja ratkaisut

WalletConnect vs. muut Web3-tunnistautumismenetelmät

Vaikka WalletConnect on suosittu valinta, on olemassa myös muita Web3-tunnistautumismenetelmiä, joilla kaikilla on omat etunsa ja haittansa:

WalletConnect tarjoaa hyvän tasapainon turvallisuuden, käyttökokemuksen ja alustojen välisen yhteensopivuuden välillä, mikä tekee siitä suositun valinnan monille dAppeille.

Web3-tunnistautumisen tulevaisuus

Web3-tunnistautumisen kenttä kehittyy jatkuvasti, ja uusia protokollia ja teknologioita ilmestyy säännöllisesti. Joitakin keskeisiä seurattavia trendejä ovat:

Web3:n kehittyessä tunnistautumismenetelmistä tulee turvallisempia, käyttäjäystävällisempiä ja hajautetumpia, mikä tasoittaa tietä Web3-sovellusten laajemmalle käyttöönotolle.

Yhteenveto

WalletConnect tarjoaa turvallisen ja käyttäjäystävällisen tavan yhdistää dAppit käyttäjien lompakoihin, mahdollistaen saumattomat Web3-kokemukset. Ymmärtämällä WalletConnect-integraation periaatteet ja noudattamalla parhaita käytäntöjä kehittäjät voivat luoda dAppeja, jotka ovat sekä turvallisia että helppokäyttöisiä. Web3-ekosysteemin kasvaessa WalletConnect on valmis näyttelemään ratkaisevaa roolia hajautetun tunnistautumisen tulevaisuuden muovaamisessa.

Tämä opas on tarjonnut kattavan yleiskatsauksen Web3-tunnistautumisesta WalletConnectin avulla. Hyödyntämällä tätä tietoa sekä kehittäjät että käyttäjät voivat luottavaisesti navigoida hajautettujen sovellusten jännittävässä maailmassa ja avata Web3:n täyden potentiaalin.

Lisäresurssit