Skip to main contentA-REX Foundation

Padrão

Implementações

O que conta como implementação do A-REX Core, quais implementações estão listadas, o que diz uma declaração de conformidade e como uma implementação entra na lista.

O que é uma implementação

Uma implementação é um software que outras pessoas podem verificar em relação ao padrão. Ela assume uma de quatro formas:

  • um token de lotes que implementa as interfaces do padrão;
  • um hook: um contrato de regras que implementa IARexHook e pode servir a muitos tokens;
  • um registro de atestações: um contrato complementar que implementa IARexAttest para um token existente;
  • uma plataforma que opera tokens para terceiros, com a sua própria implementação ou com a implementação de referência implantada sem alterações.

Carteiras, exploradores, indexadores e outras ferramentas que apenas leem tokens A-REX também podem ser listados, mas não têm nada a que ser conformes.

A implementação de referência

A implementação de referência é o arex-contracts, sob a licença MIT. Ela contém o token e o seu registro de atestações (ARexToken e ARexAttestations), contratos de regras de exemplo e a suíte de conformidade. Mostra que o padrão pode ser implementado; não é o padrão, e uma implementação não precisa reutilizar o seu código. Enquanto os repositórios forem privados, ela é compartilhada junto com o padrão por meio de Solicitar acesso antecipado.

Implementações listadas

A lista segue o ADOPTERS.md do repositório do padrão, que é o registro de referência. As linhas ficam em ordem alfabética, e todas são listadas nas mesmas condições.

OrganizaçãoPapelImplementaçãoCadeiaStatusContato
A-REX Foundation: A-REX Platformplatformopera tokens para empresas com a implementação de referência, implantada sem alterações a partir das suas versões publicadasainda não está em uma rede públicain development[email protected]

A A-REX Foundation também mantém a especificação e a implementação de referência, por isso a A-REX Platform não é uma implementadora independente: ela não conta para a regra dos dois implementadores que rege as mudanças do padrão. Ainda não há nenhum implementador independente listado.

Os papéis são issuer, warehouse, lab, platform (opera tokens para terceiros), wallet e indexer. Os status são planned, in development, pilot (lotes reais, escopo limitado), production, conformant (passa na suíte de conformidade, com o relatório vinculado) e retired.

O que significa conformidade

A conformidade é verificada com a suíte de conformidade que acompanha a implementação de referência. A suíte acessa uma implementação apenas pelas interfaces do padrão e por um pequeno adaptador escrito pelos seus autores, de modo que testa todas as implementações da mesma forma. Cada teste indica a cláusula que verifica: 87 cláusulas, 74 de nível DEVE e 13 de nível DEVERIA. Uma execução termina com um de três veredictos:

VereditoSignificado
CONFORMANTtodas as cláusulas DEVE passam
CONFORMANT (with skipped MUST clauses)nenhuma cláusula DEVE falha, mas algumas foram puladas porque a implementação não oferece o que elas exigem
NOT CONFORMANTpelo menos uma cláusula DEVE falha

As cláusulas DEVERIA não atendidas são relatadas e não mudam o veredito.

Uma declaração de conformidade informa a versão do A-REX Core, o perfil, a versão ou o commit da suíte e a data da execução. Ela é publicada com o relatório sem edições, o commit ou os endereços implantados que foram testados, as cláusulas DEVERIA não atendidas e qualquer desvio intencional, e precisa justificar cada cláusula DEVE pulada. Uma declaração vale para uma versão do padrão: é executada de novo após uma atualização e a cada nova versão maior.

Um relatório é evidência de como uma implementação se comportou nas cláusulas que a suíte verifica. As cláusulas que não podem ser observadas na cadeia, como a regra de que a referência de origem não contém dados pessoais, ficam para revisão, de modo que um relatório não cobre tudo o que o padrão exige.

Estar listado não é um endosso

Uma linha registra o que uma organização declara sobre a sua própria implementação. Não é um endosso, uma certificação nem uma auditoria da A-REX Foundation ou dos editores do padrão, e não existe certificação paga nem taxa. O status conformant se apoia no relatório publicado vinculado na linha; os editores podem pedir que uma declaração seja corrigida ou retirada quando o relatório não a sustenta. Uma linha cujo contato não responde por seis meses, ou cujos links deixam de funcionar, pode ser marcada como retired após aviso.

Como entrar na lista

  1. Abra um pull request que adicione uma linha ao ADOPTERS.md no repositório do padrão, com as colunas da tabela acima. Enquanto o repositório for privado, solicite acesso antes em Solicitar acesso antecipado.
  2. Informe um contato que responda. Os implementadores listados são consultados para confirmar ou contestar as mudanças propostas ao padrão.
  3. Para o status conformant, vincule o relatório da sua declaração de conformidade.
  4. Para contar como implementador independente, declare no pull request que a sua organização não é controlada nem paga pela A-REX Foundation ou por outro implementador listado para este trabalho.

Os implementadores independentes sustentam a regra dos dois implementadores: uma mudança menor é aceita quando dois deles confirmam que podem adotá-la, e uma mudança maior quando dois deles a implementaram e passam na suíte de conformidade com ela. Enquanto não houver dois, as mudanças aceitas ficam marcadas como provisórias.