スケジュール送金
スケジュール送金とは、1 つのトランザクションで設定する一連の支払いです。支払者は一度だけ署名し、チェーンが期日の来るたびに各支払いを行います。給与、サブスクリプション、手当、助成金のベスティングなどです。ZBC でもどのトークンでも支払えます。
スケジュールの設定
ScheduledTransfer(タイプ 29)は 47 バイトの本体を持ち、次のものを示します。
| フィールド | 意味 |
|---|---|
| トークン ID | 支払う資産。0 は ZBC を意味します |
| 金額 | 各支払いの金額 |
| 間隔 | 2 つの支払いの間の時間(秒単位) |
| 支払い回数 | 1 から 520 |
| クリフ | 最初の支払いまでの任意の遅延 |
| 資金拠出モード | ベスティングなら 0、プルなら 1(後述) |
| 取り消しポリシー | 取り消し可能または取り消し不可 |
| 終了時刻 | 任意 |
手数料はスケジュールの作成時に一度だけ支払われます。その後、支払いは間隔に従って行われます。各支払いは直前のブロックのタイムスタンプによって期日を迎えるため、生成者がブロックのタイムスタンプを先にずらして支払いをそのブロックに引き込むことはできません。
2 つの資金拠出モード
- ベスティング(モード 0):スケジュールの作成時に合計額全体がロックされ、1 回ずつ放出されます。受取人は、お金が確かに存在することを知っています。
- プル(モード 1):何もロックされません。各支払いは期日に支払者の残高から引き落とされます。4 回続けて支払えなかった場合、スケジュールは自動的に取り消されます。
ベスティングの支払いは、他の受け取る入金と同様に受取人の分配ポリシーを通りますが、プルの支払いは通りません(分配ポリシーと取引ポリシー を参照)。
取り消しと振り向け
- CancelSchedule(タイプ 30)はスケジュールを終わらせます。支払者が取り消せるのは、それが取り消し可能な場合だけです。受取人はいつでも取り消すことができ、これが受取人がスケジュールを辞退する方法です。ベスティングのスケジュールが取り消されると、まだロックされている分は支払者に戻ります。
- ReassignSchedule(タイプ 31)を使うと、受取人は将来の支払いを別のアドレスに振り向けることができます。
取引ポリシーが確認されるのは、ScheduledTransfer 自体に指定された受取人についてだけなので、受取人が後から支払いの受け取りを拒否する設定にしても、その後の支払いは届きます。
スケジュールがしないこと
スケジュールは、ネットワークが安くなる瞬間を探すことはしません。手数料は作成時に支払われ、支払いは支払者が設定した間隔に従います。取引もしません。指定した資産を支払うだけで、ある資産を別の資産に換えるのは スワップオファー と マーケットと注文 の仕事です。
他の形の支払いには他のツールがあります。1 分ごとに連続して権利が確定していくべきお金については リキッドペイメント(ストリーム) を、将来のブロック高やイベントの確定時に放出される 1 回の支払いについては トリガーとアテステーション を参照してください。
スケジュールされたトークンが失効した場合、トークンの ZBC の裏付けが分配されるときに、ベスティングのスケジュールにまだロックされている単位はスケジュールのオーナーの分として数えられます(トークン維持費(存続) を参照)。