Announcement

Collapse
No announcement yet.

NEMのAPIのトランザクション取得について質問です

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • NEMのAPIのトランザクション取得について質問です

    プロペラと申します。

    こちらの方がトピックを建てるのに適していると思いましたので建てます。
    GETメソッドの/account/transfers/incomingについてです。
    トランザクションが多いアドレスを取得してみましたが一部(25個)しか取得できませんでした。
    hashを指定していけば全トランザクションを取得できるようですが肝心のハッシュがどれかわからず困って います。
    NEM NIS API Documentationを見ましたがわからずじまいでした。
    どなたかやり方を教えて下さい。

  • #2
    プロペラさんこんにちは、tomotomo9696と申します。

    さて、APIの仕様上25件までしか取得できないため、おっしゃる通りトランザクションハッシュをしていす ればそれ以前のデータが取得できます。
    肝心のトランザクションハッシュですが、 /account/transfers/incoming ( 含 outgoing all ) などで取得したデータの
    各トランザクションの meta 内、hash の中、さらにその中の data にトランザクションハッシュが入っています。
    Code:
    data['data'][index]['meta']['hash']['data']
    ただし、このハッシュを使った絞り込みは、NISの設定によっては使用できないっぽいので、 id (同じく meta 内に入っている)を使用する方がよいかもしれません。

    参考程度に、JavaScriptでの低クオリティサンプルも載せておきます。(要jQuery)
    Code:
    function getAllhistory(hash) {
        var url = NISAddress + "/account/transfers/all?address=" + Address;
        url += hash !== undefined ? "&hash=" + hash : "";
        //url += id !== undefined ? "&id=" + id: "";
        $.ajax({
            url: url,
            type: 'GET',
            contentType: 'application/json'
        }).done(function (data) {
            for (var i = 0; i < data["data"].length; i++) {
                console.log(data["data"][i]["transaction"]["amount"] * 0.000001);
            }
            if (data["data"].length === 25) {
                getAllhistory(data["data"][24]["meta"]["hash"]["data"]);//25件目のトランザクションハッシュ
                // getAllhistory(data["data"][24]["meta"]["id"]);//25件目のID
            }
        });
    }
    getAllhistory();

    Comment


    • #3
      コメント、有難うございます。
      idを指定しましたところ無事にすべてのトランザクションを取得できました。
      NISは入れただけで設定らしきものはいじってないはずですがhash指定はできませんでした。
      これで無事に次の段階へ進めそうです。

      Comment

      Working...
      X