BlackHatCoiner (OP)
Legendary
Offline
Activity: 1624
Merit: 7983
Bitcoin is a royal fork
|
I've setup a RPi 4 running a Bitcoin full node headless-ly (via SSH) and I was wondering if I can enjoy the comfort of Bitcoin Core's GUI too.
Both pi and my computer are connected to the same router and communicate via LAN. Is there a way to run bitcoin-qt from my main computer without needing to have the block chain downloaded there, but on pi instead? Could the GUI communicate with my pi's bitcoin-cli to receive the information needed in my main computer instead of using it via SSH?
|
|
|
|
LoyceV
Legendary
Offline
Activity: 3416
Merit: 17301
Thick-Skinned Gang Leader and Golden Feather 2021
|
Assuming your main computer is running Linux, you can Run X Windows programs remotely pretty much by default. That means Bitcoin Core and your wallet run on the RPi, but your desktop is used only as GUI. According to the same link it's possible with PuTTY on Windows too, but I haven't tried that.
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4418
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 31, 2021, 03:35:55 PM |
|
Assuming your main computer is running Linux, you can Run X Windows programs remotely pretty much by default. That means Bitcoin Core and your wallet run on the RPi, but your desktop is used only as GUI. Wouldn't that just make it a remote desktop? As in the GUI has to be run on the Pi but what this merely does is just to relay the graphical interface between Windows and Pi so you're not really running the GUI on Windows, but still on Pi. Anyways, I don't think there is a way to do so. Unless you're talking about sharing data directory, for which only one of the two instances can access it at any one time. I think it's more convenient to use a RPC connect another wallet to your node.
|
|
|
|
LoyceV
Legendary
Offline
Activity: 3416
Merit: 17301
Thick-Skinned Gang Leader and Golden Feather 2021
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 31, 2021, 04:37:08 PM |
|
Wouldn't that just make it a remote desktop? Yes, except for there's no desktop, only Bitcoin Core. Unless you're talking about sharing data directory As an alternative: you could prune the data directory on your computer, and if you're limited on bandwidth set it up to only synchronize from the RPi.
|
|
|
|
BlackHatCoiner (OP)
Legendary
Offline
Activity: 1624
Merit: 7983
Bitcoin is a royal fork
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 31, 2021, 05:07:56 PM |
|
Yes, except for there's no desktop, only Bitcoin Core. The problem with controlling everything remotely is that you can't run both bitcoin-qt and bitcoind from one device which I want in this case. As an alternative: you could prune the data directory on your computer, and if you're limited on bandwidth set it up to only synchronize from the RPi. As an alternative, I think that I should just search for a remote implementation of a Bitcoin node in which I just type my RPC commands and the “server” returns the messages. I think it's more convenient to use a RPC connect another wallet to your node. To connect my wallet to my node using RPC? I didn't get that, could you explain further?
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4418
Crypto Swap Exchange
|
To connect my wallet to my node using RPC? I didn't get that, could you explain further?
Sorry. Meant to say that for all intents and purposes, RPC would be enough. If you need, then use the Bitcoin node as a server and connect an SPV wallet to it. I'm sure it isn't very hard to find any GUIs that relies on the RPC. A little difficult to type on a phone.
|
|
|
|
|
BlackHatCoiner (OP)
Legendary
Offline
Activity: 1624
Merit: 7983
Bitcoin is a royal fork
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 31, 2021, 05:22:35 PM |
|
Sorry. Meant to say that for all intents and purposes, RPC would be enough. If you need, then use the Bitcoin node as a server and connect an SPV wallet to it. I'm sure it isn't very hard to find any GUIs that relies on the RPC. An SPV client like Electrum? It doesn't have the same command line interface with Core. What I want is essentially to call the specific Bitcoin Core's commands remotely. I guess that I'll have to stay in bitcoin-cli via LAN. You might be able to set up a network drive on your RPi and access it from your main computer. I don't know the details. On the other hand, if you are only using the RPi for storage, then an off-the-shelf NAS might be a better option. Why would I need a network attached storage to launch the GUI? That's what you meant, isn't it? The Pi should done this work by itself.
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4418
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 31, 2021, 05:35:17 PM |
|
An SPV client like Electrum?
Electrum runs on proprietary servers, so no. I'm talking about those that are able to use Core as a data source, but I don't think that is what you need? It doesn't have the same command line interface with Core. What I want is essentially to call the specific Bitcoin Core's commands remotely. I guess that I'll have to stay in bitcoin-cli via LAN.
Then I'm not really sure why the lack of GUI is a big deal. There is nothing that can only be done within GUI, other than the fact that it is nicer and more user-friendly. Most of the more advanced commands are mostly done through the console anyways, so no real need for a GUI. I've never really thought of something like this, or at least I didn't think about this specific scenario being a problem. Are you unable to run a GUI on your own computer as well? If you need the GUI and can only choose between RPi and your own computer (maybe cause of storage constraints?), then I would probably just run it on my own computer.
|
|
|
|
BlackHatCoiner (OP)
Legendary
Offline
Activity: 1624
Merit: 7983
Bitcoin is a royal fork
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 31, 2021, 06:01:44 PM |
|
Electrum runs on proprietary servers, so no. I'm talking about those that are able to use Core as a data source, but I don't think that is what you need? You mean ElectrumX? It can run on my Pi. Is that what you mean? Doesn't it use Core as a data source? There is nothing that can only be done within GUI, other than the fact that it is nicer and more user-friendly. Yes, it is exclusively for those reasons. I was sure I couldn't do it somehow, but I'd give it a shot if a user found a strange way. Anyway, now anyone who googles can confirm it and prevent from wasting their time. If you need the GUI and can only choose between RPi and your own computer (maybe cause of storage constraints?), then I would probably just run it on my own computer. It's not the storage constraints; I could unplug my external hard drive from Pi, plug it to my computer and use it there. The problem is that my computer does not remain open 24/7 while my Pi does. I need this mainly for the lightning network and generally I don't want from my node to ever go offline. Also, running a node from Pi does not use computer's resources that could make it go slower.
|
|
|
|
NotATether
Legendary
Offline
Activity: 1708
Merit: 7188
In memory of o_e_l_e_o
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 01, 2021, 09:35:08 AM |
|
I might be missing something, but can't you just run bitcoin-qt with the -connect <RPi node's IP address> switch to only connect to your node on the RPi, and let your other node on the Raspberry Pi handle the details of connecting to other peers?
|
|
|
|
BlackHatCoiner (OP)
Legendary
Offline
Activity: 1624
Merit: 7983
Bitcoin is a royal fork
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 01, 2021, 11:43:25 AM |
|
But, aren't I launching bitcoin-qt from Pi this way? How does that differ from Loyce's solution? I might be missing something, but can't you just run bitcoin-qt with the -connect <RPi node's IP address> switch to only connect to your node on the RPi, and let your other node on the Raspberry Pi handle the details of connecting to other peers? Whether you use connect or addnode it's the same thing. You still need storage, just like you would with a pruned node. Anyway, I tried it and it seems it doesn't work with txindex=1:
|
|
|
|
NotATether
Legendary
Offline
Activity: 1708
Merit: 7188
In memory of o_e_l_e_o
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 01, 2021, 12:08:01 PM |
|
I might be missing something, but can't you just run bitcoin-qt with the -connect <RPi node's IP address> switch to only connect to your node on the RPi, and let your other node on the Raspberry Pi handle the details of connecting to other peers? Whether you use connect or addnode it's the same thing. You still need storage, just like you would with a pruned node. Anyway, I tried it and it seems it doesn't work with txindex=1: Why don't you try creating an NFS share on your Raspberry Pi and put the blocks folder on it (use some top-level folder like /mnt/something) and add this share to Windows? Then configure Bitcoin Core on your computer to use the blocks folder on the NFS share. Though, you may run into problems if this folder is being used by two different Bitcoin Core instances at the same time, so you could try mounting it read-only (and to be honest, I don't expect this to work either since you may not be able to make transactions, so perhaps making a simple GUI wrapper around bitcoin-cli is a better option).
|
|
|
|
kaggie
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 01, 2021, 12:36:22 PM Last edit: September 02, 2021, 05:24:55 AM by kaggie |
|
https://www.pngwing.com/en/free-png-defqu "nothing in the GUI generates an RPC call."* https://bitcoin.stackexchange.com/questions/7455/how-to-setup-a-lan-network-with-only-one-bitcoind-client-downloading-the-blockch* means it is impossible to do this with the GUI![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fc.tenor.com%2FMnDVObkGxh8AAAAM%2Fthe-simpsons-nevermind.gif&t=665&c=NtMIdJZnKRDfBQ)
Host setup (both bitcoind and bitcoin-gui can be hosts)"Can you access Bitcoin Core from another computer?" https://www.reddit.com/r/Bitcoin/comments/2oz9r0/can_you_access_bitcoin_core_from_another_computer/Run Bitcoin-qt or bitcoind with server=1 and specify the IP of your client<host, on host>. Per default localhost only <which will exclude external ports from connecting>. default port is 8332.
https://github.com/bitcoin/bitcoin/blob/master/share/examples/bitcoin.conf#bind=<addr> ############################## Can be the IP of PI, for the PI; NOT 127.0.0.1! 192.168.*.* usually. Do not set for sub. # JSON-RPC options (for controlling a running Bitcoin/bitcoind process) #
# server=1 tells Bitcoin-Qt and bitcoind to accept JSON-RPC commands <on host> server=0 ############################## Set to 1 for host Pi // # server=1 tells Bitcoin-Qt to accept JSON-RPC commands. # it is also read by bitcoind to determine if RPC should be enabled #rpcallowip=10.1.1.34/255.255.255.0 #rpcallowip=1.2.3.4/24 #rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96
Child setup (bitcoind,, NOT GUI....) https://bitcoin.stackexchange.com/questions/7455/how-to-setup-a-lan-network-with-only-one-bitcoind-client-downloading-the-blockch
You need to use rpc_connect = ip.of.master.bitcoind on the 'slave' node, and connect = 0.0.0.0 to prevent it from loading the blockchain and you should be all set.
Lightning remote setup"Can you connect to a remote bitcoin node instead of a local one #1741" https://github.com/ElementsProject/lightning/issues/1741I installed bitcoin-cli by building from source, and then started lightning like this: lightning/lightningd/./lightningd --daemon. The configuration was stored in ~/.lightning/config with the following contents:
bitcoin-rpcconnect=192.168.1.25 bitcoin-rpcport=8332 bitcoin-rpcuser=<username> bitcoin-rpcpassword=<password> alias=<alias> network=testnet
|
|
|
|
BlackHatCoiner (OP)
Legendary
Offline
Activity: 1624
Merit: 7983
Bitcoin is a royal fork
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 01, 2021, 12:51:26 PM |
|
"Can you connect to a remote bitcoin node instead of a local one #1741" Those configurations are for lightning, not Bitcoin Core. Edit: Saw Homer, k.
|
|
|
|
nc50lc
Legendary
Online
Activity: 2520
Merit: 5985
Self-proclaimed Genius
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 01, 2021, 03:37:41 PM |
|
If only this is still maintained or if there's a similar program, it would be possible: https://en.bitcoin.it/wiki/SpesmiloIt's something like an alternative GUI, and description said that it " can connect to remote JSON-RPC", just like what you need.
|
|
|
|
HCP
Legendary
Offline
Activity: 2086
Merit: 4318
<insert witty quote here>
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 02, 2021, 12:37:13 AM |
|
Aside from the theoretical "yes you can set it up like this" links... has anyone actually personally done this and managed to run a local Bitcoin Core instance that is leveraging the RPC ability of a remote Bitcoin Core "server"? ![Huh](https://bitcointalk.org/Smileys/default/huh.gif)
Electrum runs on proprietary servers, so no. I'm talking about those that are able to use Core as a data source, but I don't think that is what you need?
Bitcoin Core and many Electrum server implementation (such as ElectrumX, EPS and electrs) are open source. I think "custom servers" is probably a better description for what ranochigo was trying to say... in that they use their own custom RPC interface that is incompatible with the Bitcoin Core RPC.
|
|
|
|
kaggie
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 02, 2021, 05:23:21 AM Last edit: September 02, 2021, 05:43:50 AM by kaggie |
|
Aside from the theoretical "yes you can set it up like this" links... has anyone actually personally done this and managed to run a local Bitcoin Core instance that is leveraging the RPC ability of a remote Bitcoin Core "server"? ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) It isn't possible to use bitcoin- gui as a child. Bitcoin-gui doesn't use RPC (for the gui), so it wouldn't communicate with a host system no matter what configuration you use. Bitcoind can communicate as a child(slave)/host, but that is gui-less. Mounting the system in a shared directory between two instances would cause problems, since one would constantly update and the second would not constantly check for those updates. This would likely result in clashes. The solutions are only: 1) You could VNC in, where it left an instance running and you interacted with that. VNC is painful, but doable. SSH wouldn't work since it doesn't allow attaching/detaching, so requires constant starting and stopping after you've SSH'd in. This tool might work https://github.com/Xpra-org/xpra but I think a VNC should work the same, if not better? 2) This leaves alternative GUIs that communicate with the host that have been posted above. One of the posts above used a child instance of bitcoind that connects to the host bitcoind/bitcoin-gui, and then used armory on that child machine
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4418
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
September 02, 2021, 05:39:13 PM |
|
You mean ElectrumX? It can run on my Pi. Is that what you mean? Doesn't it use Core as a data source?
No. Directly. ElectrumX depends on Core, but it is a separate server by itself. It's not the storage constraints; I could unplug my external hard drive from Pi, plug it to my computer and use it there. The problem is that my computer does not remain open 24/7 while my Pi does. I need this mainly for the lightning network and generally I don't want from my node to ever go offline. Also, running a node from Pi does not use computer's resources that could make it go slower.
If running Bitcoin Core slows your computer down, then you probably have more problems to worry about ![Tongue](https://bitcointalk.org/Smileys/default/tongue.gif) . VNC would probably be your only option though, so yeah. I think "custom servers" is probably a better description for what ranochigo was trying to say... in that they use their own custom RPC interface that is incompatible with the Bitcoin Core RPC.
That is correct. Then configure Bitcoin Core on your computer to use the blocks folder on the NFS share. Though, you may run into problems if this folder is being used by two different Bitcoin Core instances at the same time, so you could try mounting it read-only (and to be honest, I don't expect this to work either since you may not be able to make transactions, so perhaps making a simple GUI wrapper around bitcoin-cli is a better option).
Core needs to be able to be able to obtain a lock on the directory so you cannot possibly run it in the first place.
|
|
|
|
|