アグリゲートトランザクションは複数のトランザクションを一つにまとめ、 トラストレスな交換 や高度なロジックを可能にします。 Symbol は一度きりの破棄可能なスマートコントラクトを生成することでこれを実現しています。
2人の参加者間における AggregateTransaction の例
AggregateTransaction へ全ての アカウント が署名をすると、全てのインナートランザクションは同時に実行されます。
Symbol パブリックネットワーク は 1,000
までのインナートランザクションを内包し、 25
の連署者を参加させたアグリゲートトランザクションをサポートしています。他のアグリゲートトランザクションをインナートランザクションとして内包することはできません。
要求されている参加者全員が署名した場合、AggregateTransaction は コンプリート になります。
連署者はそのトランザクションに、ブロックチェーンを使うことなく署名することができます。必要な署名をすべて取得したら、彼らのうちの1人がネットワークにアナウンスできます。インナートランザクションのセットアップが正当で、バリデーションエラーがない場合、トランザクションは同時に実行されます。
アグリゲートコンプリートトランザクションは、複数のインナートランザクションを集めることで、ブロックへさらに多くのトランザクションを追加できます。
他の参加者からの署名が必要な場合、AggregateTransaction は ボンデッド になります。
注釈
AggregateBondedTransaction を送信する前に、アカウントは HashLockTransaction をアナウンスして承認されており 10
symbol.xym
をロックしなければなりません。
アグリゲートボンドがアナウンスされると、パーシャル状態— 2日間
まで存続可能—になり、WebSocket または HTTP API 呼び出しによって状態を通知します。
連署者がトランザクションに署名して、アグリゲートボンド 連署 をアナウンスするたびに、ネットワークは必要な連署者が署名しているかどうかをチェックします。すべての署名が取得されると、ネットワークがそれをブロックに含めるまで、トランザクションは未承認状態へ遷移します。
AggregateBondedTransaction サイクル
Dan は二つの転送トランザクションを集約した AggregateTransaction をアナウンスします。Alice と Bob は同時にモザイクを受け取るでしょう。
アグリゲート完了トランザクションによって支払を送信する
この例では Alice がチケットを currency:euro
モザイク で購入しています。チケット販売者は AggregateTransaction に署名し、交換はアトミックに起こります。
マルチアセットエスクロートランザクション
Alice は 10 currency.euro
を Bob へ支払うためにアプリで送ります。しかし、彼女はブロックチェーンのトランザクション手数料を支払う分の symbol.xym
を持っていません。
AggregateBondedTransaction を作ることで、彼女は currency.euro
を手数料のための symbol.xym
に替えることができます。これで Alice と Bob は symbol.xym
を購入したり保有することなく、 Symbol のパブリックブロックチェーンを使うことができます。
アプリの製作者はオープンソースの支払いアプリに独自ブランドを付けられるので、Alice と Bob は彼らがブロックチェーン技術を使っていることに気が付かないでしょう。
他人の手数料を支払う
お探しのものは見つかりましたか? フィードバックをください。