listtransactions を実装しなかった理由は、Webプログラマに使ってほしくないからだ。受信した支払いを監視するために、簡単にこれに飛びついてしまうだろう。だがその方法では、取りこぼしがないことを確実に保証する信頼できるやり方は存在しない。getreceivedbyaddress と getreceivedbylabel を使った確かなサンプルコードがあって「これを使え! これを使え! listtransactions は使うな!」と示せるようになるまでは、listtransactions を実装すべきではないと思う。
なぜ信頼できないのですか? GUIが提供しているのと同じ情報を返すだけですし、それで支払いの監視はちゃんと動くじゃないですか…
サトシ・ナカモトの投稿(2010年7月30日 19:40)listtransactions を実装するときには、対抗策としてすべてをテキストで返すようにするのがいいかもしれない。フィールドを comment, confirmations, credit, debit のように分解せず、“0/unconfirmed 0:0:0 date comment debit 4 credit 0” のような整形済みの単一文字列にする。そうすればプログラマが間違った処理をしにくくなる。あくまで自分のサーバの状態を見るためのものだからだ。とはいえ、HTMLの列に整形したいWebインターフェイスにとっては、ちょっと面倒になるだろうとは思う。
ユーザを自分自身から守るという方針を採用すべきではないと思います。もしやるなら、せめて “devmode” スイッチか設定行でオフにできるようにすべきでしょう。