listtransactionsを実装しなかった理由は、Web開発者に使わせたくないからだ。受信した支払いの監視にそれを利用するのは非常に簡単だろう。しかし、その方法で何も取りこぼさないようにする信頼できる方法はない。getreceivedbyaddressとgetreceivedbylabelを使った確実なサンプルコードを用意して「これを使って! これを使って! listtransactionsは使わないで!」と言えるようになるまで、listtransactionsを実装すべきではないと思う。
なぜ信頼できない? GUIが出しているのと同じ情報を返すだけだし、それで支払いの監視はちゃんと動くじゃないか…
サトシ・ナカモトlisttransactionsを実装する時には、対策の一つとしてすべてテキストにする方法があるかもしれない。フィールドをコメント、確認数、クレジット、デビットなどに分解すべきではない。「0/unconfirmed 0:0:0 date comment debit 4 credit 0」のような整形済みの1つの文字列にして、プログラマーが間違った使い方をしにくくすることができるだろう。これはサーバーの状態を確認するためだけのものだ。ただ、HTMLの列にフォーマットしたいWebインターフェースにとっては少し面倒かもしれないが。
ユーザーを自分自身から守るという方針は取るべきではないと思う。もしやるなら、せめて “devmode” スイッチか設定行でオフにできるようにすべきだろう。