如何使用 Adonis 发出 json-rpc 请求

Posted

技术标签:

【中文标题】如何使用 Adonis 发出 json-rpc 请求【英文标题】:How to make json-rpc request with Adonis 【发布时间】:2020-07-09 09:38:04 【问题描述】:

我正在使用 Adonis 构建比特币 RPC 系统,所以我正在使用 request.js Lib 发出请求,所以问题出在我发出请求时的回调有效但我看不到将响应发送到网络端点,当我控制台来自 RPC 服务器的响应时,它工作正常,但在邮递员上它是空白的。

getBlockCount( response)
    const dataString = `"jsonrpc":"1.0","id":"curltext","method":"getblockcount","params":[]`;
    const options = 
        url: `http://$USER:$PASS@$HOST:$PORT/`,
        method: "POST",
        headers: headers,
        body: dataString
    ;
    const returnData;
    const callback = (error, nextRes, body) => 
      if (!error && nextRes.statusCode == 200) 
        const data = JSON.parse(body);
        console.log(data)
        returnData = data;
        response.status(200).send(returnData)
      
      return response.send('data');
    ;
    
    return request(options, callback);
    // const options = requestOption(dataString);
    // console.log(rpcRequest(options, callBack(response)));

【问题讨论】:

【参考方案1】:

我最终使用了request-promise 这就是它的样子

async getBlockCount(req, response)
    return await rp(requestOption(`"jsonrpc":"1.0","id":"curltext","method":"getblockcount","params":[]`))
  

function requestOption(dataString) 
  return 
      url: `http://$USER:$PASS@$HOST:$PORT/`,
      method: "POST",
      headers: headers,
      body: dataString
  ;

【讨论】:

以上是关于如何使用 Adonis 发出 json-rpc 请求的主要内容,如果未能解决你的问题,请参考以下文章

JSON-RPC - 如何制作一个唯一的 ID?

React Native 中的比特币 JSON-RPC Api 请求?

在 WCF 中实现 JSON-RPC

如何将大文件加载到分块的 Adonis JS 中?

Adonis JS v5 关系缺少模型属性

Adonis与ANOSIM检验究竟是啥?