venom (OP)
Newbie
Offline
Activity: 39
Merit: 0
|
|
June 08, 2010, 05:24:30 PM |
|
As per subject, I'm wondering if the generation of bitcoins would be affected if I had multiple computers, each running their own BC client, all in one household and therefore sharing the same public IP address? Would the BitCoin 'system' treat these clients almost as if they were a single node, thus distributing new bitcoin generation amongst the various computers in my household, or will each one be treated quite the same in this regard, regardless of the fact that they are all displaying the same public IP to the rest of the worldwide nodes?
Edit: So to be more specific, what I'm wondering is - if hypothetically it takes me one week with one computer to generate 100 bitcoins, would having 10 computers in my household (sharing the same public IP) generate a combined total of roughly 10 x 100 = 1000 bitcoins, or would the result be 100 bitcoins divided roughly equally amongst the 10 computers?
|
|
|
|
laszlo
|
|
June 08, 2010, 05:51:30 PM |
|
Having more computers will increase your chances of generating blocks regardless of your internet address. As long as they're all able to connect to at least one node and stay connected you're all good - it doesn't matter if they all share the same internet address through a proxy/router.
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
theymos
Administrator
Legendary
Offline
Activity: 5362
Merit: 13337
|
|
June 08, 2010, 05:53:52 PM |
|
Each hash your CPU computes gives you a very small chance of solving a block, which wins you 50 BitCoins. Better CPUs can compute more hashes per second. Doubling the number of CPUs you have generating will halve the average time it takes for you to win 50 coins if they all generate at the same speed. How these CPUs are connected to the network doesn't matter at all as long as they are connected.
To make the best use of network resources (yours and other peers'), one computer should be connected to the Internet and have port 8333 forwarded to it. All other computers on that IP address should be started with "-connect x.x.x.x" to connect only to that one computer.
|
1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
|
|
|
venom (OP)
Newbie
Offline
Activity: 39
Merit: 0
|
|
June 08, 2010, 06:00:45 PM |
|
To make the best use of network resources (yours and other peers'), one computer should be connected to the Internet and have port 8333 forwarded to it. All other computers on that IP address should be started with "-connect x.x.x.x" to connect only to that one computer.
when you say all the other computers should be started with that command, where do I put that connect command exactly? second question - For Joe SixPack who doesn't know how to set up port-forwarding in his router, will not having port 8333 completely disable his ability to generate bitcoins... ? Or does it just mean he'll have less chances?
|
|
|
|
lachesis
|
|
June 08, 2010, 06:57:03 PM Last edit: July 12, 2010, 09:32:35 PM by lachesis |
|
Chances to generate bitcoins shouldn't depend on network connectivity above a certain base level. If you can receive blocks in a timely manner (somewhat low latency and a decently low packet loss), generating should only depend upon CPU speed (and maybe some other internal specs like memory speed).
Forwarding ports helps the network since more people can connect to you, but I'm running on a university network so I can't forward any ports and it works fine for me.
-connect is a command line option. Right click on your shortcut for Bitcoin, go to properties, and add "-connect=192.168.0.100" (no quotes, and replace the IP with the right one for you) to the end of the path.
July 12th: Edited to fix my command line.
|
|
|
|
venom (OP)
Newbie
Offline
Activity: 39
Merit: 0
|
|
June 09, 2010, 11:21:39 AM |
|
|
|
|
|
lachesis
|
|
June 09, 2010, 01:13:50 PM |
|
That's it.
|
|
|
|
knightmb
|
|
July 12, 2010, 04:56:04 PM |
|
Chances to generate bitcoins shouldn't depend on network connectivity above a certain base level. If you can receive blocks in a timely manner (somewhat low latency and a decently low packet loss), generating should only depend upon CPU speed (and maybe some other internal specs like memory speed).
Forwarding ports helps the network since more people can connect to you, but I'm running on a university network so I can't forward any ports and it works fine for me.
-connect is a command line option. Right click on your shortcut for Bitcoin, go to properties, and add "-connect 192.168.0.100" (no quotes, and replace the IP with the right one for you) to the end of the path.
Took me a while to figure this out, the command line is wrong (had to dig into the source for this) It's -connect=192.168.0.100 You forgot the equal sign Otherwise, it doesn't work for either Windows or Linux
|
Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
|
|
|
Strofcon
Newbie
Offline
Activity: 20
Merit: 0
|
|
July 12, 2010, 05:12:14 PM |
|
I have a quick question about the connect=x.x.x.x option - what exactly does it do? I understand that it "points" a certain bitcoin client to another PC on the LAN, but what does this mean for the bitcoin application itself? Does all coin generation funnel to the wallet that is held on the target PC? Or does a client that is pointed to another local PC just funnel its connections through port 8333 on that PC, and still manage its own wallet? Just curious.
|
|
|
|
knightmb
|
|
July 12, 2010, 05:48:57 PM |
|
I have a quick question about the connect=x.x.x.x option - what exactly does it do? I understand that it "points" a certain bitcoin client to another PC on the LAN, but what does this mean for the bitcoin application itself? Does all coin generation funnel to the wallet that is held on the target PC? Or does a client that is pointed to another local PC just funnel its connections through port 8333 on that PC, and still manage its own wallet? Just curious. It acts as a bridge for the other computers. When you only have one IP address, you can technically only forward your connection to a single computer (on port 8333) so the other computers on your network that are running BitCoin won't be able to accept inbound connections from others. From what I've seen, you have one computer that kind of acts like a server. The other computers on your network connect to it and thus can download all the blocks more quickly to begin processing. The difference is, instead of one computer acting alone to generate coins or process blocks, you now have *other* computers doing part of the work for it and report the results back to it. I haven't run this long enough to see what effect is has, I'll report back here when I do. My guess is that all the coin generation is funneled back to the "main" computer that all the clients connect to. So, while each client may not get a piece of coin generation, there is no reason why you can't transfer coin around to the clients after they are generated at the main computer (since you have control/access to all of them anyway). It may take a while, but when I do see some results, I'll post it here because I'm curious myself.
|
Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
|
|
|
thufir
Newbie
Offline
Activity: 14
Merit: 0
|
|
July 12, 2010, 06:00:00 PM |
|
That is right that it acts as a bridge for the nodes that -connect to it, however, it does not get their funds. All the nodes are still independent.
All that -connect does is this: instructs the bitcoin client to connect to that peer as the one and only peer it connects to. Otherwise, it operates as normal, just as if that had been the only other peer in the world other than you and you didn't use -connect.
|
|
|
|
Strofcon
Newbie
Offline
Activity: 20
Merit: 0
|
|
July 12, 2010, 06:12:24 PM |
|
Gotcha! Thanks knightmb and thufir for the info. I was mostly curious because of the exact situation knightmb mentioned - one can only forward a port at the router level to a single NAT'd host, so I wanted to see the best way to use all of my PCs and still manage to accumulate funds under a single "account". Based on thufir's confirmation, it looks like the best way to do so will be to routinely transfer funds from my "workhorse" PCs to my central PC that will house my "primary wallet," for lack of a better description. Thanks again!
|
|
|
|
knightmb
|
|
July 12, 2010, 09:02:33 PM |
|
That is right that it acts as a bridge for the nodes that -connect to it, however, it does not get their funds. All the nodes are still independent.
All that -connect does is this: instructs the bitcoin client to connect to that peer as the one and only peer it connects to. Otherwise, it operates as normal, just as if that had been the only other peer in the world other than you and you didn't use -connect.
Thanks for clearing that up, I wasn't sure. Actually kind of glad too, keeps it from having the "all the eggs in one basket" so to speak.
|
Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
|
|
|
lachesis
|
|
July 12, 2010, 09:31:54 PM |
|
Chances to generate bitcoins shouldn't depend on network connectivity above a certain base level. If you can receive blocks in a timely manner (somewhat low latency and a decently low packet loss), generating should only depend upon CPU speed (and maybe some other internal specs like memory speed).
Forwarding ports helps the network since more people can connect to you, but I'm running on a university network so I can't forward any ports and it works fine for me.
-connect is a command line option. Right click on your shortcut for Bitcoin, go to properties, and add "-connect 192.168.0.100" (no quotes, and replace the IP with the right one for you) to the end of the path.
Took me a while to figure this out, the command line is wrong (had to dig into the source for this) It's -connect=192.168.0.100 You forgot the equal sign Otherwise, it doesn't work for either Windows or Linux Damn, yeah I noticed that reading back through this topic. I get burned by that so often! Thanks, I'll edit my post. Gotcha! Thanks knightmb and thufir for the info. I was mostly curious because of the exact situation knightmb mentioned - one can only forward a port at the router level to a single NAT'd host, so I wanted to see the best way to use all of my PCs and still manage to accumulate funds under a single "account". Based on thufir's confirmation, it looks like the best way to do so will be to routinely transfer funds from my "workhorse" PCs to my central PC that will house my "primary wallet," for lack of a better description. Thanks again! You can easily automate that task. I made a Python script to do just that. I'll upload the updated version to my site and post back here later tonight.
|
|
|
|
knightmb
|
|
July 12, 2010, 09:40:01 PM |
|
I wonder if you can point multiple clients to the same file over the network? I'm guessing it that might not work well if multiple clients are trying to modify/update the same database at the same time?
|
Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
|
|
|
lachesis
|
|
July 12, 2010, 10:49:03 PM |
|
I wonder if you can point multiple clients to the same file over the network? I'm guessing it that might not work well if multiple clients are trying to modify/update the same database at the same time?
Yeah, you're right. BerkleyDB doesn't support more than one process accessing a file at once.
|
|
|
|
Strofcon
Newbie
Offline
Activity: 20
Merit: 0
|
|
July 13, 2010, 12:26:37 PM |
|
You can easily automate that task. I made a Python script to do just that. I'll upload the updated version to my site and post back here later tonight.
That's actually exactly what I was planning to do, after I read thufir's explanation. I'd definitely like to see your script. It seemed like an easy enough task to take care of, but hey... reuse over reinvention.
|
|
|
|
lachesis
|
|
July 13, 2010, 05:45:30 PM |
|
Here's the code. It requires JSONRPC from here: http://json-rpc.org/wiki/python-json-rpc#!/usr/bin/python import jsonrpc BCAddress = "Put Your Master Computer's Bitcoin Address Here"
bitcoin = jsonrpc.ServiceProxy('http://localhost:8332')
bal = float(bitcoin.getbalance())
if bal > 0.01: print "We have a balance of {0:.2f}BC. Sending...".format(bal) bitcoin.sendtoaddress(BCAddress,bal)
else: print "No coins here."
|
|
|
|
laszlo
|
|
July 13, 2010, 05:59:35 PM |
|
Here is a similar script written for bash that I use, in case someone else finds it useful. It will also start bitcoind for me in case it is terminated or if the computer is rebooted. (replace /home/solar with the dir where you keep your home directory: $HOME) #!/bin/bash
NICE=/usr/bin/nice BITCOIN=/home/solar/bitcoin/bitcoind
ADDR=149iLTM499LvvktTSbub77dJYvZ7YVGtXo NODE=192.75.207.66
date
${BITCOIN} getbalance 2>&1 | while read balance; do if [ "${balance}" == "0.000000000000000" ]; then echo "zero balance"; elif [ "${balance}" == "error: couldn't connect to server" ]; then echo "server not running, starting..."; ${NICE} -n 19 ${BITCOIN} -daemon -addnode=${NODE} else echo "sending ${balance} BTC to ${ADDR}" ${BITCOIN} sendtoaddress ${ADDR} ${balance}; fi done
I invoke it from crontab like this 0 * * * * /home/solar/bitcoin/sendbalance.sh >> /home/solar/bitcoin/sendbalance.log 2>&1
|
BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
|
|
|
fresno
Member
Offline
Activity: 94
Merit: 10
|
|
July 21, 2010, 03:43:57 PM |
|
Can I assume that not doing anything, allowing multiple independent clients behind a defaulted firewall/router, will work? Just not optimally?
|
|
|
|
|