예약 이체
예약 이체는 트랜잭션 하나로 설정하는 일련의 결제입니다. 지불하는 사람은 한 번 서명하고, 체인이 각 결제의 기한이 될 때마다 결제를 실행합니다. 급여, 구독, 용돈, 지원금의 베스팅 같은 것입니다. ZBC든 어떤 토큰이든 지급할 수 있습니다.
일정 설정하기
ScheduledTransfer(유형 29)는 다음을 명시하는 47바이트 본문을 가집니다.
| 필드 | 의미 |
|---|---|
| 토큰 id | 지급할 자산. 0은 ZBC |
| 금액 | 결제 한 번의 금액 |
| 간격 | 두 결제 사이의 시간(초 단위) |
| 결제 횟수 | 1~520 |
| 클리프 | 첫 결제 전의 선택적인 지연 |
| 자금 방식 | 0은 베스팅, 1은 풀(아래 참조) |
| 취소 정책 | 취소 가능 또는 취소 불가 |
| 종료 시각 | 선택 사항 |
수수료는 일정을 만들 때 한 번 냅니다. 그 뒤 결제는 간격을 따릅니다. 각 결제는 이전 블록의 타임스탬프로 기한이 되므로, 생산자가 블록의 타임스탬프를 앞당겨 찍어 결제를 자기 블록으로 끌어올 수 없습니다.
두 가지 자금 방식
- 베스팅(방식 0): 일정을 만들 때 전체 합계를 잠그고, 결제 한 번씩 풀어 줍니다. 수신자는 돈이 실제로 있다는 것을 알 수 있습니다.
- 풀(방식 1): 아무것도 잠그지 않습니다. 각 결제는 기한이 될 때 지불하는 사람의 잔액에서 가져갑니다. 연속으로 네 번 결제에 실패하면 일정은 스스로 취소됩니다.
베스팅 결제는 다른 입금과 마찬가지로 수신자의 분배 정책을 거치지만, 풀 결제는 거치지 않습니다(분배 정책과 거래 정책 참조).
취소와 수신처 변경
- CancelSchedule(유형 30)은 일정을 끝냅니다. 지불하는 사람은 일정이 취소 가능할 때만 취소할 수 있습니다. 수신자는 언제든 취소할 수 있으며, 이것이 수신자가 일정을 거절하는 방법입니다. 베스팅 일정이 취소되면 아직 잠겨 있는 것은 지불하는 사람에게 돌아갑니다.
- ReassignSchedule(유형 31)은 수신자가 앞으로의 결제를 다른 주소로 돌리게 합니다.
거래 정책은 ScheduledTransfer 자체에 지정된 수신자에 대해서만 검사하므로, 수신자가 나중에 결제를 받지 않기로 하더라도 이후의 결제는 그대로 도착합니다.
일정이 하지 않는 일
일정은 네트워크의 수수료가 싼 순간을 찾아다니지 않습니다. 수수료는 만들 때 내고, 결제는 지불하는 사람이 정한 간격을 따릅니다. 거래도 하지 않습니다. 일정은 자기가 지정한 자산을 지급하며, 한 자산을 다른 자산으로 바꾸는 것은 스왑 제안과 마켓의 일입니다.
다른 형태의 결제에는 다른 도구가 있습니다. 1분 단위로 연속해서 귀속되어야 하는 돈은 리퀴드 페이먼트 (스트림)을, 미래의 블록 높이에서 또는 이벤트가 확인될 때 풀리는 결제 한 번은 트리거와 증언을 참조하십시오.
예약된 토큰이 만료되면, 토큰의 ZBC 담보를 나눌 때 베스팅 일정에 아직 잠겨 있는 단위는 일정 소유자의 몫으로 계산됩니다(토큰 유지비 (지속) 참조).