API経由ではhash値をキーにトランザクションをダイレクトに検索できない?

Takanobu ()
こんにちは。
NEM APIを参考にいろいろアプリを開発しています。

NEM NIS API Documentation
https://bob.nem.ninja/docs/

よくよく読んでみると、hash値をキーにダイレクトにtransaction を抽出できなさそうな気がしてきました。
使えそうなAPIコマンドはこれなのですが、
/account/transfers/all?address=NXXXXX&hash=ハッシュ値

しかし、このコマンドだと指定ハッシュ値に至るまで(未満)の25件が抽出されてしまいます。
nembexもどうやら独自にDBに放り込んでいるものを抽出しているみたいなのです。

先頭から25件ずつループを回せば、目的のトランザクションに到達できるのは理解できますが、
それではノードに負荷をかけてしまいます。せっかくなのでDBまわりはブロックチェーンに依存したいです。
1回の問い合わせで目的とするトランザクションをゲットする方法はありますでしょうか?
よろしくお願いします。

namuyan ()
こんにちは、
NISにおいてTXHASHでのインデックシングは考慮されていないようです。(公式ではできるような事書いてあるけど
ですのでTXHASHによりトランザクションデータの抽出はできません。

NISにとってTXHASHとは一時的なトランザクションの操作用のインデックスであり、メモリにのみ記録されています。
ですので一定時間経過するとメモリから消され操作に使えなくなります。"Hash was not found in cache"

しかし、非公式で制限付きですがTXHASHで取得できます。
Cofigを右のように変えて下さい。こうするとメモリ上に永遠に保持してくれます。→ nis.transactionHashRetentionTime = -1
メモリ上にTXHASHがある場合のみ、このAPIにより特定のTXを取得できます。→ `/transaction/get?hash=`
Nanowalletにあるノードなら恐らく使えるはずです。これはアポスティー湯の為に有効化されているはずでしょうから。

Takanobu ()
ありがとうございます! /transaction/get というコマンドがあるのですね。知らなかった。
試してみます!