Wiki de ZooBC
Transacciones

Transferencias programadas

Una transferencia programada es una serie de pagos establecida mediante una sola transacción. El pagador firma una vez, y la cadena hace cada pago cuando vence: un salario, una suscripción, una asignación o la liberación de una subvención. Puede pagar ZBC o cualquier token.

Establecer una programación

Una ScheduledTransfer (tipo 29) tiene un cuerpo de 47 bytes que indica:

CampoSignificado
id del tokenel activo que se paga; 0 significa ZBC
importeel importe de cada pago
intervaloel tiempo entre dos pagos, en segundos
número de pagosde 1 a 520
periodo de carenciaun retraso opcional antes del primer pago
modo de financiación0 para liberación, 1 para cobro (véase más abajo)
política de cancelaciónrevocable o irrevocable
hora de finopcional

La comisión se paga una sola vez, cuando se crea la programación. Después, los pagos siguen el intervalo; cada uno vence según la marca de tiempo del bloque anterior, así que un productor no puede estampar su bloque adelantado para atraer un pago hacia él.

Dos modos de financiación

Dos carriles a lo largo de un eje de tiempo: liberación, en el que un cofre bloqueado libera un pago igual en cada marca, y cobro, en el que cada pago se toma del pagador y cuatro fallos seguidos terminan en cancelación
Dos carriles a lo largo de un eje de tiempo: liberación, en el que un cofre bloqueado libera un pago igual en cada marca, y cobro, en el que cada pago se toma del pagador y cuatro fallos seguidos terminan en cancelación
  • Liberación (modo 0): todo el total se bloquea cuando se crea la programación y se libera pago a pago. El destinatario sabe que el dinero está realmente ahí.
  • Cobro (modo 1): no se bloquea nada. Cada pago se toma del saldo del pagador cuando vence. Tras cuatro pagos fallidos seguidos, la programación se cancela sola.

Los pagos en modo de liberación pasan por la política de reparto del destinatario, como cualquier abono entrante; los pagos en modo de cobro, no (véase políticas de reparto y de transacciones).

Cancelar y redirigir

  • CancelSchedule (tipo 30) termina una programación. El pagador solo puede cancelarla si es revocable. El destinatario puede cancelarla en cualquier momento, que es la forma en que un destinatario rechaza una programación. Cuando se cancela una programación en modo de liberación, lo que sigue bloqueado vuelve al pagador.
  • ReassignSchedule (tipo 31) permite al destinatario redirigir los pagos futuros a otra dirección.

Una política de transacciones solo se comprueba frente al destinatario nombrado en la propia ScheduledTransfer, así que sus pagos posteriores siguen llegando a un destinatario que después se excluya de los pagos.

Lo que no hace una programación

Una programación no busca un momento barato en la red: su comisión se paga al crearla, y sus pagos siguen el intervalo que fijó su pagador. Tampoco negocia: paga el activo que nombra, y convertir un activo en otro es tarea de las ofertas de intercambio y de los mercados.

Otras herramientas cubren otras formas de pago. Para dinero que debe liberarse de forma continua, minuto a minuto, véase pagos líquidos (flujos). Para un único pago liberado en una altura de bloque futura o cuando se confirma un evento, véase disparadores y atestaciones.

Si caduca un token programado, las unidades que siguen bloqueadas en una programación en modo de liberación cuentan para el dueño de la programación cuando se reparte el respaldo en ZBC del token (véase mantenimiento de un token (persistencia)).

Véase también