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
IARexHooke pode servir a muitos tokens; - um registro de atestações: um contrato complementar que implementa
IARexAttestpara 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ção | Papel | Implementação | Cadeia | Status | Contato |
|---|---|---|---|---|---|
| A-REX Foundation: A-REX Platform | platform | opera tokens para empresas com a implementação de referência, implantada sem alterações a partir das suas versões publicadas | ainda não está em uma rede pública | in 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:
| Veredito | Significado |
|---|---|
CONFORMANT | todas 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 CONFORMANT | pelo 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
- Abra um pull request que adicione uma linha ao
ADOPTERS.mdno repositório do padrão, com as colunas da tabela acima. Enquanto o repositório for privado, solicite acesso antes em Solicitar acesso antecipado. - Informe um contato que responda. Os implementadores listados são consultados para confirmar ou contestar as mudanças propostas ao padrão.
- Para o status
conformant, vincule o relatório da sua declaração de conformidade. - 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.