You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript查询Hive及Hive-Engine账户近期交易

查询Hive-Engine账户近期交易的JavaScript方案

你用hive.getAccountHistory()不行是因为这个方法只查询Hive主链的账户操作记录,而Hive-Engine的交易是侧链数据,存在独立的API节点中,得用Hive-Engine专属的接口来获取。下面是两种可行方案:

方案一:直接调用Hive-Engine REST API

用原生fetch或axios直接请求Hive-Engine的RPC接口,无需额外安装库:

async function getHiveEngineTxHistory(accountName, contract = "tokens", limit = 50) {
  const response = await fetch('https://api.hive-engine.com/rpc/contracts', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      jsonrpc: '2.0',
      method: 'find',
      params: {
        contract: contract,
        table: 'history',
        query: { account: accountName },
        limit: limit,
        sort: { timestamp: -1 } // 按时间倒序,最新交易在前
      },
      id: 1
    })
  });

  const data = await response.json();
  return data.result;
}

// 使用示例
getHiveEngineTxHistory("your-account-name")
  .then(txs => console.log("近期交易记录:", txs))
  .catch(err => console.error("获取失败:", err));
  • 关键细节:
    • contract参数:不同交易对应不同合约,比如代币转账用tokens,市场挂单/成交用market,NFT交易用nft,按需调整
    • 分页获取更早记录:可在query中添加timestamp: { $lt: 最后一条记录的timestamp },或设置skip参数跳过已加载的条目

方案二:使用Hive-Engine官方JS库

用封装好的库简化操作,适合复杂场景:

先安装依赖:

npm install @hive-engine/hive-engine-js

然后编写代码:

const { HiveEngine } = require("@hive-engine/hive-engine-js");

// 初始化客户端
const hiveEngine = new HiveEngine();

async function fetchTxHistory(accountName) {
  // 查询tokens合约下的账户交易历史,取最新50条
  const history = await hiveEngine.contracts.find("tokens", "history", { account: accountName }, 50, 0, { timestamp: -1 });
  console.log("交易记录:", history);
}

fetchTxHistory("your-account-name");

这个库除了查询历史,还支持签名交易、合约交互等功能,适合深度开发需求。

内容的提问来源于stack exchange,提问作者Developer Uganda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:19:58