Author

Topic: PSA: Run A Full Node on Windows -- without the wallet! (Read 1811 times)

legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
For a long time now, I've wanted to run a full bitcoin node on my Windows computer and NOT run the wallet part of Bitcoin Core (formerly -QT).  I wanted to contribute a full node to the network, but not use the Core wallet, nor have the wallet software load up and sit there taking up system resources for no reason except to contribute the node.

I read and asked a lot, before I finally figured it out.  Here's how:

Dowload and install Bitcoin Core from the official download page -- https://bitcoin.org/en/download -- but DO NOT START THE PROGRAM in the usual way.  Instead, open the Windows Command Prompt program and enter
     cd\program files\bitcoin\daemon [return]   ..  then
     bitcoind [return]

That starts the program, even though you see no indication of that in the window.  You can't close the Command Prompt window or the program stops; but you can minimize it to the tray and it continues to run fine.  After it's downloaded the blockchain and begun doing its regular function, you can check that it's running well this way:

Open a second Command Prompt window and enter
     cd\program files\bitcoin\daemon [return]  ..  then
     bitcoin-cli getinfo

If you've opened Port 8333, you should see more than 8 connections, and all is well with the world.

To stop running the node, you can just close the Command Prompt window it's running in.
This does not disable the wallet functionality in any way, shape or form.  All it does is run the core daemon without the pretty GUI.  You are quite able to still perform sends, create new wallet addresses, etc.  You have two choices if you want to actually disable the wallet:

1) Compile and build the client yourself without compiling in the wallet.  Easy enough to do in *nix OS.
2) Start the service by passing the -disablewallet parameter.
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
it should be a daemon.

it should auto-restart if somehow the bitcoind process stops and it should auto-start at the system reboot. I'm sure this possible with windows.

You can use software such as this to run bitcoind as a Windows service. If you decide to do so:
  • Use the stopargument/stopexecutable feature to run "bitcoin-cli stop" to shut down bitcoind gracefully.
  • For added safety, you may want to consider changing the user account that bitcoind runs under to either your normal user account, or a new user account dedicated to this purpose. You'll need to add the "Log in as a service" user right (with secpol.msc) to the account, and change the Service config (with services.msc) to log in as that account.

Once it's been set up, you can use the standard Windows service recovery options (with services.msc).

Edited: I tried to follow my own advice in this post, and I couldn't get it running (it was crashing for some reason shortly after start up). Just a warning, YMMV....
sr. member
Activity: 476
Merit: 250
it should be a daemon.

it should auto-restart if somehow the bitcoind process stops and it should auto-start at the system reboot. I'm sure this possible with windows.
full member
Activity: 196
Merit: 103
It is great you figured it out. Please also note that if you're running this on your home computer, then your ip is broadcast to the entire network. You might care, or you might not care about that fact.

Further, your ip (internet address) is a unique identificator that identifies you online. The ISP (Internet Service Provider) of yours have your full record on file.

So if a transaction goes through your node, and it's meant for no good, it could cause trouble. Also if there's the IRS or equivalent, there might be probing and monitoring of home addresses which runs bitcoin nodes, which will then trigger a request from the authorities into your bitcoin acitivites even though you're not doing much if anything. I have not heard of such monitoring yet, but you can be damn sure it will be developed, if not developed already.

So how to protect yourself?

If you want to run a full node, you might want to run it on a VPS (Virtual Private Server) that runs with a hosting company, it need not be too expensive. Alternatively, you could also run it through a VPN (Virtual Private Tunnel), which means that the network would not see your ip, but the ip of the VPN.

Other alternatives might be running it through TOR, but that would also broadcast the fact that you're using TOR.

I think it is great you want to contribute, but it is also worth knowing about these issues. Most likely nothing will ever happen, and you will be fine.
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
open the Windows Command Prompt program and enter
     cd\program files\bitcoin\daemon [return]   ..  then
     bitcoind [return]

If you really want no wallet (e.g. if you're using it with an SPV wallet), you should add the -disablewallet option. Also, I find it less ugly (and easier) to not keep the command prompt window around, so instead you could click Start -> Run (on Win 8, you need to right click on Start, then click Run), and then enter in this whole thing at once and it will start in the background (with no command prompt window):
Code:
"C:\Program Files\daemon\bitcoind" -disablewallet

To stop running the node, you can just close the Command Prompt window it's running in.

It's safer to shut it down using bitcoin-cli stop, e.g. in a command prompt:
Code:
"C:\Program Files\daemon\bitcoin-cli" stop
sr. member
Activity: 270
Merit: 250
For a long time now, I've wanted to run a full bitcoin node on my Windows computer and NOT run the wallet part of Bitcoin Core (formerly -QT).  I wanted to contribute a full node to the network, but not use the Core wallet, nor have the wallet software load up and sit there taking up system resources for no reason except to contribute the node.

I read and asked a lot, before I finally figured it out.  Here's how:

Dowload and install Bitcoin Core from the official download page -- https://bitcoin.org/en/download -- but DO NOT START THE PROGRAM in the usual way.  Instead, open the Windows Command Prompt program and enter
     cd\program files\bitcoin\daemon [return]   ..  then
     bitcoind [return]

That starts the program, even though you see no indication of that in the window.  You can't close the Command Prompt window or the program stops; but you can minimize it to the tray and it continues to run fine.  After it's downloaded the blockchain and begun doing its regular function, you can check that it's running well this way:

Open a second Command Prompt window and enter
     cd\program files\bitcoin\daemon [return]  ..  then
     bitcoin-cli getinfo

If you've opened Port 8333, you should see more than 8 connections, and all is well with the world.

To stop running the node, you can just close the Command Prompt window it's running in.
Jump to: