trouble with bitcoin cli regtest These are the commands I'm running after building a clean ubuntu docker image with all the dependencies:

./src/bitcoin-cli -regtest &amp;


It yields the error:

error: too few parameters (need at least command)


Next I ran:

./src/bitcoin-cli -regtest -daemon


which resulted in:

error: too few parameters (need at least command)


finally:

./src/bitcoin-cli -regtest 101 &amp; 


yields:

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)


These commands have been taken from the following resource: 

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

There's a question here, and a corresponding answer that provides a script to start regtest, is that a good solution?



Next step

so I ran first:

bitcoind -regtest -daemon


and I got the output: 

Bitcoin server starting


then I tried: 

bitcoin-cli -regtest getinfo


which resulted in:

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)


these commands also generated the same output as above:

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


so I've created the following file: 

vim /root/.bitcoin/bitcoin.conf


it's literally just this: 

rpcpassword=123


*also tried with this: 

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


and now issued the command: 

bitcoin-cli -regtest getinfo


which resulted in the following:

error: couldn't connect to server: unknown (code -1)
(make sure server is running and you are connecting to the correct RPC port)
It seems you're mixing up bitcoind and bitcoin-cli.

bitcoind is the Bitcoin Core daemon. It must be running first before you can do anything. bitcoin-cli is a tool to send RPC commands to a running bitcoind instance.

From the linked documentation page:


  bitcoind -regtest -daemon


No need to put a &amp; after the command if you run with -daemon.

Once bitcoind is running, you can for example send the getinfo command using bitcoin-cli:


  bitcoin-cli -regtest getinfo


Or send generate 101 to generate 101 blocks:


  bitcoin-cli -regtest generate 101


To learn about other commands you can send:


  bitcoin-cli -regtest help


That way you could for example learn about the ping command. To learn more about that, you can send:


  bitcoin-cli -regtest help ping


You need to specify -regtest for every command, as you can have a daemon running for each network (one for mainnet, one for testnet, one for regtest), or more if you configure each to run in separate directories and network ports.

Note that bitcoin-cli is just a program that speaks JSON-RPC (which is a standardized protocol), albeit somewhat specialized for use with bitcoind. You can connect to bitcoind using any JSON-RPC client (for which libraries exist in all popular languages). To do so, you'll need to configure a username/password for connecting to bitcoind.

To explain what you are seeing:


./src/bitcoin-cli -regtest &amp; won't work as bitcoind is not yet running, and you aren't specifying a command to send.
./src/bitcoin-cli -regtest -daemon likewise.
./src/bitcoin-cli -regtest 101 &amp; looks almost right, except you missed the generate, so you're trying to send the non-existing command 101 to a daemon that is not yet running.