[Bitcoin-development] NODE_EXT_SERVICES and advertising related services

Mike Hearn mike at plan99.net
Fri Aug 8 12:11:25 UTC 2014

> 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

./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 ....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140808/bb208097/attachment.html>

More information about the bitcoin-dev mailing list