HPB 钱包与中间件接口

优质
小牛编辑
133浏览
2023-12-01

为方便开发者更容易的开发或者使用HPB钱包,HPB的钱包开发者们准备了一份常用的API接口介绍。

1 Hpb Version Controller

1.1 查询版本号

描述:app钱包查询版本号。

请求说明:

 请求方式: POST 
 请求URL:http://47.75.96.163:9888/HpbComponent/cms/version

调用示例:

[

  "1","0"

]

请求参数说明:

参数名是否必须描述
1设备类型:(0 安卓或1 IOS);
0参数2:language_type(0:中文或 1:英文);

返回数据示例:

[

  "000000",                                                                                                 //响应状态(000000:成功;999999:失败)

  "成功",                                                                                                                            //响应消息提示
  {

 "map": {},                                                                                                                     //预留map

  "id": 36,                                                                                                                         //当前版本id

  "verNo": "1.0.0",                                                                                                         //版本号

  "downloadUrl": "https://fir.im/mw6r",                             
//下载地址

  "mobileType": 1,                                                                                      //手机类型 0-安卓 1-IOS 2-其它

  "remark": "1.0.2测试1120180806111",                       
//备注

  "createTime": 1533547987870,                                      
//创建时间戳

  "updateTime": 1534570817329,                                     
//更新时间戳

  "state": "1",                                                                                                    //状态:1-生效;0-失效

  "userId": 1,                                                                                                 //用户id

  "isForceFlag": "0",                                                                                    //是否强制更新:1-是;0-否

  "langType": "0",                                                                                                          //语言类型:0-中文;1-英文

  "verContent": "a1.0.2"                                                         //版本内容

  }

]

2 Personal Controller

2.1 获取账户余额

描述:app钱包用户获取账户余额。

请求说明:

请求方式: POST 
请求URL:http://47.75.96.163:9888/HpbComponent/personal/getBalance

调用示例:

[

  "0x09a0e8893efd605e6aaae9b0c8285a3f16e5f198"

]

请求参数说明:

参数名是否必须描述
参数1address(0x开头的地址,42位hash)

返回数据示例:

[

  "000000",                                                                                                                      //响应状态(000000:成功;999999:失败)

  "成功",                                                                                                                                              //响应消息提示

  0                                                                                                   //余额

]

2.2 获取账户nonce

描述:app钱包用户获取账户的nonce。

请求说明:

请求方式: POST 
请求URL:http://47.75.96.163:9888/HpbComponent/personal/getNonce

调用示例:

[

  "0x09a0e8893efd605e6aaae9b0c8285a3f16e5f198"

]

请求参数说明:

参数名是否必须描述
参数1address(0x开头的地址,42位hash)

返回数据示例:

[

   "000000",                                                                                                                     //响应状态(000000:成功;999999:失败)

  "成功",                                                                                                                                              //响应消息提示

  {
  "gasLimit": "50000",                                                                               // gasLimit

  "nonce": 0,                                                                                                 //nonce

  "gasPrice": "18000000000"                                                                 // gasPrice  
  }                                                                                  

]

3 Personal Controller

3.1 查询交易

描述:app钱包根据交易hash查询交易。

请求说明:

请求方式: POST 
请求URL:http://47.75.96.163:9888/HpbComponent/transaction/getTransactionByHash

调用示例:

[

  " 0x78a7012f467035e4ca1a8f6dffe6e138e1a24e591ba4945de5ef74bbcb69cd63"

]

请求参数说明:

参数名是否必须描述
参数1交易hash(0x开头的地址,64位hash)

返回数据示例:

[

  "000000",                                                                                  //响应状态(000000:成功;999999:失败)

  "成功",                                                                                                                                              //响应消息提示

  {

 "hash": "0xdd19d1946bc000294d5d5e2ee01943bdd07165576460bd20e739964029214071",                                                                                                                        //交易hash

  "nonce": 2,                                                             //nonce

  "blockHash": "0x638055808a31f15e0854baca5e688c4d8e15910c06c4ea56a389f567a00d8671",                                                                                                                        //所在块的hash   

"blockNumber": 150318,                                      
//所在块高

 "transactionIndex": 0,                                        
//交易在区块内的序号

  "from": "0x847af04fbd21a909726cf00aaa06acd820035d5a",                                                       //交易发起方

  "to": "0x3795435afaec3bfb2388a1e2ef58108f564d3e07",                      
//交易接收方

  "value": 0,                                                                                //发送金额

  "gasPrice": 18000000000,                                                 
// gasPrice

  "gas": 90000,                                                        
 // gas

  "input": "0x7b0d0a09226772616365506572696f64223a20223135222c0d0a092270726548617368223a2022222c0d0a092263757374636453616c6c6572223a2022313030373431222c0d0a0922696e7365727444617465223a2022323031382d30382d3136222c0d0a09226d656d6f223a2022222c0d0a0922636e616d6553656c6c6572223a2022e58d83e5b29be6b996e69e97e69ca8e58aa0e5b7a5e69c89e99990e585ace58fb8222c0d0a09226275737354797065223a202231323330303130222c0d0a092264656274456e64223a2022323031382d31302d3135222c0d0a0922646561644c696e65223a2022323031382d31302d3330222c0d0a092262696c6c7354797065223a20223031222c0d0a09226375737463644275796572223a2022313030373433222c0d0a092262696c6c73416d6f756e74223a202233303030302e3030222c0d0a092272656d61696e696e67416d6f756e74223a202233303030302e3030222c0d0a092262696c6c7344617465223a2022323031382d30382d3136222c0d0a09226d617374436f6e746e6f223a2022474e424c32303138303831363030303031222c0d0a092262696c6c734e6f223a2022505a485432303138303832313031222c0d0a092262696c6c73416d6f756e7456696577223a202233303030302e3030222c0d0a092262757373436f6e74636f6465223a20225357485432303138303832313031222c0d0a09226167696e67223a20223630222c0d0a0922636e616d654275796572223a2022e6b599e6b19fe697b6e997b4e69e97e7a791e68a80e69c89e99990e8b4a3e4bbbbe585ace58fb8222c0d0a0922737461747573223a20223031220d0a7d",                                                          
  //交易内附带信息(input字段)

   "creates": null,                                                      

   "publicKey": null,

   "raw": null,

   "r": "0xe417129af6776b6985ef95b92ef25b4e1c0025eb387b8e097aa182f89de889c7",

   "s": "0x5193ba9a5378f7d19f72a3e717dd5096fbc06f3a79c358c790475b385fe30225",

    "v": 37,

    "transactionIndexRaw": "0x0",

    "blockNumberRaw": "0x24b2e",

    "nonceRaw": "0x2",

    "valueRaw": "0x0",

    "gasPriceRaw": "0x430e23400",

    "gasRaw": "0x15f90"

  }                                                                

]

3.2 查询交易历史

描述:app钱包用户获取本地账户的交易历史。

请求说明:

请求方式: POST 
请求URL:http://47.75.96.163:9888/HpbComponent/transaction/getTransactionHistory

调用示例:

[

  " 0x847af04fbd21a909726cf00aaa06acd820035d5a","0","1"

]

请求参数说明:

参数名是否必须描述
参数1address(0x开头的地址,42位hash),
参数2交易类型(0-所有 1-发送 2-接收),
参数3页码数 >0

返回数据示例:

[

  "000000",                                                                                  

//响应状态(000000:成功;999999:失败)

  "成功",                                                                                                                                              

//响应消息提示

  {

 "pageNum": 1,                                                                        //当前页码数

 "pageSize": 10,                                                                        //当前页大小

 "size": 6,                                                                                   //数据量

 "startRow": 1,                                                                          //开始行

 "endRow": 6,                                                                            //结束行

  "total": 6,                                                                                  //总记录数

  "pages": 1,                                                                                //总页数

  "list": [                                                                                       //数据list

   {

  "map": {},                                                                                //预留map

  "transactionHash": "0xf467c92777a820cb92f75556b5d06f69b635197c997b910c7dc4219a83f85ef9",
                                                                                                               //交易hash

  "fromAccount": "0x847af04fbd21a909726cf00aaa06acd820035d5a",             

//发起方

 "toAccount": "0x3795435afaec3bfb2388a1e2ef58108f564d3e07",                    

//接收方

  "nonce": 4,                                                                                  //nonce

 "tValue": "0",                                                                            //金额

  "gas": "90000",                                                                      //gas

 "gasPrice": "18000000000",                                                   //gasPrice

 "status": "0x1",                                                                    //状态

 "blockHash": "0x9163f7ff6b4611b3bd6957c4560ff3a45d4cc31f85753f6ec6819bd33d67eb34",                                                                                                   //所在块的hash

 "blockNumber": 150612,                                                  
 //块高

 "transactionIndex": null,                                                    //交易在块中的序号

 "tTimestap": 1534820055,                                                
//时间戳

  "gasUsed": "633",                                                               //gas费用

 "remark": null,                                                                     //

 "tInput": null,                                                                       //输入参数字段

 "actulTxFee": "11394000000000"

   }      

],

  "prePage": 0,                                                                             //前一页

  "nextPage": 0,                                                                           //下一页

  "isFirstPage": true,                                                                   //是否是第一页

  "isLastPage": true,                                                                   //是否是最后一页

  "hasPreviousPage": false,                                                      //是否有前一页

   "hasNextPage": false,                                                             //是否有下一页

   "navigatePages": 8,                                                                 //可显示的最大页数

   "navigatepageNums": [         //页数字段                                                 
      1
    ],

    "navigateFirstPage": 1,                                                               //第一页

    "navigateLastPage": 1,                                                               //最后一页

    "firstPage": 1,                                                                              //第一页

    "lastPage": 1                                                                                //最后一页

  }                                              

]

3.3 发送交易

描述:app钱包用户发起交易。

请求说明:

请求方式: POST 
请求URL:http://47.75.96.163:9888/HpbComponent/transaction/sendRawTransaction

调用示例:

[

  " 0xf467c92777a820cb92f75556b5d06f69b635197c997b910c7dc4219a83f85ef9"

]

请求参数说明:

参数名是否必须描述
参数1签名后hash数据(0x开头hash数据,16进制数据,测试异常情况)

返回数据示例:

[
  "000000",                                                                                  //响应状态(000000:成功;999999:失败)

  "成功",                                                                                                                                              //响应消息提示

  {
  "hash": "0xdd19d1946bc000294d5d5e2ee01943bdd07165576460bd20e739964029214071",                                                                                                                                                          //交易hash

  "nonce": 2,                                                                                                  //nonce

  "blockHash": null,                                                                  //交易还在打包,块值为空

  "blockNumber": null,                                                            //交易还在打包,块值为空

  "transactionIndex": null,                                                      //交易还在打包

  "from": "0x847af04fbd21a909726cf00aaa06acd820035d5a",                                  //发送方

  "to": "0x3795435afaec3bfb2388a1e2ef58108f564d3e07",                      
//接收方

 "value": 0,                                                                                                  //值

 "gasPrice": 18000000000,                                                  //gasPrice

 "gas": 90000,                                                                          // gas number

 "input": null,                                                                            // input字段

 "creates": null,  
// null

  "publicKey": null,                                                                     // null

  }                                              

]