No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Bitcoin Core y Script

Curso de Bitcoin Core y Script

Juan Sebasti谩n Marulanda

Juan Sebasti谩n Marulanda

Ejecuta tus propios scripts

17/19
Recursos

Con bitcoin-cli es muy sencillo comenzar a trabajar con el lenguaje de programaci贸n de Bitcoin. Ejecutar algunos scripts que te permitan comprender el funcionamiento de un lenguaje poco convencional, basado en una pila y Turing incompleto.

C贸mo hacer la depuraci贸n de scripts

Desarrollar tus propios scripts para crear transacciones en Bitcoin es una tarea que no debe tomarse a la ligera. Debes tener las herramientas y el conocimiento necesario para probar los scripts y estar 100% seguro de que no causar谩n perdidas econ贸micas.

La comunidad de Bitcoin desarroll贸 una gran herramienta para depurar scripts y realizar pruebas con estos para tener certeza de su buen funcionamiento. btcdeb es otra interfaz por l铆nea de comandos que te permitir谩 correr un script y verificar paso a paso su funcionamiento.

El profesor Marulanda se ha tomado el brillante trabajo de prepararnos una completa gu铆a de texto donde encontrar谩s los pasos para su instalaci贸n y uso.

Con btcdeb o Bitcoin Script Debugging, ejecuta un script, y con el comando step podr谩s visualizar por consola paso a paso la ejecuci贸n del script en formato de pila.

Por ejemplo, si quieres ejecutar un script para sumar dos n煤meros, puedes ejecutar el siguiente comando donde visualizar谩s el script y la pila que ir谩 complet谩ndose con cada operador o dato del script, paso a paso.
Ejecuci贸n de script para sumar dos n煤meros

En el primer paso, se guarda el primer n煤mero en la pila.
Push del primer n煤mero en el stack

En el segundo paso, se guarda el segundo n煤mero en la pila.
Push del segundo n煤mero en el stack

En el tercer paso, se procesa los dos n煤meros con el operador OP_ADD para sumarlos y obtener el resultado.
Ejecuci贸n de la suma

De esta manera, corroboramos que el script es correcto y cumple con su cometido de realizar una suma.

Conclusi贸n

Has visto que con esta herramienta, de forma muy sencilla y visual, puedes comenzar a ejecutar scripts de todo tipo. Desde una simple suma, hasta validar complejas transacciones de BTC.

El reto para ti, busca scripts m谩s complejos y comienza a validar los mismos. Podr谩s encontrar algunos en la gu铆a que el profesor prepar贸 para la comunidad de Platzi. An铆mate, a dar estos primeros pasos con Bitcoin Script.


Contribuci贸n creada por: Kevin Fiorentino (Platzi Contributor).

Aportes 3

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

RESUMEN CLASE 17:
EJECUTA TUS PROPIOS
SCRIPTS

Verificamos si tenemos instalado btcdeb

$ which btcdeb

Instalamos btcdeb 鈥淏itcoin Script Debugger鈥 para depurar un script

$ sudo apt-get install git
$ git clone https://github.com/bitcoin-core/btcdeb.git

Ahora que ya clonaste el repositorio instalana C++ y algunos paquetes necesarios.

$ sudo apt-get install autoconf libtool g++ pkg-config make

Instala readline, herramienta que permite navegar sobre el depurador

$ sudo apt-get install libreadline-dev

Ahora, instala btcdeb:

$ cd btcdeb
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Revisa si cuentas con una copia en tu m谩quina: /usr/local/bin/btcdeb

$ which btcdeb

Como depurar un script 1

$ btcdeb '[1 2 OP_ADD]'
> step

Como depuramos el script 2

$ btcdeb '[1 2 OP_ADD 2 OP_SUB]'
> step

Ejemplo de P2PKH

$ btcdeb '[304402201cc39005b076cb06534cd084fcc522e7bf937c4c9654c1c9dfba68b92cbab7d1022066f273178febc7a37568e2e9f4dec980a2e9a95441abe838c7ef64c39d85849c 0315a0aeb37634a71ede72d903acae4c6efa77f3423dcbcd6de3e13d9fd989438b OP_DUP OP_HASH160 41d83eaffbf80f82dee4c152de59a38ffd0b6021 OP_EQUALVERIFY OP_CHECKSIG]'

> step

Muy buena herramienta btcdeb. Poder visualizar paso a paso c贸mo interactua el script con la pila es brillante para comprender c贸mo funciona un lenguaje de programaci贸n basado en un stack y Turing incompleto.

Les recomiendo este IDE es muy bueno tambi茅n
https://siminchen.github.io/bitcoinIDE/build/editor.html