Skip to main contentA-REX Foundation

Standard

Implémentations

Ce qui compte comme implémentation d'A-REX Core, quelles implémentations sont répertoriées, ce que dit une déclaration de conformité et comment une implémentation est inscrite dans la liste.

Ce qu'est une implémentation

Une implémentation est un logiciel que d'autres peuvent vérifier par rapport au standard. Elle prend l'une de quatre formes :

  • un jeton de lots qui implémente les interfaces du standard ;
  • un hook : un contrat de règles qui implémente IARexHook et peut servir de nombreux jetons ;
  • un registre d'attestations : un contrat compagnon qui implémente IARexAttest pour un jeton existant ;
  • une plateforme qui exploite des jetons pour des tiers, sur sa propre implémentation ou sur l'implémentation de référence déployée sans modification.

Les portefeuilles, explorateurs, indexeurs et autres outils qui ne font que lire des jetons A-REX peuvent aussi être répertoriés, mais ils n'ont rien à quoi se conformer.

L'implémentation de référence

L'implémentation de référence est arex-contracts, sous licence MIT. Elle contient le jeton et son registre d'attestations (ARexToken et ARexAttestations), des contrats de règles d'exemple et la suite de conformité. Elle montre que le standard peut être implémenté ; elle n'est pas le standard, et une implémentation n'a pas à réutiliser son code. Tant que les dépôts sont privés, elle est partagée avec le standard via Demander un accès anticipé.

Implémentations répertoriées

La liste suit ADOPTERS.md dans le dépôt du standard, qui fait foi. Les lignes sont classées par ordre alphabétique, et chacune est répertoriée aux mêmes conditions.

OrganisationRôleImplémentationChaîneStatutContact
A-REX Foundation : A-REX Platformplatformexploite des jetons pour des entreprises avec l'implémentation de référence, déployée sans modification à partir de ses versions publiéespas encore sur un réseau publicin development[email protected]

L'A-REX Foundation maintient aussi la spécification et l'implémentation de référence ; A-REX Platform n'est donc pas un implémenteur indépendant : elle ne compte pas pour la règle des deux implémenteurs qui encadre les modifications du standard. Aucun implémenteur indépendant n'est encore répertorié.

Les rôles sont issuer, warehouse, lab, platform (exploite des jetons pour des tiers), wallet et indexer. Les statuts sont planned, in development, pilot (lots réels, périmètre limité), production, conformant (passe la suite de conformité, rapport en lien) et retired.

Ce que signifie la conformité

La conformité est vérifiée avec la suite de conformité fournie avec l'implémentation de référence. La suite n'atteint une implémentation qu'à travers les interfaces du standard et un petit adaptateur écrit par ses auteurs ; elle teste donc toutes les implémentations de la même façon. Chaque test porte la clause qu'il vérifie : 87 clauses, 74 de niveau MUST et 13 de niveau SHOULD. Une exécution se termine par l'un de trois verdicts :

VerdictSignification
CONFORMANTtoutes les clauses MUST passent
CONFORMANT (with skipped MUST clauses)aucune clause MUST n'échoue, mais certaines ont été ignorées parce que l'implémentation n'offre pas ce dont elles ont besoin
NOT CONFORMANTau moins une clause MUST échoue

Les clauses SHOULD non satisfaites sont signalées et ne changent pas le verdict.

Une déclaration de conformité indique la version d'A-REX Core, le profil, la version ou le commit de la suite et la date de l'exécution. Elle est publiée avec le rapport non modifié, le commit ou les adresses déployées qui ont été testés, les clauses SHOULD non satisfaites et tout écart volontaire, et elle doit justifier chaque clause MUST ignorée. Une déclaration vaut pour une version du standard : la suite est relancée après une mise à niveau et pour chaque nouvelle version majeure.

Un rapport est une preuve du comportement d'une implémentation sur les clauses que la suite vérifie. Les clauses qui ne peuvent pas être observées sur la chaîne, comme la règle selon laquelle la référence d'origine ne contient aucune donnée personnelle, relèvent de la revue ; un rapport ne couvre donc pas tout ce que le standard exige.

Une inscription n'est pas une approbation

Une ligne consigne ce qu'une organisation déclare de sa propre implémentation. Ce n'est ni une approbation, ni une certification, ni un audit de l'A-REX Foundation ou des éditeurs du standard, et il n'existe ni certification payante ni frais. Le statut conformant repose sur le rapport publié en lien depuis la ligne ; les éditeurs peuvent demander qu'une déclaration soit corrigée ou retirée lorsque le rapport ne l'étaye pas. Une ligne dont le contact ne répond pas pendant six mois, ou dont les liens ne fonctionnent plus, peut être marquée retired après préavis.

Comment être répertorié

  1. Ouvrez une pull request qui ajoute une ligne à ADOPTERS.md dans le dépôt du standard, avec les colonnes du tableau ci-dessus. Tant que le dépôt est privé, demandez d'abord un accès sur Demander un accès anticipé.
  2. Indiquez un contact qui répond. Les implémenteurs répertoriés sont invités à confirmer les modifications proposées au standard ou à s'y opposer.
  3. Pour le statut conformant, mettez en lien le rapport de votre déclaration de conformité.
  4. Pour compter comme implémenteur indépendant, déclarez dans la pull request que votre organisation n'est ni contrôlée ni payée par l'A-REX Foundation ou par un autre implémenteur répertorié pour ce travail.

Les implémenteurs indépendants portent la règle des deux implémenteurs : une modification mineure est acceptée lorsque deux d'entre eux confirment pouvoir l'adopter, et une modification majeure lorsque deux d'entre eux l'ont implémentée et passent la suite de conformité avec elle. Tant qu'il n'en existe pas deux, les modifications acceptées sont marquées comme provisoires.