public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Marcel Jamin <marcel@jamin•net>
To: Luke Dashjr <luke@dashjr•org>,
	 Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Currency/exchange rate information API
Date: Tue, 7 Mar 2017 10:29:24 +0100	[thread overview]
Message-ID: <CAAUq487pjZYTZJDNv2TL8Vwh-nGqaFVZLG1v4VUJu=ejcx45nw@mail.gmail.com> (raw)
In-Reply-To: <201703040827.33798.luke@dashjr.org>

> Why are multiple results separated by a line-feed rather than using a JSON Array?
> * Clients ought to cache historical data, and using a line-feed format allows them to simply append to a cache file.
> * Parsing JSON typically requires the entire data parsed together as a single memory object. Using simple lines to separate results, however, allows parsing a single result at a time.
> What if long descriptions require line and paragraph breaks?
> * Clients should word-wrap long lines, and JSON escapes newlines as "\n" which can be used doubly ("\n\n") for paragraph breaks.

I'd file this under premature optimization at the cost of
interoperability. If you use JSON, then please use it properly.

I'd also say it's the job of the parser to offer a way of doing that,
e.g. in .NET you can easily achieve that with Newtonsoft's JSON
parser: http://stackoverflow.com/questions/20374083/deserialize-json-array-stream-one-item-at-a-time.

On 4 March 2017 at 09:27, Luke Dashjr via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
>
> Investigating what it would take to add fiat currency information to Bitcoin
> Knots, I noticed Electrum currently has many implementations, one for each
> exchange rate provider, due to lack of a common format for such data.
>
> Therefore, I put together an initial draft of a BIP that could standardise
> this so wallets (or other software) and exchange rate providers can simply
> interoperate without a lot of overhead reimplementing the same thing many
> ways.
>
> One thing I am unsure about, is that currently this draft requires using XBT
> (as BTC) for Bitcoin amounts. It would seem nicer to use satoshis, but those
> don't really have a pseudo-ISO currency code to fit in nicely...
>
> Current draft here:
>     https://github.com/luke-jr/bips/blob/bip-xchgrate/bip-xchgrate.mediawiki
>
> Thoughts? Anything critical missing? Ways to make the interface better?
>
> Luke
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


  parent reply	other threads:[~2017-03-07  9:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-04  8:27 Luke Dashjr
2017-03-04 15:18 ` アルム カールヨハン
2017-03-06  5:37 ` Tim Ruffing
2017-03-06  7:09   ` Luke Dashjr
2017-03-06  8:14     ` Jonas Schnelli
2017-03-06 21:54     ` Tim Ruffing
2017-03-06 22:02       ` Tim Ruffing
2017-03-06 22:21         ` Luke Dashjr
2017-03-06 22:14       ` Luke Dashjr
2017-03-06 22:30         ` Tim Ruffing
2017-03-06 22:38           ` Tim Ruffing
2017-03-06 23:14   ` Andreas Schildbach
2017-03-07  9:29 ` Marcel Jamin [this message]
2017-03-13 18:10   ` Andrew LeCody

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='CAAUq487pjZYTZJDNv2TL8Vwh-nGqaFVZLG1v4VUJu=ejcx45nw@mail.gmail.com' \
    --to=marcel@jamin$(echo .)net \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=luke@dashjr$(echo .)org \
    /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