Los dominios
Los dominios son nombres de espacios registrados en el World. En el modelo de datos actual Iroha 3 un dominio está calificado por su espacio de datos principal, por lo que el identificador canónico es:
domain.dataspacePor ejemplo, payments.universal nombra el dominio de payments dentro del espacio de datos universal.
La estructura
Un Domain registrado contiene:
id: el espacio de datos calificadoDomainIdlogo: una opciónSoraFSURI para un logotipo de dominiometadata: metadatos arbitrarios sobre el valor claveowned_by: la cuenta que posee el dominio, normalmente la cuenta que lo registró.
La carga útil de bootstrap utilizada para materializar un dominio es NewDomain. Lleva la carga útil id, opcional logo y inicial metadata. El tiempo de ejecución llena owned_by de la autoridad.
Registro
La creación de dominios ordinarios utiliza el flujo de configuración del alias declarativo. Esto mantiene el contrato de arrendamiento SNS, las capacidades del propietario, la guardia de cotización y la fila de dominio en una transacción atómica EnsureAlias. Register::Domain sigue siendo una superficie genesis/bootstrap, y el comando ledger domain no tiene subcomando register.
Crea una intención AliasSetupPlanRequestV1 libre de secretos con un SDK o servicio de incorporación, luego haz que el CLI la planifique contra el estado en vivo y envíe ese plan exacto:
cargo run --bin iroha -- --config ./defaults/client.toml \
app alias setup plan \
--intent-file ./payments-domain.intent.json \
--plan-file ./payments-domain.plan.json
cargo run --bin iroha -- --config ./defaults/client.toml \
app alias setup apply --plan-file ./payments-domain.plan.json
cargo run --bin iroha -- --config ./defaults/client.toml ledger domain list allLa intención identifica payments.universal, su espacio de datos numérico, el propietario canónico I105, el término de adquisición del arrendamiento y la guardia de cotizaciones actuales. El punto final del planificador es POST /v1/aliases/setup/plan; su plan devuelto está vinculado a cadena, autoridad, estado y plazo. La eliminación de dominio todavía utiliza Unregister.
La creación o eliminación de un dominio requiere el permiso apropiado de administración del dominio bajo el validador activo de tiempo de ejecución. Los metadatos del dominio se pueden actualizar con SetKeyValue y RemoveKeyValue cuando la autoridad tiene permiso para modificar ese dominio.
Pruébalo en Taira
Enumera los dominios actualmente visibles en la red de pruebas pública Taira:
curl -fsS 'https://taira.sora.org/v1/domains?limit=20' \
| jq -r '.items[].id'Mapear el catálogo de carriles públicos hacia atrás a los alias del espacio de datos:
curl -fsS https://taira.sora.org/status \
| jq -r '.teu_lane_commit[]
| [.lane_id, .alias, .dataspace_alias, .visibility, .block_height, .finality_lag_slots]
| @tsv'Use el primer comando cuando una aplicación necesita verificar si existe un dominio. Utilice el catálogo de carriles cuando necesite confirmar si un espacio de datos es público, restringido o se queda atrás del carril principal.
La configuración del dominio es una escritura de pago antes de intentarlo Taira, salvo el ayudante del grifo de Obtenga el Testnet XOR en el Taira como taira_faucet_claim.py, financiar al firmante a través del grifo público y adjuntar metadatos de las tarifas:
export TAIRA_ACCOUNT_ID='<TAIRA_I105_ACCOUNT_ID>'
export TAIRA_FEE_ASSET=6TEAJqbb8oEPmLncoNiMRbLEK6tw
python3 taira_faucet_claim.py "$TAIRA_ACCOUNT_ID"
printf '{"gas_asset_id":"%s"}\n' "$TAIRA_FEE_ASSET" > taira.tx-metadata.json
iroha --config ./taira.client.toml \
app alias setup plan \
--intent-file ./taira-domain.intent.json \
--plan-file ./taira-domain.plan.json
iroha --config ./taira.client.toml \
--metadata ./taira.tx-metadata.json \
app alias setup apply --plan-file ./taira-domain.plan.jsonConstruir la intención de un nombre de dominio único en repetidas pruebas de red, y utilizar la política actual de Taira y el protector de cotizaciones del activo. No reutilizar un plan producido para localnet o Minamoto.
Relación con otras entidades
Los dominios agrupan objetos en un libro mayor y proporcionan un espacio de nombres para los datos a escala de dominio. Las definiciones de activos usan identificadores calificados por dominio, y las consultas pueden listar dominios o encontrar objetos a escala de un dominio. Las propias cuentas no tienen dominio en el modelo de datos actual, pero las cuentas pueden poseer dominios y mantener activos cuyas definiciones viven bajo dominios.
Véase también: