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.
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.
$> 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.
- 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
-
Se enviaron 20 CHA a la dirección P2SH generada, que puedes observar en el explorador de bloques.
-
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'}
P2SH Address: MSxD8GjPmL6oMKLEVedg3ui8Tq5utXAodx