[Bitcoin-development] NODE_EXT_SERVICES and advertising related services

Jeff Garzik jgarzik at bitpay.com
Fri Aug 8 12:15:19 UTC 2014

getutxos is a special case, since we already maintain that index as
part of normal operation.

While I dislike some aspects of getutxos (covered elsewhere), if
merged, it would be more appropriate as a special case to keep
getutxos fully internal to bitcoind for implementation reasons.

On Fri, Aug 8, 2014 at 8:11 AM, Mike Hearn <mike at plan99.net> wrote:
>> Something like `getutxos` or this proposal could be implemented as an
>> external application or script, instead of having to integrate
>> everything into bitcoind.
> Right, although getutxos needs access to the UTXO set which bitcoind already
> has. An external plugin would have to recalculate it from scratch which
> seems redundant.
> However there are many other useful services that could be added in such a
> way, like -txindex or the nLockTime storage facility we talked about the
> other day.
>> Bitcoind would need a local interprocess message bus for that
> Maybe, that feels like it could be overkill though. Probably just something
> like
> ./bitcoind -servicecookie=<long random string> -allowextservices=
> and then any program can connect to bitcoind as normal, send "registersrv"
> with the cookie and a list of command ids it's interested in, maybe a
> service bit to set, and start receiving those messages wrapped in a new
> structure that gives some kind of client ID (like IP address). So any
> library that can do the basic P2P protocol could then be extended with not
> much code to get a multiplexed stream of messages from different clients.
> An additional standalone program can then bridge this mechanism to running a
> shell command for particular messages, though given the history of shell
> based exploits I'd feel safer with something that doesn't do that ....

Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.      https://bitpay.com/

More information about the bitcoin-dev mailing list