Commit 778cb678 authored by madengji's avatar madengji Committed by vipwzw

bind list take from earlier

parent 7dc2388b
...@@ -534,8 +534,8 @@ paracross_testBind() { ...@@ -534,8 +534,8 @@ paracross_testBind() {
chain33_SignAndSendTxWait "$rawtx" "${priv1q9}" "${para_ip}" chain33_SignAndSendTxWait "$rawtx" "${priv1q9}" "${para_ip}"
echo "2. get bind" echo "2. get bind"
chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"data":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List.SuperNode| [has("1KSBd17H7Z"),true])' "$FUNCNAME" '(.result.List)' chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"superNode":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List| [has("1KSBd17H7Z"),true])' "$FUNCNAME" '(.result.List)'
chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"data":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List.Miners| [has("1Q9sQw"),true])' "$FUNCNAME" '(.result.List)' chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"superNode":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List| [has("1Q9sQw"),true])' "$FUNCNAME" '(.result.List)'
} }
paracross_testUnBind() { paracross_testUnBind() {
...@@ -554,8 +554,8 @@ paracross_testUnBind() { ...@@ -554,8 +554,8 @@ paracross_testUnBind() {
# superNode=$(jq -r ".result.List.SuperNode" <<<"$resp") # superNode=$(jq -r ".result.List.SuperNode" <<<"$resp")
# miners=$(jq -r ".result.List.Miners" <<<"$resp") # miners=$(jq -r ".result.List.Miners" <<<"$resp")
chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"data":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List.SuperNode| [has("1KSBd17H7Z"),true])' "$FUNCNAME" '(.result.List)' chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"superNode":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List| [has("1KSBd17H7Z"),true])' "$FUNCNAME" '(.result.List)'
chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"data":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List.Miners| [has("1Q9sQw"),false])' "$FUNCNAME" '(.result.List)' chain33_Http '{"method":"Chain33.Query","params":[{ "execer":"paracross", "funcName":"GetNodeBindMinerList","payload":{"superNode":"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4"}}]}' "${para_ip}" '(.error|not) and (.result.List| [has("1Q9sQw"),false])' "$FUNCNAME" '(.result.List)'
} }
paracross_testBindMiner() { paracross_testBindMiner() {
......
...@@ -232,6 +232,11 @@ func (a *action) bind2Node(node string) (*types.Receipt, error) { ...@@ -232,6 +232,11 @@ func (a *action) bind2Node(node string) (*types.Receipt, error) {
return nil, errors.Wrap(err, "bind2Node") return nil, errors.Wrap(err, "bind2Node")
} }
//由于kvmvcc内存架构,如果存储结构为nil,将回溯查找,这样在只有一个绑定时候,unbind后,有可能会回溯到更早状态,是错误的,title这里就是占位使用
if len(list.Title) <= 0 {
list.Title = a.api.GetConfig().GetTitle()
}
old := proto.Clone(list).(*pt.ParaNodeBindList) old := proto.Clone(list).(*pt.ParaNodeBindList)
list.Miners = append(list.Miners, &pt.ParaNodeBindOne{SuperNode: node, Miner: a.fromaddr}) list.Miners = append(list.Miners, &pt.ParaNodeBindOne{SuperNode: node, Miner: a.fromaddr})
...@@ -245,7 +250,7 @@ func (a *action) unbind2Node(node string) (*types.Receipt, error) { ...@@ -245,7 +250,7 @@ func (a *action) unbind2Node(node string) (*types.Receipt, error) {
if err != nil { if err != nil {
return nil, errors.Wrap(err, "unbind2Node") return nil, errors.Wrap(err, "unbind2Node")
} }
newList := &pt.ParaNodeBindList{} newList := &pt.ParaNodeBindList{Title: a.api.GetConfig().GetTitle()}
old := proto.Clone(list).(*pt.ParaNodeBindList) old := proto.Clone(list).(*pt.ParaNodeBindList)
for _, m := range list.Miners { for _, m := range list.Miners {
......
...@@ -186,7 +186,8 @@ message ParaNodeBindOne{ ...@@ -186,7 +186,8 @@ message ParaNodeBindOne{
} }
message ParaNodeBindList{ message ParaNodeBindList{
repeated ParaNodeBindOne miners = 1; string title = 1;
repeated ParaNodeBindOne miners = 2;
} }
message ReceiptParaNodeBindListUpdate{ message ReceiptParaNodeBindListUpdate{
......
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