리퀴드 페이먼트 (스트림)
리퀴드 페이먼트는 정해진 시간(분) 동안 지불하는 사람에게서 수신자에게 돈을 흘려보냅니다. 전체 금액은 처음에 잠기고 시간이 지나면서 고르게 귀속되므로, 수신자는 돈이 있다는 것을 확인할 수 있고, 지불하는 사람은 실제로 지난 시간만큼만 냅니다. 리퀴드 페이먼트는 분 단위 과금 서비스, 근무 교대 급여, 대여에 알맞습니다.
스트림 시작하기
LiquidPayment 트랜잭션(유형 6)은 수신자, 금액, 그리고 스트림의 길이를 분 단위로 나타낸 complete_minutes를 지정합니다. 토큰의 id를 지정하면 ZBC 대신 토큰을 흘려보낼 수 있습니다. 블록이 이를 포함하면 다음과 같습니다.
- 금액은 즉시 지불하는 사람의 잔액에서 빠져나가 잠깁니다.
- 명시한 시간(분)에 걸쳐 고르게 귀속됩니다.
- 시간이 다 되면 체인이 추가 트랜잭션 없이 스스로 전체 금액을 수신자에게 지급합니다.
완료 여부는 블록마다 이전 블록의 타임스탬프를 기준으로 검사하므로, 생산자가 블록의 타임스탬프를 앞당겨 찍어 최종 지급을 당겨 올 수 없습니다(만료와 타임스탬프 참조).
스트림 중지하기
어느 쪽이든 LiquidPaymentStop(유형 262)으로 스트림을 일찍 끝낼 수 있습니다. 그러면 체인은 두 트랜잭션의 타임스탬프 사이에 지난 시간에 따라 금액을 나눕니다. 수신자는 귀속된 부분을 받고, 나머지는 지불하는 사람에게 돌아갑니다. 수신자의 몫은 다음 원자 단위로 올림하므로, 반올림 때문에 수신자가 손해를 보는 일은 없습니다.
어느 쪽도 시계가 허락하는 것보다 많이 가져갈 수 없습니다. 지불하는 사람은 이미 귀속된 것을 되찾을 수 없고, 수신자는 아직 귀속되지 않은 것을 가져갈 수 없습니다.
다른 기능과 함께
- 분배 정책. 스트림의 지급은 들어오는 입금이므로 수신자의 분배 정책을 거칩니다(분배 정책과 거래 정책 참조).
- 거래 정책. 거래 정책은 LiquidPayment 자체에 지정된 수신자에 대해서만 검사합니다. 수신자가 나중에 결제를 받지 않기로 하더라도 스트림의 지급은 그대로 도착합니다.
- 토큰 스트림. 스트리밍 중인 토큰이 만료되면 그 ZBC 담보는 보유자들에게 나뉘며, 스트림 안의 단위는 귀속된 정도에 따라 양쪽에 각각 계산됩니다(토큰 유지비 (지속) 참조).
스트림은 정해진 시간 동안 연속으로 한 번 지급합니다. 매달 주는 용돈처럼 별개의 결제를 여러 번 하려면 예약 이체를, 미래의 블록 높이나 이벤트 뒤의 결제 한 번에는 트리거를 쓰십시오.