Estoy escribiendo una tesis sobre el sistema Bitcoin y, como parte de mi tarea, tengo que explorar el código fuente del núcleo de Bitcoin.
He descargado el código, lo he compilado y logro ejecutarlo. Sin embargo, quería hacer un cambio trivial en el código y agregar un comando personalizado simple como parte de blockchain.cpp . El problema es que mis cambios no son visibles después de ejecutar make y cuando ejecuto bitcoin-cli -testnet .
Siempre obtengo: código de error: -32601 mensaje de error: Método no encontrado
Además, intenté comentar un método ya funcional e intenté ejecutar bitcoin-cli y llamar a esa función y se ejecuta correctamente. NOTA: el comando "hacer" se ejecuta sin problemas y detecta errores, si los hay.
¿Alguien puede explicarme cuál es la forma adecuada de realizar cambios en bitcoin-core? No planeo impulsar ninguno de esos cambios en la rama maestra, solo estoy interesado en experimentar con el código.
Gracias de antemano :)
Para agregar un nuevo RPC, debe escribir la función que implementa su acción, agregar la función a la tabla de despacho y actualizar la bitcoin-cli
tabla de conversión de tipos.
En la parte inferior del archivo RPC al que agregó su función (en este caso, src/rpc/blockchain.cpp
verá una tabla que tiene todos los RPC en ese archivo, así como información adicional sobre ellos, como la categoría, el nombre y los nombres de los argumentos). Agregue su nuevo RPC a esa tabla.
A continuación, si su comando tiene argumentos que no son cadenas, abra src/rpc/client.cpp
y agregue esos argumentos a la vRPCConvertParams
lista allí. En esa lista, le asigna el nombre RPC, el índice del argumento que debe convertirse y el nombre de ese argumento.
ddavi031
ddavi031
andres chow
ddavi031
ddavi031
andres chow
make
lo compilamake install
compila y luego copia los archivos binarios compilados en una ubicación de instalación. Si no estaba usando directamente los binarios especificando una ruta hacia ellos (es decir,src/bitcoind
ysrc/bitcoin-cli
), entonces su sistema intentará encontrarlos buscándolos en el archivoPATH
.make install
copia los archivos binarios en una ubicación que se encuentra en el archivoPATH
.