Contas
Uma conta é uma autoridade que pode assinar transações e o seu próprio estado de registro. No atual modelo de dados Iroha 3, AccountId é canônico e sem domínio: é derivado do controlador da conta e codificado canonicamente como I105. O contexto do domínio e espaço de dados legíveis ao ser humano pertence a vínculos separados entre contas alias.
Estrutura
Um Account registado contém:
id: o canônicoAccountIdmetadata: metadados arbitrários da contalabel: um alias estável opcionaluaid: uma conta universal opcional ID utilizada pelos fluxos Nexusopaque_ids: Identificadores opacos vinculados à conta UAID;
A carga útil da transação utilizada para criar uma conta é NewAccount. Ela contém os mesmos campos de identidade, metadados, etiqueta, UAID e opaco ID utilizados pela conta registada.
uaid complementa o canonico AccountId; Não o substitui. Nexus Serviços necessitam de um usuário ou organização estável em todos os espaços de dados, registos que preservam a privacidade. O tempo de execução mantém-se um a um UAID- índice de conta, requer que os identificadores opacos sejam anexados através de um UAID, e rejeita os identificadores opacos duplicados ou em colisão. FHE e UAID para o Nexus fluxo da camada de serviço.
Controladores de contas
O controlador define como a conta autoriza ações. O fluxo de cliente padrão usa um par de chaves Ed25519, mas o modelo de dados também suporta controladores mais ricos, tais como controladores de políticas multisignatura.
A configuração do cliente armazena a autoridade de assinatura separadamente da configuração peer:
[account]
public_key = "ed0120..."
private_key = { digest_function = "ed25519", payload = "..." }Veja . configuração do cliente e geração de chaves para os formatos-chave atuais.
Tente em Taira
Lista de algumas contas canônicas IDs do testnet público Taira:
curl -fsS 'https://taira.sora.org/v1/accounts?limit=5' \
| jq -r '.items[] | [.id, (.primary_alias // "-")] | @tsv'Para inspecionar ativos da conta, copiar uma conta ID A partir da primeira chamada e URL-Codificar antes de colocá-lo no caminho. Python O snippet faz isso para a primeira conta listada:
python3 - <<'PY'
import json
import urllib.parse
import urllib.request
root = "https://taira.sora.org"
accounts = json.load(urllib.request.urlopen(f"{root}/v1/accounts?limit=1"))["items"]
account_id = accounts[0]["id"]
encoded = urllib.parse.quote(account_id, safe="")
assets = json.load(
urllib.request.urlopen(f"{root}/v1/accounts/{encoded}/assets?limit=5")
)
print(json.dumps({"account_id": account_id, "assets": assets["items"]}, indent=2))
PYEstas são leituras públicas. A criação ou atualização de uma conta é uma transação assinada e requer a configuração Taira financiada pela torneira descrita em Conectar-se aos bancos de dados SORA Nexus .
Registro e permissões
As contas são registradas e não registradas com as instruções genéricas Register e Unregister. O validador ativo de tempo de execução decide quem pode criar contas e quais tokens ou papéis de permissão são necessários.
Após o registo, a conta pode:
- assinar transações
- possuir ativos
- Domínios próprios
- receber papéis e tokens de permissão
- armazenamento de metadados
- Participar em fluxos de alias, rekey, recuperação e identidade Nexus, quando esses recursos estiverem ativados.
Resolução de problemas de identidade
Se uma transacção for rejeitada inesperadamente, verifique se:
- A chave pública do cliente corresponde à chave privada utilizada para assinatura.
- A conta foi registada em gênese ou por uma transação comprometida.
- a autoridade tem as permissões exigidas pela instrução
- Os campos de conta rigorosa utilizam a conta canónica I105 ID, enquanto os nomes legíveis são resolvidos através de um alias de conta ativo vinculativo.
Veja também: