problemas con el registro de bitcoin cli

Estos son los comandos que estoy ejecutando después de crear una imagen limpia de ubuntu docker con todas las dependencias:

./src/bitcoin-cli -regtest &

Produce el error:

error: too few parameters (need at least command)

A continuación ejecuté:

./src/bitcoin-cli -regtest -daemon

lo que resultó en:

error: too few parameters (need at least command)

finalmente:

./src/bitcoin-cli -regtest 101 & 

rendimientos:

error: Could not locate RPC credentials. No authentication cookie could be found, and no rpcpassword is set in the configuration file (/root/.bitcoin/bitcoin.conf)

Estos comandos se han tomado del siguiente recurso:

https://bitcoin.org/en/developer-examples#regtest-mode

Aquí hay una pregunta y una respuesta correspondiente que proporciona un script para iniciar el registro, ¿es esa una buena solución?

Para detener el daemon use la interfaz o ejecute bitcoin-cli stop.


Próximo paso

así que corrí primero:

bitcoind -regtest -daemon

y obtuve la salida:

Bitcoin server starting

luego probé:

bitcoin-cli -regtest getinfo

lo que resultó en:

error: Could not locate RPC credentials. No authentication cookie could be found, and no rpcpassword is set in the configuration file (/root/.bitcoin/bitcoin.conf)

estos comandos también generaron el mismo resultado que el anterior:

./src/bitcoin-cli -regtest help  
./src/bitcoin-cli -regtest 101

así que he creado el siguiente archivo:

vim /root/.bitcoin/bitcoin.conf

es literalmente solo esto:

rpcpassword=123

*También probé con esto:

server=1
rpcuser=root
rpcpassword=password
rpcconnect=127.0.0.1
rpcport=8332

y ahora emitió el comando:

bitcoin-cli -regtest getinfo

lo que resultó en lo siguiente:

error: couldn't connect to server: unknown (code -1)
(make sure server is running and you are connecting to the correct RPC port)

Respuestas (1)

Parece que te estás mezclando bitcoindy bitcoin-cli.

bitcoindes el demonio de Bitcoin Core. Debe estar ejecutándose primero antes de que pueda hacer algo. bitcoin-clies una herramienta para enviar comandos RPC a una bitcoindinstancia en ejecución.

Desde la página de documentación vinculada:

bitcoind -registro -daemon

No es necesario poner un &después del comando si ejecuta con -daemon.

Una vez bitcoindque se está ejecutando, puede, por ejemplo, enviar el getinfocomando usando bitcoin-cli:

bitcoin-cli -regtest getinfo

O enviar generate 101para generar 101 bloques:

bitcoin-cli -regtest generar 101

Para conocer otros comandos que puedes enviar:

bitcoin-cli -registro de ayuda

De esa manera, podría, por ejemplo, aprender sobre el pingcomando. Para obtener más información al respecto, puede enviar:

bitcoin-cli -regtest ayuda ping

Debe especificar -regtestpara cada comando, ya que puede tener un demonio ejecutándose para cada red (uno para mainnet, uno para testnet, uno para regtest), o más si configura cada uno para que se ejecute en directorios y puertos de red separados.

Tenga en cuenta que bitcoin-clies solo un programa que habla JSON-RPC (que es un protocolo estandarizado), aunque algo especializado para usar con bitcoind. Puede conectarse bitcoindusando cualquier cliente JSON-RPC (para el cual existen bibliotecas en todos los idiomas populares). Para hacerlo, deberá configurar un nombre de usuario/contraseña para conectarse a bitcoind.

Para explicar lo que estás viendo:

  • ./src/bitcoin-cli -regtest &no funcionará porque bitcoindaún no se está ejecutando y no está especificando un comando para enviar.
  • ./src/bitcoin-cli -regtest -daemonasimismo.
  • ./src/bitcoin-cli -regtest 101 &se ve casi bien, excepto que te perdiste el generate, por lo que estás tratando de enviar el comando que no existe 101a un demonio que aún no se está ejecutando.
tienes toda la razón en que estaba confundido idy cli, en el siguiente paso en el OP, traté de seguir tu guía, pero también parece que lo arruiné, o no funcionó, traté de escribir exactamente lo que yo' he hecho, ¿ves lo que he hecho mal?
No puede cambiar bitcoin.conf mientras se ejecuta bitcoind. O bien no se establece rpcuser/rpcpassport cuando se inicia bitcoind, y utilizará la autenticación de cookies, o está establecido, y tanto bitcoind como bitcoin-rpc lo utilizarán.
Aja ok. también inicié la red de esta manera: bitcoin.stackexchange.com/questions/45881/… que parecía ser mejor, pero ahora falla porque el tamaño de mi contenedor acoplable es demasiado pequeño:/ necesito descubrir cómo cambiar su tamaño