Nouvelle API de portefeuille
Block.one récemment sorti EOSIO 2.0.6, qui contient une nouvelle fonctionnalité: l'API get_accounts_by_authorizers. Nous allons appeler cela «l'API de portefeuille». Pourquoi est-ce digne d'intérêt? Examinons les fonctions dont les portefeuilles EOSIO ont besoin et la série d'événements qui nous ont amenés ici.
Comment fonctionnent les portefeuilles?
Les portefeuilles s'appuient sur les nœuds EOSIO fournis par les producteurs de blocs, les bourses, les fournisseurs de portefeuilles et d'autres parties prenantes concernées. «Trouver un compte», «obtenir le solde du jeton» ou «effectuer une transaction» ont tous besoin d'un nœud EOSIO pour fonctionner.
Lorsque vous utilisez un portefeuille pour la première fois, vous devez lui fournir votre clé afin d'obtenir le nom de votre compte. Cet article se concentre sur le fonctionnement réel de cette première étape.
Les temps anciens
Lorsque l'EOS Mainnet a été lancé pour la première fois en juin 2018 à l'aide d'EOSIO 1.0, il comportait une fonctionnalité appelée «plugin d'historique» (qui existe toujours aujourd'hui mais est déconseillée). L'historique EOSIO accumule tous les millions de transactions qui se produisent sur la chaîne et le rend disponible pour les requêtes. Cela inclut les informations sur la façon de trouver un compte basé sur une clé.
Au départ, de nombreux producteurs de blocs ont activé les fonctionnalités d'historique et rendu les informations publiques pour les portefeuilles. Mais comme EOSIO peut gérer de nombreuses transactions, la taille de l'historique est devenue excessivement grande, est devenue ingérable et son coût d'exploitation est prohibitif. Ce n'est tout simplement pas une solution évolutive.
Les 18 derniers mois
Plusieurs alternatives ont émergé de ce plugin historique que les portefeuilles utilisent aujourd'hui. Cependant, ces solutions d'historique ne sont pas intégrées dans EOSIO. Le coût d'exécution de cette infrastructure supplémentaire signifie que le nombre de nœuds disponibles à interroger est limité.
Les portefeuilles ont besoin d'une solution standard largement déployée pour ne pas être verrouillés dans une API de nœud spécifique pour cette requête fondamentale.
Développement d'API de portefeuille
À partir de février 2020, une discussion a eu lieu sur le canal de télégramme EOS Mainnet BP sur les fonctionnalités dont les portefeuilles ont besoin pour rechercher des comptes à partir d'une clé. Une nouvelle fonctionnalité dans EOSIO était nécessaire. En mars, Block.one a rendu disponible la première version de cette fonctionnalité proposée. Il y avait plusieurs séries de commentaires des fournisseurs d'API ainsi que des développeurs de portefeuilles, ce qui a entraîné de nombreuses révisions.
En avril, EOS Nation a déployé cette nouvelle API sur le Réseau de test de la jungle pour le rendre disponible pour les tests. Au fur et à mesure des modifications apportées à l'API, les nœuds du réseau de test Jungle ont été mis à jour.
La nouvelle API de portefeuille a été incluse dans une version officielle d'EOSIO le 3 juin. Les nœuds doivent être mis à niveau vers la version 2.0.6 et activer une option de configuration pour rendre l'API de portefeuille disponible pour utilisation. Nous avons également ajouté une vérification de l'API du portefeuille au EOS Nation Validator.
Aller de l'avant
L'avènement de cette nouvelle API de portefeuille ne rend pas les différentes solutions d'historique obsolètes car elle ne couvre qu'un petit ensemble de fonctionnalités utilisées par de nombreux portefeuilles. Cependant, il fournit un ensemble de fonctionnalités à faible coût permettant à davantage de fournisseurs de proposer la solution, ce qui entraîne à son tour de nouvelles options de décentralisation et de redondance pour les utilisateurs. Les portefeuilles riches en fonctionnalités continueront de s'appuyer sur des solutions historiques robustes.
La transition vers un état où les fournisseurs de portefeuilles profitent de cette nouvelle fonctionnalité sera un processus graduel s'étalant sur plusieurs mois. Pendant cette période, EOS Nation fera la promotion de cette API auprès d'autres producteurs de blocs et leur demandera d'envisager de l'activer ainsi que de la promouvoir auprès des développeurs de portefeuilles et leur demandera d'ajouter un support pour celle-ci.
Nous nous réjouissons de la poursuite de la décentralisation du réseau principal EOS!