public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Mike Hearn <mike@plan99•net>
To: Wladimir <laanwj@gmail•com>
Cc: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] NODE_EXT_SERVICES and advertising related services
Date: Fri, 8 Aug 2014 14:11:25 +0200	[thread overview]
Message-ID: <CANEZrP2UFMDJ+88MU=RTyU4FV_HCHwuHLmd5S9aK2AZ7DJ+j7g@mail.gmail.com> (raw)
In-Reply-To: <CA+s+GJCbCRQP_w3g-0qtA6K8qrf6ywNfJ9d1367gSTfgCwgU2Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1382 bytes --]

>
> 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 ....

[-- Attachment #2: Type: text/html, Size: 1924 bytes --]

  parent reply	other threads:[~2014-08-08 12:11 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-08  3:38 Jeff Garzik
2014-08-08  9:45 ` Mike Hearn
2014-08-08  9:56   ` Wladimir
2014-08-08 10:01     ` Mike Hearn
2014-08-08 10:15       ` Wladimir
2014-08-08 10:26         ` Wladimir
2014-08-08 10:41           ` Christian Decker
2014-08-08 11:22             ` Jeff Garzik
2014-08-08 11:33       ` Jeff Garzik
2014-08-08 11:38         ` Mike Hearn
2014-08-08 11:59           ` Wladimir
2014-08-08 12:06             ` Jeff Garzik
2014-08-08 12:11             ` Jeff Garzik
2014-08-08 12:15               ` Wladimir
2014-08-08 12:11             ` Mike Hearn [this message]
2014-08-08 12:15               ` Jeff Garzik
2014-08-08 12:16               ` Wladimir
2014-08-08 12:34               ` Wladimir
2014-08-08 13:55                 ` Mike Hearn
2014-08-08 12:04           ` Jeff Garzik
2014-08-08 12:13             ` Mike Hearn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CANEZrP2UFMDJ+88MU=RTyU4FV_HCHwuHLmd5S9aK2AZ7DJ+j7g@mail.gmail.com' \
    --to=mike@plan99$(echo .)net \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=laanwj@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox