Author

Topic: Connect to non-local bitcoind? (Read 4321 times)

hero member
Activity: 742
Merit: 500
February 14, 2015, 12:09:13 PM
#23
Bump
legendary
Activity: 2912
Merit: 1060
January 08, 2014, 06:58:59 PM
#22
New armory also doubles storage
But I don't mind.

I'm just having problems using maxconnections and reserving a connection for armory
legendary
Activity: 2126
Merit: 1001
December 10, 2013, 05:01:00 AM
#21
I've set up a node on my network that talks to the internet and runs 24/7.
If I need armory on a second pc on my network I setup bitcoin cleint to -connect=192.168.x.x in the bitcoin.conf.  This means the additional node only talks to my node and no other nodes.  So it only uses internal bandwidth to sync up.  
The diskspace is still wasted but at least I could move the additional node to online quite easily if I wanted to.

I wouldn't do this on a laptop though as the 192.168.x.x could point to any pc if you connect on another (untrusted) network.

That's a good way, yes.
I did that in my android bitcoin wallet (Schildbach), setting the trusted IP to the node in my LAN. Saves bandwith and sync time.  It's just a static additional IP though, so my wallet connects just fine too when I'm on mobile.

Ente
sr. member
Activity: 362
Merit: 262
December 10, 2013, 03:56:13 AM
#20
I've set up a node on my network that talks to the internet and runs 24/7.
If I need armory on a second pc on my network I setup bitcoin cleint to -connect=192.168.x.x in the bitcoin.conf.  This means the additional node only talks to my node and no other nodes.  So it only uses internal bandwidth to sync up.  
The diskspace is still wasted but at least I could move the additional node to online quite easily if I wanted to.

I wouldn't do this on a laptop though as the 192.168.x.x could point to any pc if you connect on another (untrusted) network.




legendary
Activity: 2126
Merit: 1001
December 02, 2013, 04:41:28 AM
#19
It's ridiculous to have 3 sets of the same 7Gb data connected to other peers through a single IP address... my home ADSL line.
It is not ridiculous for me to have another full copy at work, that being on an entirely different IP.

Electrum isn't quite what I'm looking for either, as that connects to public servers. I do want to run 'A' Full node. A cursory look doesn't show me how to create my own private electrum server, though I'm sure it's possible.

Maybe when Armory handles the full node itself, it could also act as a server to other Armory clients.

..as we are all happily necro'ing anyway:
The solution might be to setup your own Electrum server. Then connect all local Electrum clients to that one.

For everyone not liking the dublicate data: every single additional (full) node helps the network. That's how I see it, and leave my bitcoind running all the time.

Ente
legendary
Activity: 2576
Merit: 2267
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
November 22, 2013, 04:41:14 PM
#18
It's probably also worth pointing out that localhost being trustworthy is an assumption also.
legendary
Activity: 1400
Merit: 1013
November 21, 2013, 05:36:48 PM
#17
Eagerly looking forward to the day in which I can run btcd and Armory together and not need the Satoshi client at all.
legendary
Activity: 1974
Merit: 1029
November 20, 2013, 04:19:57 AM
#16
+1 FWIW. My use case would probably be running both bitcoind and Armory on the same machine, but under different user accounts. And I don't want to mess with symlinks and file permissions. Just keep stuff isolated.
legendary
Activity: 2576
Merit: 2267
1RichyTrEwPYjZSeAYxeiFBNnKC9UjC5k
November 19, 2013, 11:42:19 PM
#15
I think you should make the option to connect to a non-local bitcoind a little easier and have a big warning not to use servers which you don't have control over. If the user still needs to manually set up network shares, and map drives etc. to allow access to the data files, then you won't be able to 'accidentally' connect to a non-trusted server... you'll REALLY have to put effort in to it. As with anything in the bitcoin world, let people do whatever they want and caveat emptor.

Zombie thread.

+1 on this here. I have a bitcoin-qt client, looking to do the armory thing. See no reason I should have to download the blockchain all over again. I may not even have space, I'm trying it out on a VM Ubuntu box.
legendary
Activity: 1795
Merit: 1208
This is not OK.
April 01, 2013, 07:37:46 AM
#14
I think you should make the option to connect to a non-local bitcoind a little easier and have a big warning not to use servers which you don't have control over. If the user still needs to manually set up network shares, and map drives etc. to allow access to the data files, then you won't be able to 'accidentally' connect to a non-trusted server... you'll REALLY have to put effort in to it. As with anything in the bitcoin world, let people do whatever they want and caveat emptor.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 31, 2013, 09:44:18 PM
#13
Armory users will die a fiery death if they connect to an untrusted peer.  The reason is that it has no protections whatsoever, from network or protocol shenanigans.  This is what bitcoind is for.
I think the default configuration for most users is that they operate on a trusted network, whether that is a home LAN, or a business network. If I operate both machines, then neither one is an untrusted peer to the other.

Perhaps you can loosen the rules a bit to allow Armory to consider any host on the same non-public address block (ipv4) or on a link-local address (ipv6) to be considered a trusted peer, and not just 127.0.0.1 without compromising security appreciably.

Technically, it's not restricted right now.  I've had a couple users tell me they setup their --satoshi-datadir on the an nfs or sshfs directory, and pointed Armory to the remote host.  There's no command line option for it, but most of these people are running Linux, and it's a one-line change in the python code.  I *could* add a command line option, but I will wait until I have the semi-independent blockchain management.  If I added the option right now, it would be worthless to most users...
legendary
Activity: 1400
Merit: 1013
March 31, 2013, 09:40:45 PM
#12
Armory users will die a fiery death if they connect to an untrusted peer.  The reason is that it has no protections whatsoever, from network or protocol shenanigans.  This is what bitcoind is for.
I think the default configuration for most users is that they operate on a trusted network, whether that is a home LAN, or a business network. If I operate both machines, then neither one is an untrusted peer to the other.

Perhaps you can loosen the rules a bit to allow Armory to consider any host on the same non-public address block (ipv4) or on a link-local address (ipv6) to be considered a trusted peer, and not just 127.0.0.1 without compromising security appreciably.
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
March 31, 2013, 08:56:06 PM
#11
The problem here is this:

Armory users will die a fiery death if they connect to an untrusted peer.  The reason is that it has no protections whatsoever, from network or protocol shenanigans.  This is what bitcoind is for.  Right now, there's no choice: Armory relies on localhost Bitcoin-Qt/bitcoind, which if that is compromised, Armory is hosed anyway.  The first time it is allowed to connect to non-localhost (after it gets its own blockchain mgmt), I know people will start connecting it to untrusted nodes, not realizing that it's really bad news.  Armory has what it has because hiding behind a trusted bitcoind gives it all the security properties of bitcoind, without spending any time developing it (and probably doing a terrible job and forking the blockchain).  Instead, I've been able to focus on features, instead of re-doing what the core devs do.

However, at some point, I will be splitting Armory into both directions:  lite-node and super-node.  The Armory super-node would be like the Electrum servers, allowing arbitrary address lookup.  It would be hiding behind a single bitcoind instance, and all the lite-nodes can connect directly to it.  I'm sure people will run malicious Armory super-nodes, but at least in this case, Armory lite-node is depending a lot less on that connection:  it basically turns their computer into an offline signing system (even though it's technically online) -- the super-node accumulated all the transaction data, and then gives it to the lite-node to sign.  Then the lite node can broadcast.  I've actually made sure that that process is secure, even if the online computer (or supernode) is malicious.  

There's quite a bit of work to do on that front, though...
legendary
Activity: 1795
Merit: 1208
This is not OK.
March 31, 2013, 05:04:47 PM
#10
I wish some the design patterns that emerged in the 90s would just die already.

The case of a single user on a single computer should be treated as a rare exception, not the default use case.

Unix-like operating systems had solved this problem by assuming that all computers were part of a LAN and were used by more than one person. Windows destroyed this paradigm and the industry has never recovered.

Right.
legendary
Activity: 1795
Merit: 1208
This is not OK.
March 31, 2013, 05:03:49 PM
#9
It's ridiculous to have 3 sets of the same 7Gb data connected to other peers through a single IP address... my home ADSL line.
It is not ridiculous for me to have another full copy at work, that being on an entirely different IP.

Electrum isn't quite what I'm looking for either, as that connects to public servers. I do want to run 'A' Full node. A cursory look doesn't show me how to create my own private electrum server, though I'm sure it's possible.

Maybe when Armory handles the full node itself, it could also act as a server to other Armory clients.
legendary
Activity: 1498
Merit: 1000
March 31, 2013, 04:54:03 PM
#8
Bitcoin wasn't designed with a client-server model in mind and it's causing problems.  A single home or business network shouldn't need to store N*M copies of the blockchain and require N*M external connections to the P2P network where N is the number of users and M is the number of devices each user owns.

Yeah, that seriously needs looking at.

At 7GB (or so) sitting on my machine, it's pretty ridiculous to have to repeat the exact same open-for-everyone-to-see information for each user.

Research P2P architecture, so while you think it is ridiculous it is the proper way.  
legendary
Activity: 1400
Merit: 1013
March 31, 2013, 04:52:54 PM
#7
I wish some the design patterns that emerged in the 90s would just die already.

The case of a single user on a single computer should be treated as a rare exception, not the default use case.

Unix-like operating systems had solved this problem by assuming that all computers were part of a LAN and were used by more than one person. Windows destroyed this paradigm and the industry has never recovered.
hero member
Activity: 742
Merit: 500
March 31, 2013, 04:49:43 PM
#6
I don't REALLY need it... but what if I want a copy on my machine, girlfriends machine, kitchen machine, someone else's machine etc.?
Have to install a full client on each? That's a whole lot of redundant data!
Sharing the data directory is entirely possible, but then where do I specify where Armory should look for these?
Running armory on a ton of systems does have lots of duplicate data. Maintaining a full node on all your systems always will.

Eventually armory will handle all of the blockchain data itself, but that won't solve your issue with duplicate data.

If you want a client that doesn't need a ton of local data, you want a lite client like electrum.

legendary
Activity: 1795
Merit: 1208
This is not OK.
March 31, 2013, 04:48:35 PM
#5
Bitcoin wasn't designed with a client-server model in mind and it's causing problems.  A single home or business network shouldn't need to store N*M copies of the blockchain and require N*M external connections to the P2P network where N is the number of users and M is the number of devices each user owns.

Yeah, that seriously needs looking at.

At 7GB (or so) sitting on my machine, it's pretty ridiculous to have to repeat the exact same open-for-everyone-to-see information for each user.
legendary
Activity: 1400
Merit: 1013
March 31, 2013, 04:44:29 PM
#4
Bitcoin wasn't designed with a client-server model in mind and it's causing problems.  A single home or business network shouldn't need to store N*M copies of the blockchain and require N*M external connections to the P2P network where N is the number of users and M is the number of devices each user owns.
legendary
Activity: 1795
Merit: 1208
This is not OK.
March 31, 2013, 04:39:09 PM
#3
I don't REALLY need it... but what if I want a copy on my machine, girlfriends machine, kitchen machine, someone else's machine etc.?
Have to install a full client on each? That's a whole lot of redundant data!
Sharing the data directory is entirely possible, but then where do I specify where Armory should look for these?
hero member
Activity: 742
Merit: 500
March 31, 2013, 04:33:25 PM
#2
Nope. Armory needs both access to the network (this could work remotely although Armory would need a tweak) and access to the blockchain files (this won't work remotely).

If you really want this. You could maybe do some trickery with something like ssh tunnels for localhost:8333 to your node and maybe a nfs file share to your blockchain files on the node.
legendary
Activity: 1795
Merit: 1208
This is not OK.
March 31, 2013, 04:28:34 PM
#1
I want to connect to a bitcoin server I have running on my home network, rather than a local copy... can we specify an IP/hostname:port somewhere to connect to?
Jump to: