ネームスペースによって、ブロックチェーン上にあなたのビジネスと資産のための 一意な場所をチェーン上に作ること ができます。
設定可能なプロパティのリストは次の通りです。
ネームスペースはインターネットドメイン名と同様に機能します。ネームスペースの作成にはアカウントまたはアセットを参照したい名前を選択することから始まります。名前はネットワーク内で 一意 の 64
文字以内の必要があります。利用可能な文字は a, b, c, …, z, 0, 1, 2, …, 9, _ , – です。
ネームスペース登録の際にネームスペースを借りたい確認済みブロックの数を設定する必要があります。
パブリックネットワークはネームスペース期間を最小で 30
日間、最大で 365
日間として定義しています。パラメータは ネットワークごとに設定可能 です。デフォルトではネットワークは 30
秒毎にブロック生成するように設定されています。次の式を使用しておよその日数をブロックに変換できます。
ネームスペースのライフサイクル
ネームスペース作成者は レンタル期間中 にサブネームスペース、エイリアスアカウント、およびモザイクを作成できます。作成者は NamespaceRegistrationTransaction を希望する追加ブロック数で送信することにより レンタルを延長する こともできます。
ネットワークは有効期限を過ぎたネームスペースが登録可能になる前に、作成者がネームスペースを更新できるように 猶予期間 を定義することができます。 Symbol のパブリックネットワークは 猶予期間 を 30
日に設定しました。
猶予期間が終了するとネームスペースは 削除済み になります。この時点でネームスペースは再び登録可能になります。
アクション | 利用可能 | 登録期間 | 猶予期間 |
---|---|---|---|
新しいネームスペースの取得 | ✔️ | ❌ | ❌ |
ネームスペースの更新 | ❌ | ✔️ | ✔️ |
サブネームスペースを作成 | ❌ | ✔️ | ❌ |
アドレスまたはモザイクにエイリアスをリンクする | ❌ | ✔️ | ❌ |
エイリアスを使ってトランザクションを送信する | ❌ | ✔️ | ❌ |
注釈
ネメシスブロック で作成されたネームスペースだけは恒久的な期間になります。
インターネット上でドメインはサブドメインを持ちます。 Symbol において、ネームスペースは資産を識別したり整理するためにサブネームスペースを持ちます。
ネームスペースでアセットを整理する
パブリックネットワーク では、ネームスペースは 3
階層まで持つことができます—ネームスペースと2階層のサブネームスペースドメインです。各ルートネームスペースは 256
サブネームスペースまで持つことができます。
サブネームスペースはそれ自身で期間を持っていません。親のネームスペース期間を継承します。
複数のサブネームスペース を異なるネームスペースに同じ名前で作ることができます。例えば foo.bar
と foo2.bar
を作ることができますが、 rootnamespace と subnamespace の組み合わせは一意を保つ必要があります。
エイリアストランザクション はネームスペースをアカウントまたはモザイクへリンクします。エイリアスまたはそのリンク済みアセットはトランザクションを送信するときに互換的に使用できます。エイリアスを使用すると長いアドレスを覚えやすく、モザイクを認識しやすくします。
ネームスペース作成者はアカウントまたはモザイクに ネームスペースをリンク することができます。このリンクは編集可能で、作成者は以前に設定したエイリアスのリンクを解除したり、別のアセットにネームスペースをリンクすることができます。
ブロック レシート は与えられたトランザクションのエイリアスの解決を保存します。
エイリアストランザクションには次の制限があります:
ネームスペースの作成または期間の延長をしたいアカウントは、レンタル手数料に加えて トランザクション手数料 を支払います。有効な NamespaceRegistrationTransaction のアナウンスをすると、両方の手数料はアカウントの残高から差し引かれます。
REST ゲートウェイ はネームスペースの登録に必要なネットワーク通貨の概算を取得するためのエンドポイントを提供します。
const nodeUrl = 'http://api-01.us-east-1.testnet.symboldev.network:3000';
const repositoryHttp = new RepositoryFactoryHttp(nodeUrl);
const networkHttp = repositoryHttp.createNetworkRepository();
networkHttp.getRentalFees().subscribe((rentalFees) => {
console.log(
'RootNamespaceRentalFeePerBlock',
rentalFees.effectiveRootNamespaceRentalFeePerBlock.compact(),
);
console.log(
'ChildNamespaceRentalFee',
rentalFees.effectiveChildNamespaceRentalFee.compact(),
);
});
const nodeUrl = 'http://api-01.us-east-1.testnet.symboldev.network:3000';
const repositoryHttp = new symbol_sdk_1.RepositoryFactoryHttp(nodeUrl);
const networkHttp = repositoryHttp.createNetworkRepository();
networkHttp.getRentalFees().subscribe((rentalFees) => {
console.log(
'RootNamespaceRentalFeePerBlock',
rentalFees.effectiveRootNamespaceRentalFeePerBlock.compact(),
);
console.log(
'ChildNamespaceRentalFee',
rentalFees.effectiveChildNamespaceRentalFee.compact(),
);
});
デフォルトのネームスペースレンタル手数料は ネットワークごとに設定可能 ですが、 ネットワークはモザイクレンタル手数料を動的に調整 していきます。
プロパティ | Value |
---|---|
ネームスペースの取得 | ブロック毎に 0.000001 symbol.xym |
ネームスペース期間の延長 | ブロック毎に 0.000001 symbol.xym |
サブネームスペースの作成 | 0.0001 symbol.xym |
実効レンタル手数料を算出するために、ネットワークは設定で決められたデフォルト値に最後の maxDifficultyBlocks の median network multiplier を乗算します。乗数がゼロの場合は、これらは中央値計算の前に defaultDynamicFeeMultiplier で置き換えられます。
お探しのものは見つかりましたか? フィードバックをください。