Skip to content

proyecto-chaucha/CLTV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLTV (CheckLockTimeVerify)

Colección de scripts en Python que permiten bloquear Chauchas en la red hasta que el número de bloque sea mayor al parametro locktime definido.

Modo de uso

Crear dirección P2SH:

El script create.py permite generar un "script de desbloqueo" y una dirección P2SH (que comienza con la letra M mayúscula) en base a un tiempo máximo de bloqueo locktime y una llave privada privkey.

(Es recomendado definir el parámetro locktime en "bloques" y no en formato EPOCH)

$> python3 create.py <locktime> <privkey>
> P2SH ADDRESS: <address que inicia con M>
> REDEEM SCRIPT: <script de desbloqueo>

Esta dirección P2SH es capaz de aceptar Chauchas que solo podrán ser gastadas con la utilización del script de desbloqueo.

Gastar Chauchas almacenadas en la dirección P2SH:

$> python3 spend.py <locktime> <privkey> <address receptora>
> BALANCE (<dirección P2SH>): <cantidad de Chauchas>
> RESPONSE: {"txid":"<ID de transacción>"}

El script spend.py permite contruir una transacción que incluye todos los fondos almacenados en la dirección P2SH, que es generada por el parametro locktime y la llave privada privkey, los cuales serán enviados a la dirección receptora address a través de la Red Chaucha.

Ejemplo

  1. Se utilizó el archivo create.py para generar un script de desbloqueo, usando la llave privada 5KjD85fz6RgN7XNGUPWzBaUyV8Fha2tbdfgi3hjwhrjzRCuAjPb y el bloque 327000 como parámetros de entrada.
$> python3 create.py 327000 5KjD85fz6RgN7XNGUPWzBaUyV8Fha2tbdfgi3hjwhrjzRCuAjPb
> P2SH ADDRESS: MJQu639U3WKH6pQdkX4FasFta1GKLFZ11X
> REDEEM SCRIPT: 0358fd04b1752102e683f8f0b0e6ca5c9edec7e85cde47338ace009dde18ebee0e19a1621522c247ac
  1. Se enviaron 20 CHA a la dirección P2SH generada, que puedes observar en el explorador de bloques.

  2. Las 20 CHA bloqueadas fueron transferidas con éxito, incluyendo la transacción dentro del bloque 327003.

$> python3 spend.py 327000 5KjD85fz6RgN7XNGUPWzBaUyV8Fha2tbdfgi3hjwhrjzRCuAjPb ceoNBCv1JF6GgeAhsFLk6efbRkCX5n8kZn
> BALANCE (MJQu639U3WKH6pQdkX4FasFta1GKLFZ11X): 20.000000
> RESPONDE: {'txid' : '8f750f22dc60cca6a2fe5f2273dcf46ef0fe1ba1d30ce84856d8241b9bed1b58'}

Prueba de funcionamiento

P2SH Address: MSxD8GjPmL6oMKLEVedg3ui8Tq5utXAodx

Fuentes

About

Ejemplos de OP_CHECKLOCKTIMEVERIFY

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages