Ejemplos de OP_CHECKLOCKTIMEVERIFY
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
create.py
functions.py
requirements.txt
spend.py

README.md

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