Skip to content

Commit

Permalink
feat 支持qbasev0.1.0, qosv0.0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
xuyz committed Feb 28, 2019
1 parent ce7fe22 commit 4da501f
Show file tree
Hide file tree
Showing 34 changed files with 541 additions and 626 deletions.
10 changes: 6 additions & 4 deletions cmd/commands/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,18 @@ var deleteNodeCmd = &cobra.Command{
}

var (
nodeName string
nodeUrl string
nodeType string
nodeName string
nodeUrl string
nodeType string
nodeVersion string
)

func init() {
createNodeCmd.PersistentFlags().StringVar(&nodeName, "nodeName", "", "the name of node")
createNodeCmd.PersistentFlags().StringVar(&nodeUrl, "nodeUrl", "", "the url of node")
createNodeCmd.PersistentFlags().StringVar(&nodeType, "nodeType", "", fmt.Sprintf("节点类型:%s, %s, %s",
types.NodeTypeQOS, types.NodeTypeQSC, types.NodeTypeCOSMOS))
createNodeCmd.PersistentFlags().StringVar(&nodeVersion, "nodeVersion", "", "the version of node")

updateNodeCmd.PersistentFlags().StringVar(&nodeName, "nodeName", "", "the name of node")
updateNodeCmd.PersistentFlags().StringVar(&nodeUrl, "nodeUrl", "", "the url of node")
Expand Down Expand Up @@ -84,7 +86,7 @@ func createNode(cmd *cobra.Command, args []string) error {
return errors.New("nodeType 不支持")
}

if err := service.CreateNode(nodeName, nodeUrl, nodeType, ""); err != nil {
if err := service.CreateNode(nodeName, nodeUrl, nodeType, nodeVersion, ""); err != nil {
return err
}

Expand Down
2 changes: 1 addition & 1 deletion cmd/commands/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func txParse(cmd *cobra.Command, args []string) error {
//}
//
//cdc := lib.MakeCodec()
//for k, v := range b.BlockLoop.Data.Txs {
//for k, v := range b.BlockLoop.Data.Tx {
// var tx cosmostypes.Msg
// err := cdc.UnmarshalBinaryBare(v, &tx)
// if err != nil {
Expand Down
12 changes: 7 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@ module github.com/QOSGroup/qmoon

require (
cloud.google.com/go v0.36.0 // indirect
github.com/QOSGroup/kepler v0.5.1-0.20190104094056-251fcf63614d
github.com/QOSGroup/qbase v0.0.10
github.com/QOSGroup/qos v0.0.4-0.20190108073207-1fc21c111f3a
github.com/QOSGroup/qstars v0.4.2-0.20190218090549-56b3698e3dbc
github.com/QOSGroup/qbase v0.1.0
github.com/QOSGroup/qos v0.0.4
github.com/btcsuite/btcd v0.0.0-20181013004428-67e573d211ac // indirect
github.com/cosmos/cosmos-sdk v0.32.0 // indirect
github.com/didip/tollbooth v4.0.0+incompatible
github.com/elazarl/go-bindata-assetfs v1.0.0
github.com/gin-contrib/sse v0.0.0-20190125020943-a7658810eb74 // indirect
Expand All @@ -16,13 +13,17 @@ require (
github.com/go-xorm/core v0.6.2
github.com/go-xorm/xorm v0.7.1
github.com/google/go-querystring v1.0.0
github.com/hashicorp/go-version v1.1.0
github.com/json-iterator/go v1.1.5 // indirect
github.com/lib/pq v1.0.0
github.com/magiconair/properties v1.8.0
github.com/mattn/go-runewidth v0.0.4 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/olekukonko/tablewriter v0.0.1
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/pkg/errors v0.8.1
github.com/prometheus/common v0.0.0-20190107103113-2998b132700a // indirect
github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967
github.com/sirupsen/logrus v1.2.0
github.com/spf13/cobra v0.0.3
Expand All @@ -35,5 +36,6 @@ require (
github.com/tidwall/match v1.0.1 // indirect
github.com/ugorji/go/codec v0.0.0-20190204201341-e444a5086c43 // indirect
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 // indirect
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
gopkg.in/go-playground/validator.v8 v8.18.2 // indirect
)
35 changes: 9 additions & 26 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.36.0 h1:+aCSj7tOo2LODWVEuZDZeGCckdt6MlSF+X/rB3wUiS8=
cloud.google.com/go v0.36.0/go.mod h1:RUoy9p/M4ge0HzT8L+SDZ8jg+Q6fth0CiBuhFJpSV40=
dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU=
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
Expand All @@ -9,19 +10,12 @@ dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/QOSGroup/kepler v0.5.1-0.20190104094056-251fcf63614d h1:NY+SmZkRcCb8MH8DQzrykkEBNRGtG1mv+9TGSnz2/L4=
github.com/QOSGroup/kepler v0.5.1-0.20190104094056-251fcf63614d/go.mod h1:iZ7dp9NUQBwHrQuSYV/5vIy367Akxb7oJh+qwKBqWLM=
github.com/QOSGroup/qbase v0.0.10 h1:GQVVcLidFd287EhX+0HsEbTaPoldhD5j2qZxVquz3PU=
github.com/QOSGroup/qbase v0.0.10/go.mod h1:r+Q/IR3geYNf1Z4ICg4LTe7UZzQzpk13WiUHt477eN8=
github.com/QOSGroup/qmoon v0.0.4-0.20190219035013-b884a07e9709/go.mod h1:UnNCxbJm0I5IDJCMxylB/ScdjpKIlaGrEE0AGuQCmss=
github.com/QOSGroup/qmoon_cosmos_agent v0.0.0-20190220081816-1773afeb55e4 h1:JGYwfgsyiDTHQ8tk9/j2OGYg/8w/SYyFx4iSIDd/B44=
github.com/QOSGroup/qmoon_cosmos_agent v0.0.0-20190220081816-1773afeb55e4/go.mod h1:8JZ9r3EaSN4370uaGl28n9CRwID0067QIRPShXeKDOs=
github.com/QOSGroup/qmoon_cosmos_agent v0.0.0-20190221033500-432e37ceec6f h1:bYSz/r86wfBEGNQclX4c9A8FmUviAmTvbpsdkLEH7mo=
github.com/QOSGroup/qmoon_cosmos_agent v0.0.0-20190221033500-432e37ceec6f/go.mod h1:66tAUa5NX2N8udZF86ME6G4eyDH4ckqJRxFq8hK9tgY=
github.com/QOSGroup/qos v0.0.4-0.20190108073207-1fc21c111f3a h1:9u1GAOh/BoUrw5zrnIvB0m/Nd9USyxAHSAJYbyFpknE=
github.com/QOSGroup/qos v0.0.4-0.20190108073207-1fc21c111f3a/go.mod h1:bmnQfUZ6OH68q3/zPcNdgOfYaHYViXnLCzlxwUretlA=
github.com/QOSGroup/qstars v0.4.2-0.20190218090549-56b3698e3dbc h1:u15bZtvP36OSIsBV2y4BKkFMhLhttSNxrDRlywXLqT8=
github.com/QOSGroup/qstars v0.4.2-0.20190218090549-56b3698e3dbc/go.mod h1:iKLV5qqIaeQWu9PJcp37Uy01SCJXQqcy8dweHIbdsDE=
github.com/QOSGroup/kepler v0.6.0 h1:2lvDAv43bb3L0CEcL/nKFLIjSv/pyYCvieflIVy6O+M=
github.com/QOSGroup/kepler v0.6.0/go.mod h1:iZ7dp9NUQBwHrQuSYV/5vIy367Akxb7oJh+qwKBqWLM=
github.com/QOSGroup/qbase v0.1.0 h1:h+kzdOv2xVzFcRcooBtJnsEcq2wqqgd29GhXcLG4cQ4=
github.com/QOSGroup/qbase v0.1.0/go.mod h1:r+Q/IR3geYNf1Z4ICg4LTe7UZzQzpk13WiUHt477eN8=
github.com/QOSGroup/qos v0.0.4 h1:VciZGZImy/xtev64HrDElOgxuOizW6eGFb3RfU/qG2w=
github.com/QOSGroup/qos v0.0.4/go.mod h1:OxGCkYni5vJPjI2MpcWjqeRQjdNqOmNlLgsQW0qNfpQ=
github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE=
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU=
Expand All @@ -47,8 +41,6 @@ github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/cosmos/cosmos-sdk v0.32.0 h1:l4HtecbD+0XyQqDh7J+b8wy9mkRoz9VUK5nBOxLMrpA=
github.com/cosmos/cosmos-sdk v0.32.0/go.mod h1:JrX/JpJunJQXBI5PEX2zELHMFzQr/159jDjIhesOh2c=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
Expand Down Expand Up @@ -119,14 +111,12 @@ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OI
github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/mux v1.6.2 h1:Pgr17XVTNXAk3q/r4CpKzC5xBM/qW1uVLV+IhRZpIIk=
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
github.com/hashicorp/go-version v1.1.0 h1:bPIoEKD27tNdebFGGxxYwcL4nepeY4j1QP23PFRGzg0=
github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
Expand Down Expand Up @@ -277,8 +267,6 @@ github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s
github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U=
github.com/tendermint/crypto v0.0.0-20180820045704-3764759f34a5 h1:u8i49c+BxloX3XQ55cvzFNXplizZP/q00i+IlttUjAU=
github.com/tendermint/crypto v0.0.0-20180820045704-3764759f34a5/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk=
github.com/tendermint/ed25519 v0.0.0-20171027050219-d8387025d2b9 h1:zccWau0P8FELSb4HTDJ88hRo+WVNMbIbg27rFqDrhCE=
github.com/tendermint/ed25519 v0.0.0-20171027050219-d8387025d2b9/go.mod h1:nt45hbhDkWVdMBkr2TOgOzCrpBccXdN09WOiOYTHVEk=
github.com/tendermint/go-amino v0.14.1 h1:o2WudxNfdLNBwMyl2dqOJxiro5rfrEaU0Ugs6offJMk=
github.com/tendermint/go-amino v0.14.1/go.mod h1:i/UKE5Uocn+argJJBb12qTZsCDBcAYMbR92AaJVmKso=
github.com/tendermint/iavl v0.12.0 h1:xcaFAr+ycqCj7WN1RzL2EfcBioRDOHcU1oWcg83K028=
Expand All @@ -287,9 +275,6 @@ github.com/tendermint/tendermint v0.27.3 h1:yJQhTEjFiNtTqO2OQTPnIYmy1Gj3EBqBik3c
github.com/tendermint/tendermint v0.27.3/go.mod h1:ymcPyWblXCplCPQjbOYbrF1fWnpslATMVqiGgWbZrlc=
github.com/tendermint/tendermint v0.27.4 h1:rytK6+o/TYPhLJJu/tRaq6PBx/25VGAwiee2qdNnFsY=
github.com/tendermint/tendermint v0.27.4/go.mod h1:ymcPyWblXCplCPQjbOYbrF1fWnpslATMVqiGgWbZrlc=
github.com/tendermint/tendermint v0.30.0 h1:zPqxUcpS9A9+VN0osyvMYqO3KFfLdP6j98ncGUwfWRk=
github.com/tendermint/tendermint v0.30.0/go.mod h1:ymcPyWblXCplCPQjbOYbrF1fWnpslATMVqiGgWbZrlc=
github.com/tendermint/tendermint v0.30.1 h1:PqGXWDomu6SmICQgcwvCstfvTqxsOn/tn+w9is4FcxI=
github.com/tidwall/gjson v1.1.5 h1:QysILxBeUEY3GTLA0fQVgkQG1zme8NxGvhh2SSqWNwI=
github.com/tidwall/gjson v1.1.5/go.mod h1:c/nTNbUr0E0OrXEhq1pwa8iEgc2DOt4ZZqAt1HtCkPA=
github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc=
Expand All @@ -310,8 +295,6 @@ golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc h1:F5tKCVGp+MUAHhKp5MZtGqAlGX3+oCsiL1Q629FL90M=
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 h1:NwxKRvbkH5MsNkvOtPZi3/3kmI8CAzs3mtv+GLQMkNo=
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
Expand Down
11 changes: 6 additions & 5 deletions handler/hadmin/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ func NodesGinRegister(r *gin.Engine) {
}

type createNodeQuery struct {
Name string `json:"name"`
BaseURL string `json:"baseUrl"`
NodeType string `json:"nodeType"`
SecretKey string `json:"secretKey"`
Name string `json:"name"`
BaseURL string `json:"baseUrl"`
NodeType string `json:"nodeType"`
NodeVersion string `json:"nodeVersion"`
SecretKey string `json:"secretKey"`
}

func (q createNodeQuery) Validator() error {
Expand Down Expand Up @@ -59,7 +60,7 @@ func createNodeGin() gin.HandlerFunc {
return
}

err := service.CreateNode(reqObj.Name, reqObj.BaseURL, reqObj.NodeType, reqObj.SecretKey)
err := service.CreateNode(reqObj.Name, reqObj.BaseURL, reqObj.NodeType, reqObj.NodeVersion, reqObj.SecretKey)
if err != nil {
c.JSON(http.StatusOK, types.RPCServerError("", err))
return
Expand Down
44 changes: 4 additions & 40 deletions lib/amino.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,14 @@
package lib

import (
"github.com/QOSGroup/kepler/cert"
"github.com/QOSGroup/qbase/baseabci"

qosaccount "github.com/QOSGroup/qos/account"
qostxs "github.com/QOSGroup/qos/txs"
qsc "github.com/QOSGroup/qstars/star"
"github.com/QOSGroup/qos/app"

"github.com/tendermint/go-amino"
)

var Cdc = MakeQSCCodec()

var QOSCdc = MakeQOSCodec()
var QSCCdc = MakeQSCCodec()
var COSMOSCdc = MakeCOSMOSCodec()
var Cdc = MakeCodec()
var QOSCdc = MakeCodec()

func MakeCodec() *amino.Codec {
cdc := qsc.MakeCodec()
return cdc
}

func MakeQOSCodec() *amino.Codec {
cdc := baseabci.MakeQBaseCodec()
qostxs.RegisterCodec(cdc)
qosaccount.RegisterCodec(cdc)
cert.RegisterCodec(cdc)
return cdc
}

// qsc
func MakeQSCCodec() *amino.Codec {
return qsc.MakeCodec()
}

// cosmos
func MakeCOSMOSCodec() *amino.Codec {
var cdc = amino.NewCodec()
//bank.RegisterCodec(cdc)
//staking.RegisterCodec(cdc)
//distribution.RegisterCodec(cdc)
//slashing.RegisterCodec(cdc)
//gov.RegisterCodec(cdc)
//auth.RegisterCodec(cdc)
//cosmostypes.RegisterCodec(cdc)
//cryptoAmino.RegisterAmino(cdc)
return cdc
return app.MakeCodec()
}
6 changes: 3 additions & 3 deletions lib/cosmos_agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type Tx struct {
Data json.RawMessage `json:"data"`
}

type ResultTx struct {
type ResultCosmosTx struct {
Status int `json:"status"`
Txs []Tx `json:"txs"`
IsOK bool `json:"isOk"`
Expand All @@ -31,7 +31,7 @@ func NewCosmosCli(remote string) CosmosCli {
return CosmosCli{remote: remote}
}

func (cc CosmosCli) Txs(txs []string) ([]ResultTx, error) {
func (cc CosmosCli) Txs(txs []string) ([]ResultCosmosTx, error) {
body := struct {
Txs []string `json:"txs"`
}{
Expand All @@ -44,7 +44,7 @@ func (cc CosmosCli) Txs(txs []string) ([]ResultTx, error) {
return nil, err
}

var result []ResultTx
var result []ResultCosmosTx
err = json.NewDecoder(resp.Body).Decode(&result)
if err != nil {
return nil, err
Expand Down
49 changes: 49 additions & 0 deletions lib/qstars_agent.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Copyright 2018 The QOS Authors

package lib

import (
"encoding/json"
"net/http"
"strings"
)

type ResultQstarsAgentTx struct {
Status int `json:"status"`
Tx Tx `json:"txs"`
IsOK bool `json:"isOk"`
Err string `json:"err"`
}

type QstarsAgentCli struct {
remote string
}

func NewQstarsAgentCli(remote string) QstarsAgentCli {
if remote == "" {
remote = "http://localhost:19528"
}
return QstarsAgentCli{remote: remote}
}

func (cc QstarsAgentCli) Txs(txs []string) ([]ResultQstarsAgentTx, error) {
body := struct {
Txs []string `json:"txs"`
}{
Txs: txs,
}

d, _ := json.Marshal(body)
resp, err := http.Post(cc.remote+"/txs", "application/json", strings.NewReader(string(d)))
if err != nil {
return nil, err
}

var result []ResultQstarsAgentTx
err = json.NewDecoder(resp.Body).Decode(&result)
if err != nil {
return nil, err
}

return result, nil
}
Loading

0 comments on commit 4da501f

Please sign in to comment.