ネームスペース

ネームスペースによって、NEM ブロックチェーン上にあなたのビジネスと資産のための 一意な場所をチェーン上に作ること ができます。

../_images/namespace-setup.png

ネームスペースでアセットを整理する

名称

ネームスペースはインターネットドメイン名と同様に機能します。ネームスペースの作成にはアカウントまたはアセットを参照したい名前を選択することから始まります。名前はネットワーク内で 一意64 文字以内の必要があります。利用可能な文字は a, b, c, …, z, 0, 1, 2, …, 9, _ , - です。

サブネームスペース

インターネット上でドメインはサブドメインを持ちます。NEMにおいて、ネームスペースは 資産を識別したり整理する ためにサブネームスペースを持ちます。

ネームスペースはネームスペース自身とその配下に2階層のサブネームスペースドメインの 3 階層までを持つことができます。サブネームスペースは自身の有効期間を持たず、親ネームスペースの有効期間を継承します。

複数のサブネームスペース を異なるネームスペースに同じ名前で作ることができます。例えば foo.barfoo2.bar を作ることができますが、 rootnamespace と subnamespace の組み合わせは一意を保つ必要があります。

エイリアス

エイリアストランザクション はネームスペースをアカウントまたはモザイクへリンクします。エイリアスまたはそのリンク済みアセットはトランザクションを送信するときに互換的に使用できます。エイリアスを使用すると長いアドレスを覚えやすく、モザイクを認識しやすくします。

ネームスペース作成者はアカウントまたはモザイクに ネームスペースをリンク することができます。このリンクは編集可能で、作成者は以前に設定したエイリアスのリンクを解除したり、別のアセットにネームスペースをリンクすることができます。

ブロック レシート は与えられたトランザクションのエイリアスの解決を保存します。

制約事項:

  • アカウントまたはモザイクはたくさんのネームスペースにリンクできますが、1つのネームスペースは1つのアカウントまたはモザイクにだけリンクできます。
  • アカウントは AddressAliasTransaction の 受信を許可している どのアドレスに対してもネームスペースを割り当てることができます。
  • アカウントがモザイク作成者である場合は、エイリアスを mosaicId にだけリンクできます。

期間

ネームスペース登録の際にネームスペースを借りたい確認済みブロックの数を設定する必要があります。

ネームスペース期間は最大で 365 日です。デフォルトではネットワークは 15 秒毎にブロック生成するように設定されています。次の式を使用しておよその日数をブロックに変換できます。

duration ≈ numberOfDays * 86400 / blockGenerationTargetTimeInSeconds
../_images/namespace-life-cycle.png

ネームスペースのライフサイクル

ネームスペース所有者は レンタル期間中 にサブネームスペース、エイリアスアカウント、およびモザイクを作成できます。所有者は NamespaceRegistrationTransaction を希望する追加ブロック数で送信することにより レンタルを延長する こともできます。

ネットワークはネームスペース所有者が有効期限を過ぎて登録可能になる前に、名前空間を更新することを可能にする 猶予期間定義 することができます。

猶予期間が終了するとネームスペースは 削除済み になります。この時点でネームスペースは再び登録可能になります。

ネームスペースステータスのパーミッション
アクション 利用可能 登録期間 猶予期間
新しいネームスペースの取得 ✔️
ネームスペースの更新 ✔️ ✔️
サブネームスペースを作成 ✔️
アドレスまたはモザイクにエイリアスをリンクする ✔️
エイリアスを使ってトランザクションを送信する ✔️

注釈

ネメシスブロック で作成されたネームスペースだけは恒久的な期間になります。

レンタル手数料

ネームスペースの作成または期間の延長をするために、アカウントはレンタル手数料に加えて トランザクション手数料 を支払います。有効な NamespaceRegistrationTransaction のアナウンスをすると、手数料はアカウントの残高から差し引かれます。

デフォルトのネームスペースレンタル手数料は ネットワークごとに設定可能 ですが、 ネットワークはモザイクレンタル手数料を動的に調整 していきます。

Default values
プロパティ Value
Registering a namespace 0.000001 cat.currency per block
Extending a namespace duration 0.000001 cat.currency per block
Creating a subnamespace 0.0001 cat.currency

実効レンタル手数料を算出するために、ネットワークは設定で決められたデフォルト値に最後の maxRollbackBlocksmedian network multiplier を乗算します。乗数がゼロの場合は、これらは中央値計算の前に defaultDynamicFeeMultiplier で置き換えられます。

ガイド

スキーマ

注釈

設定パラメータは 編集可能 です。公開ネットワークでは異なる可能性があります。

NamespaceRegistrationTransaction

ネームスペース取得トランザクションはネームスペースの取得と再取得に使用します。

Version: 0x01

エンティティタイプ: 0x414E

インライン

プロパティ タイプ 説明
registrationType NamespaceRegistrationType ネームスペース登録タイプ
duration BlockDuration ネームスペースをレンタルしたい期間の承認済みブロック数を指定します。期間は 365 日まで許可されています。ルートネームスペースでは必須項目です。
parentId NamespaceId 親ネームスペース識別子。サブネームスペースに必須です。
id NamespaceId ネームスペース識別子
nameSize uint8 バイト換算のネームスペース名
name array(bytes, namespaceNameSize) ネームスペース名は一意でなければならず、最大 64 文字です。利用可能な文字は a, b, c, …, z, 0, 1, 2, …, 9, _ , - です。

AddressAliasTransaction

ネームスペースをアカウントへ関連付けるためにはエイリアストランザクションをアナウンスします。ネームスペースはネットワーク上に存在するいかなるアカウントにも割り当てることができます。

Version: 0x01

Entity type: 0x424E

インライン

プロパティ タイプ 説明
aliasAction AliasAction エイリアスアクション
namespaceId NamespaceId エイリアスになるネームスペースの識別子
address Address Aliased address.

MosaicAliasTransaction

ネームスペースをモザイクへ関連付けるためにはエイリアストランザクションをアナウンスします。ネームスペースとモザイクを作成したアカウントがトランザクションをアナウンスしたときだけ、モザイクへエイリアスを設定することが可能です。

Version: 0x01

Entity type: 0x434E

インライン

プロパティ タイプ 説明
aliasAction AliasAction エイリアスアクション
namespaceId NamespaceId エイリアスになるネームスペースの識別子
mosaicId MosaicId エイリアス済みモザイク識別子

NamespaceRegistrationType

Enumeration: uint8

Id 説明
0 ルートネームスペース
1 子ネームスペース

AliasAction

Enumeration: uint8

Id 説明
0x00 エイリアスに関連付ける
0x01 エイリアスの関連付けをやめる