I am working on a app in which my project communicates with the bitcoin server to get the details of a transaction with transaction id as the parameter. I have bitcoind, bitcoin-cli and bitcoin-qt installed on my system. When I run the bitcoin-qt in regtest mode, I am able to create test transactions in which I can send money to an address and get the transaction id for the same. I use this transaction id in my app, I am able to get the transaction details from bitcoin-qt. The problem is, now my testing is limited to only outward transactions wherein I transfer bitcoins to another account. How can I create some test transactions wherein bitcoins are credited to my wallet?
You probably want to run multiple
bitcoind instances in
regtest to simulate multiple nodes.
Thats pretty easy. You can run a second instance by starting bitcoind with a clean data directory and a different RPC and P2P port.
For that, you could create a 2nd data directory (example:
Use something similar than:
regtest=1 rpcuser=rt rpcuser=rt port=12340 rpcport=10340 discover=0
Now you need to connect your first node with your 2nd node by sending a
addnode over the RPC interface.
bitcoin-cli addnode 127.0.0.1:10340 onetry
You can than distinct between both nodes with the
-datadir argument while calling
bitcoin-cli -datadir=/tmp/datadir2/ getinfo
generate coins in first node (50 BTC available)
bitcoin-cli generate 101
get address from 2nd node
bitcoin-cli -datadir=/tmp/datadir2/ getnewaddress
send coins to 2nd node
bitcoin-cli sendtoaddress <address> 10.0
Thanks for the reply. I had done the exact same thing and got it running. I was setting the datadir on my host system to a separate directory when starting bitcoin-qt. This was somehow preventing my app from talking with bitcoin-qt.– plbitAug 20, 2015 at 9:28
After doing the above, when I do
getmempoolinfofor the node that receives the transaction, it still shows 0. How do I send the transaction over. Aug 6, 2018 at 18:38
1Maybe the received funds are not yet confirmed,... call a generate(1) again or try to list unconfirmed balance Aug 9, 2018 at 10:39
I am trying to use the same above script but its adding the following error to the log 2019-01-10T12:35:51Z Binding RPC on address ::1 port 18443 failed. 2019-01-10T12:35:51Z Binding RPC on address 127.0.0.1 port 18443 failed. 2019-01-10T12:35:51Z Unable to bind any endpoint for RPC server 2019-01-10T12:35:51Z Error: Unable to start HTTP server. See debug log for details. 2019-01-10T12:35:51Z Shutdown: In progress... Jan 10, 2019 at 12:37
1For the record, starting at 0.18 the command
generateis deprecated and in 0.19 it will be completely removed. Use
generatetoaddressinstead. Apr 6, 2019 at 18:22