ネームスペース

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

名称

ネームスペースはインターネットドメイン名と同様に選択した名前で始まります。名前はネットワーク内でユニークで、64 文字以内の必要があります。利用可能な文字は a, b, c, …, z, 0, 1, 2, …, 9, _ , - です。

アカウントは登録済みの名前(ネームスペースまたはサブネームスペース)を アカウント または モザイク 識別子にリンクすることができます。

サブネームスペース

インターネット上でドメインはサブドメインを持つように、ネームスペースはサブネームスペースを持ちます。

複数のサブネームスペース を異なるネームスペースに同じ名前で作ることができます。例えば foo.barfoo2.bar を作ることができます。

ネームスペースは、ネームスペースと2階層のサブネームスペースドメインの 3 階層まで持つことができます。

エイリアス

エイリアストランザクション はネームスペースをとアカウントとモザイクにリンクします。

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

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

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

制約事項:

  • アカウントは1つのアカウントまたはモザイクに名前を関連付けることしかできませんが、たくさんのエイリアスリンクを持つことができます。
  • アカウントは アドレスネームスペーストランザクション の受信を許可している、あらゆるアカウントへ名前を割り当てることができます。対照的に、アカウントがエイリアスをモザイクIDに割り当てたい場合は、モザイク作成者でなければなりません。
  • アカウントがモザイク作成者である場合、アカウントはエイリアスを mosaicId にだけリンクできます。

期間

../_images/namespace-life-cycle.png

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

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

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

duration ≈ numberOfDays * 86400 / blockGenerationTargetTimeInSeconds

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

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

猶予期間が終了すると、既存のエイリアスとサブネームスペースは整頓され 非アクティブ になります。すると他のアカウントがネームスペースを再度登録できるようになります。

コスト

ネームスペース作成のコストは ネットワークごとに設定可能 です。デフォルトでは、ネームスペース作成のコストは 1 ブロックごとに 1 cat.currency とトランザクション手数料です。サブネームスペースの登録は 100 cat.currency の固定コストとトランザクション手数料です。

顧客はイベントのチケットを購入します。チケット販売会社は顧客のアカウントへチケットを送信します。

../_images/namespace-tickets.png

認識しやすいモザイクとアドレス

送信者の識別

チケット販売者はエイリアスとして自分のアカウントにリンクするために、ネームスペース ticketsales を登録しました。顧客は販売アカウントからの受信トランザクションであるとすぐに認識することができます。

チケットの識別

同じ配給販売者が、異なる会場で開催されるイベントのチケットを販売しています。会社は各作動ごとに、譲渡不可能な モザイク を登録しています。

チケット販売者はルートドメインである ticketsales の上にサブドメインの系列を追加します。ルートドメインとサブドメインを合わせると Ticketsales.event<ID>.ticket になります。

会社は ticketsales.event1.ticket として登録されたモザイクをネームスペース名にリンクします。

購入者の識別

チケットを購入したい Alice は、ネームスペース alice を登録し、彼女のアカウントへエイリアスとして割り当てます。

チケット販売者は 1 0dc67fbe1cad29e3SCVG35-ZSPMYP-L2POZQ-JGSVEG-RYOJ3V-BNIU3U-N2E6 へ送る代わりに 1 ticketsales.event1.ticketalice へ送ることができます。

スキーマ

注釈

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

RegisterNamespaceTransaction

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

Version: 0x01

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

インライン

プロパティ タイプ 説明
namespaceType NamespaceType 登録ネームスペースのタイプ
duration uint64 レンタル期間はネームスペースのレンタルを希望する承認済みブロック数を表します。期間は 365 日までとすることができます。レンタル期間中に延長したいブロック数の ネームスペース登録トランザクション を送信して、ネームスペースをレンタルすることによって、レンタル期間を延長することが可能です。レンタル期間が終わると、ネームスペースは非活性になります。
parentId uint64 それがサブネームスペースの場合、親ネームスペースへの参照は必須です。
namespaceId uint64 ネームスペースのID
namespaceNameSize uint8 ネームスペース名のサイズ
name array(bytes, namespaceNameSize) ネームスペース名は一意でなければならず、最大 64 文字です。利用可能な文字は a, b, c, …, z, 0, 1, 2, …, 9, _ , - です。

AddressAliasTransaction

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

Version: 0x01

Entity type: 0x424E

インライン

プロパティ タイプ 説明
aliasAction AliasAction エイリアスアクション
namespaceId uint64 エイリアスになるネームスペースのID
address 25 bytes (binary) エイリアスアドレス

MosaicAliasTransaction

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

Version: 0x01

Entity type: 0x434E

インライン

プロパティ タイプ 説明
aliasAction AliasAction エイリアスアクション
namespaceId uint64 エイリアスになるネームスペースのID
mosaicId uint64 エイリアスモザイクID

NamespaceType

Enumeration: uint8

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

AliasAction

Enumeration: uint8

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