Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1R0wTB-0000dT-1I for bitcoin-development@lists.sourceforge.net; Tue, 06 Sep 2011 14:17:45 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.216.175 as permitted sender) client-ip=209.85.216.175; envelope-from=shadders.del@gmail.com; helo=mail-qy0-f175.google.com; Received: from mail-qy0-f175.google.com ([209.85.216.175]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1R0wTA-0000nl-25 for bitcoin-development@lists.sourceforge.net; Tue, 06 Sep 2011 14:17:44 +0000 Received: by qyk4 with SMTP id 4so552145qyk.13 for ; Tue, 06 Sep 2011 07:17:38 -0700 (PDT) Received: by 10.229.70.130 with SMTP id d2mr1860993qcj.130.1315318658593; Tue, 06 Sep 2011 07:17:38 -0700 (PDT) Received: from [10.1.1.50] (155.88-67-202.dynamic.dsl.syd.iprimus.net.au. [202.67.88.155]) by mx.google.com with ESMTPS id x15sm195585qaa.25.2011.09.06.07.17.35 (version=SSLv3 cipher=OTHER); Tue, 06 Sep 2011 07:17:37 -0700 (PDT) Message-ID: <4E662B79.5090303@gmail.com> Date: Wed, 07 Sep 2011 00:17:29 +1000 From: Steve User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13 MIME-Version: 1.0 To: Mike Hearn References: <4E65CEE6.7030002@gmail.com> <4E65DA06.9060403@gmail.com> <4E661FAE.9020008@gmail.com> In-Reply-To: Content-Type: multipart/alternative; boundary="------------020701080500050303030203" X-Spam-Score: -0.9 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (shadders.del[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.3 AWL AWL: From: address is in the auto white-list X-Headers-End: 1R0wTA-0000nl-25 Cc: bitcoin-development@lists.sourceforge.net Subject: Re: [Bitcoin-development] Building a node crawler to map network X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list Reply-To: shadders.del@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2011 14:17:45 -0000 This is a multi-part message in MIME format. --------------020701080500050303030203 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Mike, I expect I'll be submitting patches for bitcoinj sometime in the future but I'm not really across it yet to the point where I'd be confident submitting patches right now... This proxy sound like a good match for what I've been up to lately though so long as it wouldn't involve direct changes to bitcoind on my part. My c/c++ skills are non-existent. However I have been building a pool protocol using protobufs and netty for non-blocking IO and I'd imagine the kind of multiplexing proxy you're talking about could be easily implemented using netty. I'm not really understanding the use case though. I believe most bitcoind's have a default max connections of 8. Is the goal to increase this without fundamentally altering the bitcoind concurrency model? Or is it to provide capactity for a more hub/client oriented network? If the latter then presumably this is functionality that should ideally be native to the client in the long term in the form of NIO? On 06/09/11 23:31, Mike Hearn wrote: > > I've looked but can't find a post like you're talking about. Can > you point me to it? > > https://groups.google.com/forum/?pli=1#!topic/bitcoinj/LSlZdUWcCdk > > > If so then bollocks... I'm looking for something useful to do atm. > PoolServerJ is in a holding pattern atm as I've stabilisied all > the bugs I know about and am waiting for several pools to finish > testing and move into production so I'm twiddling thumbs trying to > figure out how to spend my time. > > > Patches to BitCoinJ are always welcome :-) > > If you'd rather do your own thing, you could experiment with writing a > proxy that sits in front of bitcoind and multiplexes connections. > Gavin is concerned about socket exhaustion as users move to > lightweight clients. Multiplexing proxies are a battle-tested > technique for reducing the strain of this type of thing. BitCoinJ uses > thread-per-connection so wouldn't do a good job of that right now, but > allowing it to use a mix of async io and multi-threading would be a > nice improvement. It'd need some changes to bitcoind as well for a > really good effort, to allow for IPs to be forwarded. I'm happy to > discuss it more with you over on the bitcoinj list if wanted. --------------020701080500050303030203 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit Hi Mike,

I expect I'll be submitting patches for bitcoinj sometime in the future but I'm not really across it yet to the point where I'd be confident submitting patches right now...

This proxy sound like a good match for what I've been up to lately though so long as it wouldn't involve direct changes to bitcoind on my part.  My c/c++ skills are non-existent.

However I have been building a pool protocol using protobufs and netty for non-blocking IO and I'd imagine the kind of multiplexing proxy you're talking about could be easily implemented using netty. 

I'm not really understanding the use case though.  I believe most bitcoind's have a default max connections of 8.  Is the goal to increase this without fundamentally altering the bitcoind concurrency model?  Or is it to provide capactity for a more hub/client oriented network?  If the latter then presumably this is functionality that should ideally be native to the client in the long term in the form of NIO?

On 06/09/11 23:31, Mike Hearn wrote:
I've looked but can't find a post like you're talking about.  Can you point me to it?
 
 
If so then bollocks... I'm looking for something useful to do atm.  PoolServerJ is in a holding pattern atm as I've stabilisied all the bugs I know about and am waiting for several pools to finish testing and move into production so I'm twiddling thumbs trying to figure out how to spend my time.

Patches to BitCoinJ are always welcome :-)

If you'd rather do your own thing, you could experiment with writing a proxy that sits in front of bitcoind and multiplexes connections. Gavin is concerned about socket exhaustion as users move to lightweight clients. Multiplexing proxies are a battle-tested technique for reducing the strain of this type of thing. BitCoinJ uses thread-per-connection so wouldn't do a good job of that right now, but allowing it to use a mix of async io and multi-threading would be a nice improvement. It'd need some changes to bitcoind as well for a really good effort, to allow for IPs to be forwarded. I'm happy to discuss it more with you over on the bitcoinj list if wanted.
--------------020701080500050303030203--