レシート

バックグラウンドでの条件付き状態変更は、複雑なトランザクションを可能にします。

例えば ハッシュロックアグリゲートボンドトランザクション が承認され次第、終了します。ロックされた資金が自動的に口座に返却されるとき、追加で トランザクション は記録されません。これは アカウント の残高が増える 隠された変更 として現れるかもしれません。レシートはすべての隠された変更の証拠を提供します。

レシートのハッシュは merkle tree に入り ブロック にリンクされます。ブロックヘッダはルートハッシュを格納し、ブロックがレシートを持ったときに0ではなくなります。

トランザクションステートメント

トランザクションステートメント は特定のブロック内のトランザクションにリンクしたレシートの集合です。ステートメントは以下の基礎タイプをもつレシートを含みます:

  • Balance Transfer: モザイク転送がトリガされた。
  • Balance Transfer: モザイクcreditまたはdebitがトリガされた。
  • Artifact Expiry: アーティファクト (例 ネームスペースモザイク ) の期限が切れた。

エイリアス解決

トランザクションが エイリアス を含むとき、 解決ステートメント と呼ばれ、そのブロックの解決済みの値を反映します:

  • Address Resolution: このブロックで使用されたアカウントエイリアス。
  • Mosaic Resolution: このブロックで使用されたモザイクエイリアス。

エイリアスレシートはブロック内で使用された(未解決、解決済み)エイリアスペアの最初の出現を記録します。

記録済みレシート

Catapult は以下のエントリに不可視な状態変化を記録します。

Id レシート タイプ 説明
Core      
0x4321 Harvest_Fee BalanceCredit 受信者。アカウントとブロックのハーベスティングにより受け取った手数料の合計。ブロックが ハーベスト されたときに記録されます。
0x43F1 Address_Alias_Resolution Alias Resolution 未解決と解決済み エイリアス 。トランザクションがアドレスの代わりに有効なアドレスエイリアスを示したときに記録されます。
0x43F2 Mosaic_Alias_Resolution Alias Resolution 未解決と解決済みエイリアス。トランザクションがモザイクIDの代わりに有効なモザイクエイリアスを示したときに記録されます。
0x43E1 Transaction_Group Aggregate 与えられたソースの状態変化の集合。状態変化レシートが発行されたときに記録されます。
モザイク      
0x4D41 Mosaic_Expired ArtifactExpiry このブロック内でのモザイクIDの期限切れ。 モザイク の期限が切れたときに記録されます。
0x4D12 Mosaic_Levy BalanceTransfer 徴収されたモザイクの送信者と受信者、モザイクIDと量。トランザクションが徴収モザイクを持っているときに記録されます。
0x4D13 Mosaic_Rental_Fee BalanceTransfer モザイクIDの送信者と受信者とモザイクを登録するためのコストを示す量。モザイクが登録されたときに記録されます。
ネームスペース      
0x4E41 Namespace_Expired ArtifactExpiry このブロック内でのネームスペースIDの期限切れ。 ネームスペース の期限が切れたときに記録されます。
0x4E12 Namespace_Rental_Fee BalanceTransfer モザイクIDの送信者と受信者、およびネームスペースを延長するためのコストを示す量。ネームスペースが登録されたとき、またはその期間が延長されたときに記録されます。
HashLock      
0x4831 LockHash_Created BalanceDebit ロックされたモザイクと量のロックハッシュ送信者。妥当な HashLockTransaction がアナウンスされたときに記録されます。
0x4822 LockHash_Completed BalanceCredit ハッシュロック送信者、ロックされたモザイクIDと量。アグリゲートボンドトランザクションがハッシュコンプリートにリンクしたときに記録されます。
0x4823 LockHash_Expired BalanceCredit アカウントが受信するロックされたモザイク、モザイクIDとその量。ロックハッシュの期限が切れたときに記録されます。
SecretLock      
0x5231 LockSecret_Created BalanceDebit ロックされたモザイクと量のシークレットロック送信者。妥当な SecretLockTransaction がアナウンスされたときに記録されます。
0x5222 LockSecret_Completed BalanceCredit ロックされたモザイクIDと量のシークレットロックの送信者。シークレットロックが提供されたときに記録されます。
0x5223 LockSecret_Expired BalanceCredit アカウントが受信するロックされたモザイク、モザイクIDとその量。シークレットロックの期限が切れたときに記録されます。

スキーマ

レシート

インライン

プロパティ タイプ 説明
version uint16 レシートバージョン
type ReceiptType レシートタイプ

TransactionStatement

  • バージョン: 0x1
  • type: Transaction_Group

インライン

プロパティ タイプ 説明
m_source ReceiptSource レシートのソース
receipts array(ReceiptHeader, receiptsHeadersSize) レシートヘッダの配列

ResolutionStatement

  • バージョン: 0x1
  • type: Address_Alias_Resolution or Mosaic_Alias_Resolution

インライン

プロパティ タイプ 説明
unresolved 25 bytes (binary) or uint64 未解決アドレスまたは未解決モザイクID
m_entries array(ResolutionEntry, resolvedEntriesSize) 解決エントリの配列

ResolutionEntry

プロパティ タイプ 説明
resolvedValue 25 bytes (binary) or uint64 解決済みアドレスまたは解決済みモザイクID
source ReceiptSource レシートのソース

ReceiptSource

プロパティ タイプ 説明
primaryId uint32 トランザクション優先ソース (例: ブロック内のインデックス)
secondaryId uint32 トランザクション副ソース (例: アグリゲート内のインデックス)

BalanceTransferReceipt

  • バージョン: 0x1
  • basicType: 0x1

インライン

プロパティ タイプ 説明
sender 32 bytes (binary) 送信者の公開鍵
recipient 32 bytes (binary) 受信者の公開鍵
mosaicId uint64 モザイクID
amount uint64 モザイクの量

BalanceChangeReceipt

  • バージョン: 0x1
  • basicType: (0x2) credit or (0x3) debit

インライン

プロパティ タイプ 説明
account 32 bytes (binary) ターゲットのアカウント公開鍵
mosaicId uint64 モザイクID
amount uint64 モザイクの量

ArtifactExpiryReceipt

  • バージョン: 0x1
  • basicType: 0x4

インライン

プロパティ タイプ 説明
artifactId uint64 アーティファクトのID (例 ネームスペース、モザイク)