From c664a7482772bf6fa66ced34321dfb98f1ce34a8 Mon Sep 17 00:00:00 2001 From: Guanghua Guo <1536310027@qq.com> Date: Sat, 21 Oct 2017 17:06:22 +0800 Subject: [PATCH] Key wallet (#66) * Fix a bug about unmarshal json (#63) * Fix a bug about parameter error in signTransaction Close(#63) --- blockchain/hsm.go | 8 ++++++-- cmd/bytomcli/main.go | 7 ++++--- net/http/httperror/httperror.go | 2 +- node/node.go | 2 +- version/version.go | 6 +++--- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/blockchain/hsm.go b/blockchain/hsm.go index 0a8ff393..c3669343 100644 --- a/blockchain/hsm.go +++ b/blockchain/hsm.go @@ -2,11 +2,13 @@ package blockchain import ( "context" + "github.com/bytom/blockchain/pseudohsm" "github.com/bytom/blockchain/txbuilder" "github.com/bytom/crypto/ed25519/chainkd" "github.com/bytom/net/http/httperror" "github.com/bytom/net/http/httpjson" + log "github.com/sirupsen/logrus" ) func init() { @@ -55,10 +57,11 @@ func (a *BlockchainReactor) pseudohsmSignTemplates(ctx context.Context, x struct Auth string Txs []*txbuilder.Template `json:"transactions"` XPubs []chainkd.XPub `json:"xpubs"` -}) []interface{} { - resp := make([]interface{}, 0, len(x.Txs)) +}) interface{} { + resp := make([]interface{}, len(x.Txs)) for _, tx := range x.Txs { err := txbuilder.Sign(ctx, tx, x.XPubs, x.Auth, a.pseudohsmSignTemplate) + log.WithFields(log.Fields{"tx": tx, "build err": err}).Info("After sign transaction.") if err != nil { info := errorFormatter.Format(err) resp = append(resp, info) @@ -66,6 +69,7 @@ func (a *BlockchainReactor) pseudohsmSignTemplates(ctx context.Context, x struct resp = append(resp, tx) } } + log.WithField("resp", resp).Info("Sign Transaction complete.") return resp } diff --git a/cmd/bytomcli/main.go b/cmd/bytomcli/main.go index 9957011e..33dd348d 100644 --- a/cmd/bytomcli/main.go +++ b/cmd/bytomcli/main.go @@ -984,11 +984,12 @@ func signTransactions(client *rpc.Client, args []string) { file, _ := os.Open(args[0]) tpl_byte := make([]byte, 10000) file.Read(tpl_byte) - fmt.Printf("tpl:%v\n", string(tpl_byte)) - stdjson.Unmarshal(tpl_byte, &tpl) + fmt.Printf("tpl_byte:%v\n", string(tpl_byte)) + err = stdjson.Unmarshal(bytes.Trim(tpl_byte, "\x00"), &tpl) + fmt.Printf("tpl:%v, err:%v\n", tpl, err) in.Txs = []*txbuilder.Template{&tpl} - var response map[string][]interface{} + var response []interface{} = make([]interface{}, 1) client.Call(context.Background(), "/sign-transactions", &in, &response) fmt.Printf("sign response:%v\n", response) } diff --git a/net/http/httperror/httperror.go b/net/http/httperror/httperror.go index 8f09d151..d2ff5c6c 100644 --- a/net/http/httperror/httperror.go +++ b/net/http/httperror/httperror.go @@ -88,7 +88,7 @@ func (f Formatter) Log(ctx context.Context, err error) { resp := f.Format(err) keyvals := []interface{}{ "status", resp.HTTPStatus, - "chaincode", resp.ChainCode, + "bytomcode", resp.ChainCode, "path", reqid.PathFromContext(ctx), log.KeyError, errorMessage, } diff --git a/node/node.go b/node/node.go index 60038888..5b22a114 100644 --- a/node/node.go +++ b/node/node.go @@ -428,7 +428,7 @@ func (n *Node) makeNodeInfo() *p2p.NodeInfo { nodeInfo := &p2p.NodeInfo{ PubKey: n.privKey.PubKey().Unwrap().(crypto.PubKeyEd25519), Moniker: n.config.Moniker, - Network: "chain0", + Network: "bytom", Version: version.Version, Other: []string{ cmn.Fmt("wire_version=%v", wire.Version), diff --git a/version/version.go b/version/version.go index beb5cfd8..e0a06850 100644 --- a/version/version.go +++ b/version/version.go @@ -1,12 +1,12 @@ package version const Maj = "0" -const Min = "5" -const Fix = "0" +const Min = "1" +const Fix = "2" var ( // The full version string - Version = "0.5.0" + Version = "0.1.2" // GitCommit is set with --ldflags "-X main.gitCommit=$(git rev-parse HEAD)" GitCommit string -- 2.11.0