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
IARexHooket peut servir de nombreux jetons ; - un registre d'attestations : un contrat compagnon qui implémente
IARexAttestpour 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.
| Organisation | Rôle | Implémentation | Chaîne | Statut | Contact |
|---|---|---|---|---|---|
| A-REX Foundation : A-REX Platform | platform | exploite des jetons pour des entreprises avec l'implémentation de référence, déployée sans modification à partir de ses versions publiées | pas encore sur un réseau public | in 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 :
| Verdict | Signification |
|---|---|
CONFORMANT | toutes 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 CONFORMANT | au 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é
- Ouvrez une pull request qui ajoute une ligne à
ADOPTERS.mddans 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é. - 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.
- Pour le statut
conformant, mettez en lien le rapport de votre déclaration de conformité. - 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.