Bitcoin Forum

Other => Beginners & Help => Topic started by: Ixje on January 02, 2014, 08:35:59 PM



Title: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Ixje on January 02, 2014, 08:35:59 PM
Unfortunately I've seen similar questions on Google but with no definitive or clear answer as to why it won't work so I hope this will be a interesting topic for my first post.

Basically I have a network in which 1 PC (A) is connected to the internet and several others (e.g. B,C,D) are not connected to the internet (there's a firewall not under my control in between the machines limiting this). I can access machines B,C,D from machine A. I'm looking for a way to forward the block/chain information from the internet to machines B,C,D and retrieve the results back (See below for some ascii drawing explaining the concept). In this case PC A would just be a relay channel (can be a very light weight machine). Are there already any ready made programs for this?

Cheers


Code:

                   +--------------------+
                   |                    |
                   |      internet      |
                   |                    |
                   +----------^---------+
                              |
                              +
                              |
                        +-----v-----+
                        |    A      |
                        |           |
                        +-----------+
                              ^
                +-------------+-----------+
                |             |           |
           +----v----+   +----v---+  +----v---+
           |   B     |   |   C    |  |   D    |
           |         |   |        |  |        |
           +---------+   +--------+  +--------+

 


Title: Re: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Kluge on January 02, 2014, 08:37:55 PM
Don't think you'd need any special programs since you can add peers manually. Simply add the local IP address of the Internet-connected client as a peer. -addnode 192.168.1.100 (for example)


Title: Re: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Ixje on January 02, 2014, 08:51:30 PM
Hmm not sure I fully understand. I currently have 1 machine running cudaminer which doesn't seem to have a -addnode option.

Could you elaborate a bit on which program has this option? I assume this might be a different client that connects to a local server by specifying -addnode <local server> in its config somewhere. I imagine the setup to look like


<client> connects to --> <local server> connects to --> pool on internet

Correct?

-edit-
fixed typo in red


Title: Re: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Kluge on January 02, 2014, 08:58:37 PM
Hmm not sure I fully understand. I currently have 1 machine running cudaminer which doesn't seem to have a -addnode option.

Could you elaborate a bit on which program has this option? I assume this might be a different client that connects to a local server by specifying -addnode <local server> in its config somewhere. I imagine the setup to look like


<client> connects to --> <local server> connects --> pool on internet

Correct?
Oh. I thought you wanted to share blockchain data for Bitcoin clients, not miners. Supporting miners this way would be a little tougher since you basically have to create your own pool. If the pool you're mining on supports getwork (usually on port 8332 if it's there, though a lot of them've dropped support since stratum's far superior), you can download, configure, and run the stratum proxy pool. cgminer, cudaminer and the like don't natively support acting as a server over a network (AFAIK).

That's a goofy solution, though. There's probably an easier way. There's a list of pool software @ https://en.bitcoin.it/wiki/Software#Mining_Pool_Servers_.28backend.29 I'd guess you'll run into problems with the firewall, though.


Title: Re: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Ixje on January 02, 2014, 09:23:37 PM
My terminology might be a bit off but I'm quite sure I'm don't want to run my own pool. Let me try to rephrase my goal:

  • Machine B,C & D are the workers
  • I want machines B,C & D to communicate via machine A
  • Therefore I assume that machine should have some server software
  • Next I would like machine A to be the central point to connects to a pool on the internet.
  • Machine A now fetches the necessary data and provides this to the worker machines B,C&D to do their thing. Afterwards it posts the results back to the pool
  • To the pool it shall likely look like all machines are represented as 1 worker (because machine A aggregates all communication).

I hope this makes it a bit more clearer.

What I kinda want is some "stratum+tcp" relay on machine A. So the cudaminers on machines B,C & D connect to the machine A and machine A gives them the wanted information.


Title: Re: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Kluge on January 02, 2014, 09:34:54 PM
My terminology might be a bit off but I'm quite sure I'm don't want to run my own pool. Let me try to rephrase my goal:

  • Machine B,C & D are the workers
  • I want machines B,C & D to communicate via machine A
  • Therefore I assume that machine should have some server software
  • Next I would like machine A to be the central point to connects to a pool on the internet.
  • Machine A now fetches the necessary data and provides this to the worker machines B,C&D to do their thing. Afterwards it posts the results back to the pool
  • To the pool it shall likely look like all machines are represented as 1 worker (because machine A aggregates all communication).

I hope this makes it a bit more clearer.

What I kinda want is some "stratum+tcp" relay on machine A. So the cudaminers on machines B,C & D connect to the machine A and machine A gives them the wanted information.
Yes. You can use the stratum proxy pool software for that. You configure it on A so it points to the pool you mine on (AFAIK, it has to be pointed at the server's getwork port, assuming it has one), then point your miners to the local IP address of the computer running the proxy pool.


Title: Re: Distributing to 'offline' machines (1 online pc, 4 local network no internet)
Post by: Ixje on January 02, 2014, 09:43:33 PM
Great tip. Thank you! I will check that out  8)