Mike Hearn [ARCHIVE] on Nostr: 📅 Original date posted:2014-08-08 📝 Original message:> > Something like ...
📅 Original date posted:2014-08-08
📝 Original message:>
> 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=127.0.0.1/8
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>
📝 Original message:>
> 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=127.0.0.1/8
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>