モザイク

モザイクは、スマートアセットシステムに一意性と柔軟さをもたらすものの一部です。これらは、変化しない複数の同一物の集合を表すことができる 固定されたアセット です。

モザイクは トークン といえますが、より特化したアセット: 報酬ポイント、株式、署名、状態フラグ、投票やその他の貨幣などのコレクションとみなすこともできます。

各モザイクは 64-bit 符号なし整数の一意な識別子と モザイクを作成 する際に定義できる 設定可能なプロパティ とフラグの集合を持ちます。

 

プロパティ

設定可能なプロパティのリストは次の通りです。

可分性

モザイクがどれくらいの小数点以下に分割できるかを決定します。可分性 3 はモザイクが最小で 0.001 に分割できることを意味します。可分性は 0 から 6 の範囲でなければなりません。

初期供給量

モザイクの供給量の総数です。合計供給量は 0 と 9,000,000,000,000,000 の原子単位の範囲でなければなりません。

Symbol ではモザイクの単位を 絶対量 として定義します。絶対量を取得するには作成または送信するアセット量に 10divisibility を乗じてください。

例えば、モザイクが 可分性 2 である場合、10 単位 (相対) 作成または送信するには 1,000 (絶対) と定義します。

期間

モザイクのレンタル期間の承認済みブロック数を指定します。Symbol パブリックネットワークにおいて、期間は 3650 日 (10年)まで許可されています。パラメータ最大値は ネットワークごとに設定可能 です。 期限の切れないモザイク を作る場合は、プロパティを 0 にしてください。

注釈

ネームスペースとは異なり、モザイク期間は作成後に延長できません。作成する前に、あなたの要求において、モザイクの期限が切れる必要があるかどうかを検討してください。

次の式を使用して、日数をおよそのブロック数に変換します:

[duration ≈ numberOfDays * 86400 / blockGenerationTargetTimeInSeconds]

供給可変性

true の場合、モザイクの供給量は後から変更できます。モザイク作成者は MosaicSupplyChangeTransaction を使用して、モザイクの総供給量を再定義できます。トランザクションはモザイクの供給量を delta 単位で増減します。

モザイクの供給を減らすにはモザイク作成者アカウントが少なくとも delta 単位を所有している必要があります。供給量可変プロパティが有効になっていても、モザイク作成者が他のアカウントの残高からモザイクを削除できるわけではありません。

false の場合、モザイクの供給量は不変になります。ただし、モザイク作成者がすべてのモザイクの供給量を所有している場合、モザイクが不変と定義されている場合でも、変更できます。

転送可能性

../_images/mosaic-transferable.png

転送不可モザイクの例

true の場合、モザイクは任意のアカウント間で転送できます。そうでない場合、モザイクはモザイク作成者へ送り返すことしかできません。

制限可能性

../_images/mosaic-restriction-delegated.png

モザイク制限の例

true の場合、モザイク作成者は 制限 を設定できます。

 

作成手数料

モザイク作成を希望するアカウントは トランザクション手数料 に加えてレンタル料金を支払います。有効な MosaicDefinitionTransaction のアナウンスをすると、両方の手数料がアカウントの残高から差し引かれます。

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(rentalFees.effectiveMosaicRentalFee.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(rentalFees.effectiveMosaicRentalFee.compact());
});

デフォルトでは、Symbol パブリックネットワークにおいて、モザイクの作成には 0.0005 symbol.xym初期コスト があります。しかし ネットワークはモザイクレンタル手数料を動的に調整 していきます。

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

ガイド

次項: ネームスペース