Spécification WalletConnect de Kadena

Mar 29 2023
Nous sommes ravis d'annoncer que nous avons franchi une nouvelle étape dans la normalisation du développement sur Kadena, ce qui améliorera considérablement l'expérience de développement de notre communauté de constructeurs et de développeurs. Nous avons récemment fusionné KIP-17, qui définit notre norme d'interaction avec l'API de signature WalletConnect.

Nous sommes ravis d'annoncer que nous avons franchi une nouvelle étape dans la normalisation du développement sur Kadena, ce qui améliorera considérablement l'expérience de développement de notre communauté de constructeurs et de développeurs. Nous avons récemment fusionné KIP-17 , qui définit notre norme d'interaction avec l'API de signature WalletConnect.

La définition de cette norme est quelque chose qui était très attendu par notre communauté, mais pourquoi avons-nous besoin de WalletConnect en premier lieu ? L'une des clés de l'adoption du point de vue des constructeurs et des utilisateurs est la facilité d'utilisation. Au sein de l'écosystème Kadena, nous avons été confrontés aux défis suivants :

  • L'écosystème Kadena n'a pas de protocole standard pour que les portefeuilles et les dApps communiquent entre eux.
  • L'API de signature précédente de Kadena nécessitait que le portefeuille puisse exécuter un serveur HTTP. Ce n'est pas possible pour certains portefeuilles basés sur un navigateur et mobiles.

WalletConnect est le protocole de communication pour le Web3 qui permet aux portefeuilles et aux applications de se connecter et d'interagir en toute sécurité. WalletConnect propose de connecter votre portefeuille et de vérifier une transaction dans une expérience transparente en un clic. Le protocole WalletConnect a fait ses preuves sur tous les appareils et supprime le fardeau d'avoir à maintenir une implémentation spécifique à Kadena. De plus, les portefeuilles et les dApps qui utilisent déjà le protocole WC auront plus de facilité à s'intégrer à l'écosystème Kadena.

La spécification WalletConnect de Kadena est construite au-dessus de la spécification WalletConnect .

Comment ça marche?

Il y a essentiellement trois étapes pour qu'un dApp et un portefeuille se connectent via WalletConnect.

  1. Récupération de l'URL :

Dans les cas où la numérisation n'est pas possible, cela peut également être fait en saisissant l'URL directement dans le portefeuille.

2. La proposition de jumelage :

Le dApp initie un couplage avec un portefeuille en utilisant WalletConnect comme tunnel. Cela se fait en envoyant une proposition de jumelage.

3. Le Règlement :

Le portefeuille répond avec le règlement. Celui-ci contient des informations sur les éléments demandés qu'il prend en charge.

Proposition de jumelage

// Proposal Request
{
  // … other properties from the WalletConnect Proposal Request
  "requiredNamespaces": {
    "kadena": {
      "chains": ["kadena:mainnet01", "kadena:testnet04", "kadena:development"],
      "methods": [
        "kadena_getAccounts_v1",
        "kadena_sign_v1",
        "kadena_quicksign_v1"
      ],
      "events": []
    }
  }
}

// Settlement Response
{
  // … other properties from the WalletConnect Settlement Response
  "namespaces": {
    "kadena": {
      "accounts": [
        "kadena:mainnet01:38298612cc2d5e841a232bd08413aa5304f9ef3251575ee182345abc3807dd89",
        "kadena:testnet04:38298612cc2d5e841a232bd08413aa5304f9ef3251575ee182345abc3807dd89",
        "kadena:testnet04:22ddc64851718e9d41d98b0f33d5e328ae5bbbbd97aed9885adac0f2d070ff9c"
      ],
      "methods": [
         "kadena_getAccounts_v1",
         "kadena_sign_v1",
         "kadena_quicksign_v1"
      ],
      "events": []
    }
  }
}

Interagir via WalletConnect

Les méthodes WalletConnect permettent aux dApps d'interagir avec un portefeuille à l'aide d'identifiants de méthode prédéfinis et d'une charge utile facultative. Les méthodes que nous avons définies pour Kadena sont :

  • kadena_getAccounts_v1 : Cette méthode renvoie les noms de compte Kadena et le(s) contrat(s) sur la blockchain Kadena.
  • kadena_quicksign_v1 : QuickSign fait partie de l' API Kadena Signing et a été défini dans kip-0015 (QuickSign Signing API v1) . Cette méthode permet au portefeuille de montrer à l'utilisateur plusieurs transactions nécessitant une approbation de signature.
  • kadena_sign_v1 : Sign fait partie de l' API Kadena Signing . Cette méthode permet au portefeuille de montrer à l'utilisateur une seule transaction nécessitant une approbation de signature.

—

Nous espérons que vous êtes aussi enthousiasmés que nous par la fusion du KIP-17 ! Un merci spécial à Jacquin Mininger, Doug Beardsley, Albert Groothedde et à la communauté pour avoir aidé à finaliser le KIP 17.

Restez à jour sur la façon dont Kadena rationalise et redéfinit notre expérience de développeur en suivant tous les canaux sociaux de Kadena.