Commit c05d425f authored by lihailei's avatar lihailei

modify input params.

parent 2bd32ba3
......@@ -12,8 +12,8 @@ var (
chain33_jrpcUrl = "http://localhost:8801"
)
func SetJrpcURL(url string) {
chain33_jrpcUrl=url
func SetJrpcURL(url string) {
chain33_jrpcUrl = url
}
func GetJrpcURL() string {
return chain33_jrpcUrl
......
......@@ -6,8 +6,6 @@ import (
"gitlab.33.cn/chain33/chain33/types"
. "gitlab.33.cn/lihailei/chain33_sdk/common"
. "gitlab.33.cn/lihailei/chain33_sdk/models"
"strconv"
)
// BlockController operations for Block
......@@ -28,6 +26,7 @@ func (c *BlockController) URLMapping() {
// Get block headers between [start, end]
c.Mapping("getBlockList", c.GetBlockList)
}
//getLastHeader...
//@Title getLastHeader
//@Description getLastHeader
......@@ -46,24 +45,24 @@ func (c *BlockController) GetLastHeader() {
c.Ctx.ResponseWriter.Write(data)
}
}
//getBlockHashByHeight...
//@Title getBlockHashByHeight
//@Description getBlockHashByHeight
//@Param height query int false "height"
//@Param height query int false "查询的区块高度"
//@Success 200 执行成功返回blockhash
//@Failure 403 Forbidden禁止执行
//@Failure 400 传入参数有误
//@router /getBlockHashByHeight [get]
func (c *BlockController) GetBlockHashByHeight() {
var res jsonrpc.ReplyHash
height := c.Ctx.Request.Header.Get("height")
h, err := strconv.ParseInt(height, 10, 64)
if height == "" || err != nil {
height, err := c.GetInt64("height")
if err != nil {
c.Ctx.ResponseWriter.WriteHeader(400)
return
}
params := types.ReqInt{
Height: h,
Height: height,
}
ctx := NewRpcCtx(GetJrpcURL(), "Chain33.GetBlockHash", params, &res)
data, err := ctx.ReplyData()
......@@ -74,6 +73,7 @@ func (c *BlockController) GetBlockHashByHeight() {
c.Ctx.ResponseWriter.Write(data)
}
}
//getblockViewByHash...
//@Title getblockViewByHash
//@Description getblockViewByHash
......@@ -83,7 +83,8 @@ func (c *BlockController) GetBlockHashByHeight() {
//@Failure 400 传入参数有误
//@router /getBlockViewByHash [get]
func (c *BlockController) GetBlockViewByHash() {
blockHash := c.Ctx.Request.Header.Get("blockHash")
//blockHash := c.Ctx.Request.Header.Get("blockHash")
blockHash := c.GetString("blockHash")
if blockHash == "" {
c.Ctx.ResponseWriter.WriteHeader(400)
return
......@@ -101,20 +102,21 @@ func (c *BlockController) GetBlockViewByHash() {
c.Ctx.ResponseWriter.Write(data)
}
}
//getblockHeaders...
//@Title getblockHeaders
//@Description getblockHeaders
//@Param startH query int false "startH"
//@Param endH query int false "endH"
//@Param detail query bool false "detail"
//@Param startHeight query int false "查询的开始区块高度"
//@Param endHeight query int false "查询的结束区块高度"
//@Param detail query bool false "是否查询详细信息"
//@Success 200 执行成功,返回blockHeader
//@Failure 403 Forbidden禁止执行
//@Failure 400 传入参数有误
//@router /getBlockHeaders [get]
func (c *BlockController) GetBlockHeaders() {
startH, errS := strconv.ParseInt(c.Ctx.Request.Header.Get("startH"), 10, 64)
endH, errE := strconv.ParseInt(c.Ctx.Request.Header.Get("endH"), 10, 64)
isDetail, errD := strconv.ParseBool(c.Ctx.Request.Header.Get("detail"))
startH, errS := c.GetInt64("startHeight")
endH, errE := c.GetInt64("endHeight")
isDetail, errD := c.GetBool("detail")
if errS != nil || errE != nil || errD != nil {
c.Ctx.ResponseWriter.WriteHeader(400)
return
......@@ -134,21 +136,21 @@ func (c *BlockController) GetBlockHeaders() {
c.Ctx.ResponseWriter.Write(data)
}
}
//getblockList...
//@Title getblockList
//@Description getblockList
//@Param startH query int false "startH"
//@Param endH query int false "endH"
//@Param detail query bool false "detail"
//@Param startHeight query int false "查询的开始区块高度"
//@Param endHeight query int false "查询的结束区块高度"
//@Param detail query bool false "是否查询详细信息"
//@Success 200 执行成功,返回blockList
//@Failure 403 Forbidden禁止执行
//@Failure 400 传入参数有误
//@router /getBlockList [get]
func (c *BlockController) GetBlockList() {
startH, errS := strconv.ParseInt(c.Ctx.Request.Header.Get("startH"), 10, 64)
endH, errE := strconv.ParseInt(c.Ctx.Request.Header.Get("endH"), 10, 64)
isDetail, errD := strconv.ParseBool(c.Ctx.Request.Header.Get("detail"))
startH, errS := c.GetInt64("startHeight")
endH, errE := c.GetInt64("endHeight")
isDetail, errD := c.GetBool("detail")
if errS != nil || errE != nil || errD != nil {
c.Ctx.ResponseWriter.WriteHeader(400)
return
......
......@@ -16,7 +16,6 @@ func (c *PeerController) URLMapping() {
c.Mapping("getPeers", c.GetPeers)
}
//@Title GetPeers
//@Description get Peers
//@Success 200 执行成功,返回节点信息
......
......@@ -3,13 +3,9 @@ package controllers
import (
"github.com/astaxie/beego"
jsonrpc "gitlab.33.cn/chain33/chain33/rpc"
"gitlab.33.cn/chain33/chain33/types"
. "gitlab.33.cn/lihailei/chain33_sdk/common"
. "gitlab.33.cn/lihailei/chain33_sdk/models"
"gitlab.33.cn/chain33/chain33/types"
"strconv"
"io/ioutil"
"encoding/json"
)
// TxController operations for Tx
......@@ -22,9 +18,10 @@ func (c *TxController) URLMapping() {
c.Mapping("queryTxByHash", c.QueryTxByHash)
c.Mapping("queryTxByAddr", c.QueryTxByAddr)
}
//queryTxByHash...
//@Title queryTxByHash
//@Param hash query string false "hash"
//@Param txHash query string false "单笔交易的hash"
//@Param isRawHex query bool false "isRawHex"
//@Description queryTxByHash
//@Success 200 执行成功,返回交易信息
......@@ -32,18 +29,17 @@ func (c *TxController) URLMapping() {
//@Failure 400 传入参数有误
//@router /queryTxByHash [get]
func (c *TxController) QueryTxByHash() {
hash := c.Ctx.Request.Header.Get("hash")
isRawHex, _ := strconv.ParseBool(c.Ctx.Request.Header.Get("isRawHex"))
if hash ==""{
txHash := c.GetString("txHash")
isRawHex, err := c.GetBool("isRawHex")
if txHash == "" || err != nil {
c.Ctx.ResponseWriter.WriteHeader(400)
return
}
var data []byte
var err error
if isRawHex {
data,err =queryByHashOutputHex(GetJrpcURL(), hash)
data, err = queryByHashOutputHex(GetJrpcURL(), txHash)
} else {
data,err=queryByHash(GetJrpcURL(), hash)
data, err = queryByHash(GetJrpcURL(), txHash)
}
if err != nil {
c.Data["json"] = err.Error()
......@@ -57,9 +53,9 @@ func (c *TxController) QueryTxByHash() {
//@Title queryTxByAddr
//@Description queryTxByAddr 把参数以json格式,送给body体进行传入
//@Param Addr query string false "addr"
//@Param Flag query bool false "flag"
//@Param Flag query int false "flag"
//@Param Count query int false "count"
//@Param Direction query string false direction"
//@Param Direction query int false direction"
//@Param Height query int false "height"
//@Param Index query int false "index"
//@Success 200 执行成功返回交易信息
......@@ -67,21 +63,24 @@ func (c *TxController) QueryTxByHash() {
//@Failure 400 传入参数有误
// @router /queryTxByAddr [get]
func (c *TxController) QueryTxByAddr() {
var params types.ReqAddr
body,_:= ioutil.ReadAll(c.Ctx.Request.Body)
err :=json.Unmarshal(body,&params)
if err !=nil {
c.Ctx.ResponseWriter.WriteHeader(400)
return
}
//params := types.ReqAddr{
// Addr: addr,
// Flag: flag,
// Count: count,
// Direction: direction,
// Height: height,
// Index: index,
addr := c.GetString("addr")
flag, _ := c.GetInt32("flag")
count, _ := c.GetInt32("count")
direction, _ := c.GetInt32("direction")
height, _ := c.GetInt64("height")
index, _ := c.GetInt64("index")
// if err !=nil {
// c.Ctx.ResponseWriter.WriteHeader(400)
// return
//}
params := types.ReqAddr{
Addr: addr,
Flag: flag,
Count: count,
Direction: direction,
Height: height,
Index: index,
}
var res jsonrpc.ReplyTxInfos
ctx := NewRpcCtx(GetJrpcURL(), "Chain33.GetTxByAddr", params, &res)
data, err := ctx.ReplyData()
......@@ -93,7 +92,7 @@ func (c *TxController) QueryTxByAddr() {
}
}
func queryByHashOutputHex(rpcAddr, txHash string)([]byte,error) {
func queryByHashOutputHex(rpcAddr, txHash string) ([]byte, error) {
params := jsonrpc.QueryParm{
Hash: txHash,
}
......@@ -101,7 +100,7 @@ func queryByHashOutputHex(rpcAddr, txHash string)([]byte,error) {
ctx := NewRpcCtx(rpcAddr, "Chain33.GetHexTxByHash", params, &res)
return ctx.ReplyData()
}
func queryByHash(rpcAddr, txHash string)([]byte,error) {
func queryByHash(rpcAddr, txHash string) ([]byte, error) {
params := jsonrpc.QueryParm{
Hash: txHash,
}
......@@ -109,4 +108,4 @@ func queryByHash(rpcAddr, txHash string)([]byte,error) {
ctx := NewRpcCtx(rpcAddr, "Chain33.QueryTransaction", params, &res)
ctx.SetResultCb(ParseQueryTxRes)
return ctx.ReplyData()
}
\ No newline at end of file
}
{"D:\\Repository\\src\\gitlab.33.cn\\lihailei\\chain33_sdk\\controllers":1524106465013718100}
\ No newline at end of file
......@@ -12,7 +12,7 @@ func main() {
beego.BConfig.WebConfig.DirectoryIndex = true
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}
if beego.AppConfig.String("jrpcAddr")!=""{
if beego.AppConfig.String("jrpcAddr") != "" {
common.SetJrpcURL(beego.AppConfig.String("jrpcAddr"))
}
beego.Run()
......
package models
import (
"fmt"
"strconv"
......@@ -169,7 +170,10 @@ func decodeTransaction(tx *jsonrpc.Transaction) *TxResult {
Nonce: tx.Nonce,
To: tx.To,
}
payloacValue := tx.Payload.(map[string]interface{})["Value"].(map[string]interface{})
payloacValue, ok := tx.Payload.(map[string]interface{})["Value"].(map[string]interface{})
if !ok {
return result
}
for _, e := range [4]string{"Transfer", "Withdraw", "Genesis", "Hlock"} {
if _, ok := payloacValue[e]; ok {
if amtValue, ok := result.Payload.(map[string]interface{})["Value"].(map[string]interface{})[e].(map[string]interface{})["amount"]; ok {
......
package routers
import (
"github.com/astaxie/beego"
"github.com/astaxie/beego/context/param"
)
func init() {
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"],
beego.ControllerComments{
Method: "getBlockHash",
Router: `/getBlockHashByHeight`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"],
beego.ControllerComments{
Method: "getBlockHeaders",
Router: `/getBlockHeaders`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"],
beego.ControllerComments{
Method: "getBlockList",
Router: `/getBlockList`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"],
beego.ControllerComments{
Method: "getBlockViewByHash",
Router: `/getblockViewByHash`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:BlockController"],
beego.ControllerComments{
Method: "getLastHeader",
Router: `[get]`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:PeerController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:PeerController"],
beego.ControllerComments{
Method: "GetPeers",
Router: `/getPeers`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:TxController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:TxController"],
beego.ControllerComments{
Method: "QueryTxByAddr",
Router: `/queryTxByAddr`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:TxController"] = append(beego.GlobalControllerRouter["gitlab.33.cn/lihailei/chain33_sdk/controllers:TxController"],
beego.ControllerComments{
Method: "QueryTxByHash",
Router: `/queryTxByHash`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Params: nil})
}
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after
{
box-sizing: inherit;
}
body {
margin:0;
background: #fafafa;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
<defs>
<symbol viewBox="0 0 20 20" id="unlocked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
</symbol>
<symbol viewBox="0 0 20 20" id="locked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="close">
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow">
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow-down">
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="jump-to">
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="expand">
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
</symbol>
</defs>
</svg>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js"> </script>
<script src="./swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {
// Build a system
const ui = SwaggerUIBundle({
url: "swagger.json",
dom_id: '#swagger-ui',
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}
</script>
</body>
</html>
<!doctype html>
<html lang="en-US">
<body onload="run()">
</body>
</html>
<script>
'use strict';
function run () {
var oauth2 = window.opener.swaggerUIRedirectOauth2;
var sentState = oauth2.state;
var isValid, qp, arr;
qp = (window.location.hash || location.search).substring(1);
arr = qp.split("&")
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
qp = qp ? JSON.parse('{' + arr.join() + '}',
function (key, value) {
return key === "" ? value : decodeURIComponent(value)
}
) : {}
isValid = qp.state === sentState
if (oauth2.auth.schema.get("flow") === "accessCode" && !oauth2.auth.code) {
if (!isValid) {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "warning",
message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
});
}
if (qp.code) {
delete oauth2.state;
oauth2.auth.code = qp.code;
oauth2.callback(oauth2.auth);
} else {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message: "Authorization failed: no accessCode received from the server"
});
}
} else {
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid});
}
window.close();
}
</script>
This source diff could not be displayed because it is too large. You can view the blob instead.
{"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;AAu/FA;AA6+FA;;;;;;;;;;;;;;;;;;;;;;;;;;AAyTA;;;;;;AAoIA;AAi7FA;AAmtCA;AAi0IA;AA0oJA;AAgwFA;AAyrGA;AA0lFA;AA4nFA;AA+9CA;AA+gDA;AAwrCA;AA60EA;;;;;AA6oCA;AAsyJA;;;;;;;;;;;;;;AA64EA;AA4mIA;AAquJA;AA2qHA;AA2mGA;AAiiEA;AAq4DA;AAg3DA;AAoPA;;;;;;AAk7FA;AA07FA;;;;;AAi8CA;AAgsFA;AAs2CA;AAglCA;AAu9CA;AAy8EA;AAsiCA;AA+yFA;;;;;;;;;AAgkDA;AA2zIA;AAu7FA;AAmrFA;AAu0EA","sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{"version":3,"file":"swagger-ui-standalone-preset.js","sources":["webpack:///swagger-ui-standalone-preset.js"],"mappings":"AAAA;;;;;AA8QA;AAmvGA;AAuxFA;;;;;;AAocA;AAkvFA;AAu+CA;AAo+CA;AAgrCA;AAuyEA","sourceRoot":""}
\ No newline at end of file
This diff is collapsed.
{"version":3,"file":"swagger-ui.css","sources":[],"mappings":"","sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AA0yCA;AAoyHA;AAmyHA;AAykGA;AA+9BA;AA6iCA;AAojCA;AAu5BA","sourceRoot":""}
\ No newline at end of file
This diff is collapsed.
swagger: "2.0"
info:
title: beego Test API
description: beego has a very cool tools to autogenerate documents for your API
version: 1.0.0
termsOfService: http://beego.me/
contact:
email: astaxie@gmail.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
basePath: /v1
paths:
/block/getBlockHashByHeight:
get:
tags:
- block
description: getBlockHashByHeight
operationId: BlockController.getBlockHashByHeight
parameters:
- in: query
name: height
description: height
type: integer
format: int64
responses:
"200":
description: 执行成功返回blockhash
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
/block/getBlockHeaders:
get:
tags:
- block
description: getblockHeaders
operationId: BlockController.getblockHeaders
parameters:
- in: query
name: startH
description: startH
type: integer
format: int64
- in: query
name: endH
description: endH
type: integer
format: int64
- in: query
name: detail
description: detail
type: boolean
responses:
"200":
description: 执行成功,返回blockHeader
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
/block/getBlockList:
get:
tags:
- block
description: getblockList
operationId: BlockController.getblockList
parameters:
- in: query
name: startH
description: startH
type: integer
format: int64
- in: query
name: endH
description: endH
type: integer
format: int64
- in: query
name: detail
description: detail
type: boolean
responses:
"200":
description: 执行成功,返回blockList
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
/block/getBlockViewByHash:
get:
tags:
- block
description: getblockViewByHash
operationId: BlockController.getblockViewByHash
parameters:
- in: query
name: blockHash
description: blockHash
type: string
responses:
"200":
description: 执行成功返回blockView
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
/block/getLastHeader:
get:
tags:
- block
description: getLastHeader
operationId: BlockController.getLastHeader
responses:
"200":
description: 执行成功,返回block信息
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
/peer/getPeers:
get:
tags:
- peer
description: get Peers
operationId: PeerController.GetPeers
responses:
"200":
description: 执行成功,返回节点信息
"403":
description: Forbidden禁止执行
/tx/queryTxByAddr:
get:
tags:
- tx
description: queryTxByAddr 把参数以json格式,送给body体进行传入
operationId: TxController.queryTxByAddr
parameters:
- in: query
name: Addr
description: addr
type: string
- in: query
name: Flag
description: flag
type: boolean
- in: query
name: Count
description: count
type: integer
format: int64
- in: query
name: Direction
description: direction
type: string
- in: query
name: Height
description: height
type: integer
format: int64
- in: query
name: Index
description: index
type: integer
format: int64
responses:
"200":
description: 执行成功返回交易信息
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
/tx/queryTxByHash:
get:
tags:
- tx
description: queryTxByHash
operationId: TxController.queryTxByHash
parameters:
- in: query
name: hash
description: hash
type: string
- in: query
name: isRawHex
description: isRawHex
type: boolean
responses:
"200":
description: 执行成功,返回交易信息
"400":
description: 传入参数有误
"403":
description: Forbidden禁止执行
tags:
- name: peer
description: |
PeerController operations for Peer
- name: block
description: |
BlockController operations for Block
- name: tx
description: |
TxController operations for Tx
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment