Commit 0fe6a44e authored by mdj33's avatar mdj33 Committed by vipwzw

super node cli command improve

parent 221cba64
...@@ -446,7 +446,7 @@ function para_cross_transfer_withdraw_for_token() { ...@@ -446,7 +446,7 @@ function para_cross_transfer_withdraw_for_token() {
function para_create_nodegroup_test() { function para_create_nodegroup_test() {
echo "=========== # para chain create node group test =============" echo "=========== # para chain create node group test ============="
##apply ##apply
txhash=$(${PARA_CLI} send para nodegroup -o 1 -a "1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4,1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR,1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k,1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs" -c 5 -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) txhash=$(${PARA_CLI} send para nodegroup apply -a "1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4,1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR,1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k,1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs" -c 5 -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
id=$txhash id=$txhash
...@@ -459,12 +459,12 @@ function para_create_nodegroup_test() { ...@@ -459,12 +459,12 @@ function para_create_nodegroup_test() {
echo "=========== # para chain quit node group =============" echo "=========== # para chain quit node group ============="
##quit ##quit
txhash=$(${PARA_CLI} send para nodegroup -o 3 -i "$id" -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) txhash=$(${PARA_CLI} send para nodegroup quit -i "$id" -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
newid=$(${PARA_CLI} para nodegroup_list -s 3 | jq -r ".ids[0].id") newid=$(${PARA_CLI} para nodegroup list -s 3 | jq -r ".ids[0].id")
if [ -z "$newid" ]; then if [ -z "$newid" ]; then
${PARA_CLI} para nodegroup_list -s 3 ${PARA_CLI} para nodegroup list -s 3
echo "quit status error " echo "quit status error "
exit 1 exit 1
fi fi
...@@ -481,7 +481,7 @@ function para_create_nodegroup() { ...@@ -481,7 +481,7 @@ function para_create_nodegroup() {
echo "=========== # para chain create node group again =============" echo "=========== # para chain create node group again ============="
##apply ##apply
txhash=$(${PARA_CLI} send para nodegroup -o 1 -a "1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY,1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4,1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR,1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k,1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs" -c 6 -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) txhash=$(${PARA_CLI} send para nodegroup apply -a "1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY,1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4,1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR,1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k,1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs" -c 6 -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
id=$txhash id=$txhash
...@@ -494,24 +494,24 @@ function para_create_nodegroup() { ...@@ -494,24 +494,24 @@ function para_create_nodegroup() {
echo "=========== # para chain approve node group =============" echo "=========== # para chain approve node group ============="
##approve ##approve
txhash=$(${PARA_CLI} send para nodegroup -o 2 -i "$id" -c 6 -k 0xc34b5d9d44ac7b754806f761d3d4d2c4fe5214f6b074c19f069c4f5c2a29c8cc) txhash=$(${PARA_CLI} send para nodegroup approve -i "$id" -c 6 -k 0xc34b5d9d44ac7b754806f761d3d4d2c4fe5214f6b074c19f069c4f5c2a29c8cc)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
status=$(${PARA_CLI} para nodegroup_status -t user.p.para. | jq -r ".status") status=$(${PARA_CLI} para nodegroup status -t user.p.para. | jq -r ".status")
if [ "$status" != 2 ]; then if [ "$status" != 2 ]; then
echo "status not approve status=$status" echo "status not approve status=$status"
exit 1 exit 1
fi fi
${PARA_CLI} para nodegroup_addrs -t user.p.para. ${PARA_CLI} para nodegroup addrs -t user.p.para.
echo "=========== # para chain quit node group fail =============" echo "=========== # para chain quit node group fail ============="
##quit fail ##quit fail
txhash=$(${PARA_CLI} send para nodegroup -o 3 -i "$id" -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) txhash=$(${PARA_CLI} send para nodegroup quit -i "$id" -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${CLI}" "${txhash}" query_tx "${CLI}" "${txhash}"
status=$(${CLI} para nodegroup_status -t user.p.para. | jq -r ".status") status=$(${CLI} para nodegroup status -t user.p.para. | jq -r ".status")
if [ "$status" != 2 ]; then if [ "$status" != 2 ]; then
echo "status quit not approve status=$status" echo "status quit not approve status=$status"
exit 1 exit 1
...@@ -523,27 +523,27 @@ function para_create_nodegroup() { ...@@ -523,27 +523,27 @@ function para_create_nodegroup() {
fi fi
echo "=========== # para chain modify node group coin=5 =============" echo "=========== # para chain modify node group coin=5 ============="
txhash=$(${PARA_CLI} send para nodegroup -o 4 -c 5 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b) txhash=$(${PARA_CLI} send para nodegroup modify -c 5 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
modifyid=$(${PARA_CLI} para nodegroup_list -s 4 | jq -r ".ids[0].id") modifyid=$(${PARA_CLI} para nodegroup list -s 4 | jq -r ".ids[0].id")
if [ -z "$modifyid" ]; then if [ -z "$modifyid" ]; then
echo "query modify error " echo "query modify error "
${PARA_CLI} para nodegroup_list -s 4 ${PARA_CLI} para nodegroup_list -s 4
fi fi
##approve ##approve
txhash=$(${PARA_CLI} send para nodegroup -o 2 -i "$modifyid" -c 5 -k 0xc34b5d9d44ac7b754806f761d3d4d2c4fe5214f6b074c19f069c4f5c2a29c8cc) txhash=$(${PARA_CLI} send para nodegroup approve -i "$modifyid" -c 5 -k 0xc34b5d9d44ac7b754806f761d3d4d2c4fe5214f6b074c19f069c4f5c2a29c8cc)
echo "tx=$txhash" echo "tx=$txhash"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
id=$(${PARA_CLI} para nodegroup_status -t user.p.para. | jq -r ".id") id=$(${PARA_CLI} para nodegroup status -t user.p.para. | jq -r ".id")
if [ "$modifyid" != "$id" ]; then if [ "$modifyid" != "$id" ]; then
echo " approve new id wrong" echo " approve new id wrong"
${PARA_CLI} para nodegroup_status -t user.p.para. ${PARA_CLI} para nodegroup_status -t user.p.para.
exit 1 exit 1
fi fi
coins=$(${PARA_CLI} para nodegroup_status -t user.p.para. | jq -r ".coinsFrozen") coins=$(${PARA_CLI} para nodegroup status -t user.p.para. | jq -r ".coinsFrozen")
if [ "$coins" != "500000000" ]; then if [ "$coins" != "500000000" ]; then
echo " approve new coins wrong" echo " approve new coins wrong"
${PARA_CLI} para nodegroup_status -t user.p.para. ${PARA_CLI} para nodegroup_status -t user.p.para.
...@@ -553,36 +553,36 @@ function para_create_nodegroup() { ...@@ -553,36 +553,36 @@ function para_create_nodegroup() {
function para_nodegroup_behalf_quit_test() { function para_nodegroup_behalf_quit_test() {
echo "=========== # para chain behalf node quit =============" echo "=========== # para chain behalf node quit ============="
status=$(${PARA_CLI} para node_addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY | jq -r ".status") status=$(${PARA_CLI} para super_node addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY | jq -r ".status")
if [ "${status}" != "10" ]; then if [ "${status}" != "10" ]; then
echo "wrong 1E5 status" echo "wrong 1E5 status"
${PARA_CLI} para node_addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY ${PARA_CLI} para super_node addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY
exit 1 exit 1
fi fi
hash=$(${PARA_CLI} send para node -o 3 -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b) hash=$(${PARA_CLI} send para super_node quit -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
id=$hash id=$hash
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4 ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588 ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588
hash=$(${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115) hash=$(${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
status=$(${PARA_CLI} para node_addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY | jq -r ".status") status=$(${PARA_CLI} para super_node addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY | jq -r ".status")
if [ "${status}" != "11" ]; then if [ "${status}" != "11" ]; then
echo "wrong vote status" echo "wrong vote status"
${PARA_CLI} para node_addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY ${PARA_CLI} para super_node addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY
exit 1 exit 1
fi fi
node=$(${PARA_CLI} para nodegroup_addrs -t user.p.para. | jq -r '.value|contains("1E5")') node=$(${PARA_CLI} para nodegroup addrs -t user.p.para. | jq -r '.value|contains("1E5")')
if [ "${node}" == "true" ]; then if [ "${node}" == "true" ]; then
echo "wrong node group addr" echo "wrong node group addr"
${PARA_CLI} para nodegroup_addrs -t user.p.para. ${PARA_CLI} para nodegroup addrs -t user.p.para.
exit 1 exit 1
fi fi
...@@ -603,7 +603,7 @@ function para_nodemanage_cancel_test() { ...@@ -603,7 +603,7 @@ function para_nodemanage_cancel_test() {
fi fi
echo "=========== # para chain new node join =============" echo "=========== # para chain new node join ============="
hash=$(${PARA_CLI} send para node -o 1 -c 5 -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588) hash=$(${PARA_CLI} send para super_node join -c 5 -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
id=$hash id=$hash
...@@ -614,7 +614,7 @@ function para_nodemanage_cancel_test() { ...@@ -614,7 +614,7 @@ function para_nodemanage_cancel_test() {
fi fi
echo "=========== # para chain node cancel =============" echo "=========== # para chain node cancel ============="
hash=$(${PARA_CLI} send para node -o 4 -i "$id" -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588) hash=$(${PARA_CLI} send para super_node cancel -i "$id" -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
...@@ -636,7 +636,7 @@ function para_nodemanage_test() { ...@@ -636,7 +636,7 @@ function para_nodemanage_test() {
fi fi
echo "=========== # para chain new node join reject=============" echo "=========== # para chain new node join reject============="
hash=$(${PARA_CLI} send para node -o 1 -c 5 -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588) hash=$(${PARA_CLI} send para super_node join -c 5 -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
...@@ -648,30 +648,30 @@ function para_nodemanage_test() { ...@@ -648,30 +648,30 @@ function para_nodemanage_test() {
id=$hash id=$hash
echo "=========== # para chain node vote =============" echo "=========== # para chain node vote ============="
${PARA_CLI} send para node -o 2 -i "$id" -v 2 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b ${PARA_CLI} send para super_node vote -i "$id" -v 2 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b
${PARA_CLI} send para node -o 2 -i "$id" -v 2 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4 ${PARA_CLI} send para super_node vote -i "$id" -v 2 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4
hash=$(${PARA_CLI} send para node -o 2 -i "$id" -v 2 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115) hash=$(${PARA_CLI} send para super_node vote -i "$id" -v 2 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
status=$(${PARA_CLI} para node_addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY | jq -r ".status") status=$(${PARA_CLI} para super_node addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY | jq -r ".status")
if [ "${status}" == "10" ]; then if [ "${status}" == "10" ]; then
echo "wrong vote status" echo "wrong vote status"
${PARA_CLI} para node_addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY ${PARA_CLI} para super_node addr_status -t user.p.para. -a 1E5saiXVb9mW8wcWUUZjsHJPZs5GmdzuSY
exit 1 exit 1
fi fi
status=$(${PARA_CLI} para node_id_status -t user.p.para. -i "$id" | jq -r ".status") status=$(${PARA_CLI} para super_node id_status -t user.p.para. -i "$id" | jq -r ".status")
if [ "${status}" != "3" ]; then if [ "${status}" != "3" ]; then
echo "wrong cancel status" echo "wrong cancel status"
${PARA_CLI} para node_id_status -t user.p.para. -i "$id" ${PARA_CLI} para super_node id_status -t user.p.para. -i "$id"
exit 1 exit 1
fi fi
node=$(${PARA_CLI} para nodegroup_addrs -t user.p.para. | jq -r '.value|contains("1E5")') node=$(${PARA_CLI} para nodegroup addrs -t user.p.para. | jq -r '.value|contains("1E5")')
if [ "${node}" == "true" ]; then if [ "${node}" == "true" ]; then
echo "wrong node group addr" echo "wrong node group addr"
${PARA_CLI} para nodegroup_addrs -t user.p.para. ${PARA_CLI} para nodegroup addrs -t user.p.para.
exit 1 exit 1
fi fi
...@@ -681,35 +681,35 @@ function para_nodemanage_test() { ...@@ -681,35 +681,35 @@ function para_nodemanage_test() {
exit 1 exit 1
fi fi
echo "=========== # para chain node quit reject =============" echo "=========== # para chain node quit reject ============="
txhash=$(${PARA_CLI} send para node -o 3 -a 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588) txhash=$(${PARA_CLI} send para super_node quit -a 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 -k 0x9c451df9e5cb05b88b28729aeaaeb3169a2414097401fcb4c79c1971df734588)
echo "${txhash}" echo "${txhash}"
query_tx "${PARA_CLI}" "${txhash}" query_tx "${PARA_CLI}" "${txhash}"
id=$txhash id=$txhash
echo "=========== # para chain node vote quit =============" echo "=========== # para chain node vote quit ============="
${PARA_CLI} send para node -o 2 -i "$id" -v 2 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b ${PARA_CLI} send para super_node vote -i "$id" -v 2 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b
${PARA_CLI} send para node -o 2 -i "$id" -v 2 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4 ${PARA_CLI} send para super_node vote -i "$id" -v 2 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4
hash=$(${PARA_CLI} send para node -o 2 -i "$id" -v 2 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115) hash=$(${PARA_CLI} send para super_node vote -i "$id" -v 2 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
status=$(${PARA_CLI} para node_addr_status -t user.p.para. -a 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 | jq -r ".status") status=$(${PARA_CLI} para super_node addr_status -t user.p.para. -a 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 | jq -r ".status")
if [ "${status}" != "10" ]; then if [ "${status}" != "10" ]; then
echo "wrong vote status" echo "wrong vote status"
${PARA_CLI} para node_addr_status -t user.p.para. -a 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4 ${PARA_CLI} para super_node addr_status -t user.p.para. -a 1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4
exit 1 exit 1
fi fi
status=$(${PARA_CLI} para node_id_status -t user.p.para. -i "$id" | jq -r ".status") status=$(${PARA_CLI} para super_node id_status -t user.p.para. -i "$id" | jq -r ".status")
if [ "${status}" != "3" ]; then if [ "${status}" != "3" ]; then
echo "wrong close status" echo "wrong close status"
${PARA_CLI} para node_id_status -t user.p.para. -i "$id" ${PARA_CLI} para super_node id_status -t user.p.para. -i "$id"
exit 1 exit 1
fi fi
node=$(${PARA_CLI} para nodegroup_addrs -t user.p.para. | jq -r '.value|contains("1KS")') node=$(${PARA_CLI} para nodegroup addrs -t user.p.para. | jq -r '.value|contains("1KS")')
if [ "${node}" != "true" ]; then if [ "${node}" != "true" ]; then
echo "wrong node group addr" echo "wrong node group addr"
${PARA_CLI} para nodegroup_addrs -t user.p.para. ${PARA_CLI} para nodegroup addrs -t user.p.para.
exit 1 exit 1
fi fi
...@@ -718,7 +718,7 @@ function para_nodemanage_test() { ...@@ -718,7 +718,7 @@ function para_nodemanage_test() {
function para_nodemanage_node_behalf_join() { function para_nodemanage_node_behalf_join() {
echo "=========== # para chain behalf node vote test =============" echo "=========== # para chain behalf node vote test ============="
echo "=========== # para chain new node join 1 =============" echo "=========== # para chain new node join 1 ============="
hash=$(${PARA_CLI} send para node -o 1 -c 8 -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) hash=$(${PARA_CLI} send para super_node join -c 8 -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
node1_id=$hash node1_id=$hash
...@@ -736,7 +736,7 @@ function para_nodemanage_node_behalf_join() { ...@@ -736,7 +736,7 @@ function para_nodemanage_node_behalf_join() {
fi fi
echo "=========== # para chain new node join 2=============" echo "=========== # para chain new node join 2============="
hash=$(${PARA_CLI} send para node -o 1 -c 9 -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) hash=$(${PARA_CLI} send para super_node join -c 9 -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
id=$hash id=$hash
...@@ -747,48 +747,48 @@ function para_nodemanage_node_behalf_join() { ...@@ -747,48 +747,48 @@ function para_nodemanage_node_behalf_join() {
exit 1 exit 1
fi fi
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4 ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4
hash=$(${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115) hash=$(${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
status=$(${PARA_CLI} para node_addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB | jq -r ".status") status=$(${PARA_CLI} para super_node addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB | jq -r ".status")
if [ "${status}" != "10" ]; then if [ "${status}" != "10" ]; then
echo "wrong vote status" echo "wrong vote status"
${PARA_CLI} para node_addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB ${PARA_CLI} para super_node addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB
exit 1 exit 1
fi fi
status=$(${PARA_CLI} para node_id_status -t user.p.para. -i "$id" | jq -r ".status") status=$(${PARA_CLI} para super_node id_status -t user.p.para. -i "$id" | jq -r ".status")
if [ "${status}" != "3" ]; then if [ "${status}" != "3" ]; then
echo "wrong close status" echo "wrong close status"
${PARA_CLI} para node_id_status -t user.p.para. -i "$id" ${PARA_CLI} para super_node id_status -t user.p.para. -i "$id"
exit 1 exit 1
fi fi
node=$(${PARA_CLI} para nodegroup_addrs -t user.p.para. | jq -r '.value|contains("1NNa")') node=$(${PARA_CLI} para nodegroup addrs -t user.p.para. | jq -r '.value|contains("1NNa")')
if [ "${node}" != "true" ]; then if [ "${node}" != "true" ]; then
echo "wrong node group addr" echo "wrong node group addr"
${PARA_CLI} para nodegroup_addrs -t user.p.para. ${PARA_CLI} para nodegroup addrs -t user.p.para.
exit 1 exit 1
fi fi
echo "=========== # para chain same node vote again fail =============" echo "=========== # para chain same node vote again fail ============="
${PARA_CLI} send para node -o 2 -i "$node1_id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b ${PARA_CLI} send para super_node vote -i "$node1_id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b
${PARA_CLI} send para node -o 2 -i "$node1_id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4 ${PARA_CLI} send para super_node vote -i "$node1_id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4
hash=$(${PARA_CLI} send para node -o 2 -i "$node1_id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115) hash=$(${PARA_CLI} send para super_node vote -i "$node1_id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115)
echo "${hash}" echo "${hash}"
query_tx "${CLI}" "${hash}" query_tx "${CLI}" "${hash}"
status=$(${CLI} para node_id_status -t user.p.para. -i "$node1_id" | jq -r ".status") status=$(${CLI} para super_node id_status -t user.p.para. -i "$node1_id" | jq -r ".status")
if [ "${status}" == "3" ]; then if [ "${status}" == "3" ]; then
echo "wrong vote status" echo "wrong vote status"
${CLI} para node_id_status -t user.p.para. -i "$node1_id" ${CLI} para super_node id_status -t user.p.para. -i "$node1_id"
exit 1 exit 1
fi fi
echo "=========== # para chain node 1 cancel =============" echo "=========== # para chain node 1 cancel ============="
hash=$(${PARA_CLI} send para node -o 4 -i "$node1_id" -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5) hash=$(${PARA_CLI} send para super_node cancel -i "$node1_id" -k 0xd165c84ed37c2a427fea487470ee671b7a0495d68d82607cafbc6348bf23bec5)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
...@@ -797,24 +797,24 @@ function para_nodemanage_node_behalf_join() { ...@@ -797,24 +797,24 @@ function para_nodemanage_node_behalf_join() {
echo "unfrozen coinfrozen error balance=$balance" echo "unfrozen coinfrozen error balance=$balance"
exit 1 exit 1
fi fi
status=$(${PARA_CLI} para node_id_status -t user.p.para. -i "$node1_id" | jq -r ".status") status=$(${PARA_CLI} para super_node id_status -t user.p.para. -i "$node1_id" | jq -r ".status")
if [ "${status}" != "4" ]; then if [ "${status}" != "4" ]; then
echo "wrong cancel status" echo "wrong cancel status"
${PARA_CLI} para node_id_status -t user.p.para. -i "$node1_id" ${PARA_CLI} para super_node id_status -t user.p.para. -i "$node1_id"
exit 1 exit 1
fi fi
echo "=========== # para chain node 2 quit =============" echo "=========== # para chain node 2 quit ============="
hash=$(${PARA_CLI} send para node -o 3 -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB -k 0x794443611e7369a57b078881445b93b754cbc9b9b8f526535ab9c6d21d29203d) hash=$(${PARA_CLI} send para super_node quit -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB -k 0x794443611e7369a57b078881445b93b754cbc9b9b8f526535ab9c6d21d29203d)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
id=$hash id=$hash
echo "=========== # para chain node2 vote quit =============" echo "=========== # para chain node2 vote quit ============="
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x6da92a632ab7deb67d38c0f6560bcfed28167998f6496db64c258d5e8393a81b
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4 ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x19c069234f9d3e61135fefbeb7791b149cdf6af536f26bebb310d4cd22c3fee4
${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x794443611e7369a57b078881445b93b754cbc9b9b8f526535ab9c6d21d29203d ${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x794443611e7369a57b078881445b93b754cbc9b9b8f526535ab9c6d21d29203d
hash=$(${PARA_CLI} send para node -o 2 -i "$id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115) hash=$(${PARA_CLI} send para super_node vote -i "$id" -v 1 -k 0x7a80a1f75d7360c6123c32a78ecf978c1ac55636f87892df38d8b85a9aeff115)
echo "${hash}" echo "${hash}"
query_tx "${PARA_CLI}" "${hash}" query_tx "${PARA_CLI}" "${hash}"
...@@ -824,22 +824,22 @@ function para_nodemanage_node_behalf_join() { ...@@ -824,22 +824,22 @@ function para_nodemanage_node_behalf_join() {
exit 1 exit 1
fi fi
status=$(${PARA_CLI} para node_addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB | jq -r ".status") status=$(${PARA_CLI} para super_node addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB | jq -r ".status")
if [ "${status}" != "11" ]; then if [ "${status}" != "11" ]; then
echo "wrong vote status" echo "wrong vote status"
${PARA_CLI} para node_addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB ${PARA_CLI} para super_node addr_status -t user.p.para. -a 1NNaYHkscJaLJ2wUrFNeh6cQXBS4TrFYeB
exit 1 exit 1
fi fi
status=$(${PARA_CLI} para node_id_status -t user.p.para. -i "$id" | jq -r ".status") status=$(${PARA_CLI} para super_node id_status -t user.p.para. -i "$id" | jq -r ".status")
if [ "${status}" != "3" ]; then if [ "${status}" != "3" ]; then
echo "wrong cancel status" echo "wrong cancel status"
${PARA_CLI} para node_id_status -t user.p.para. -i "$id" ${PARA_CLI} para super_node id_status -t user.p.para. -i "$id"
exit 1 exit 1
fi fi
node=$(${PARA_CLI} para nodegroup_addrs -t user.p.para. | jq -r '.value|contains("1NNa")') node=$(${PARA_CLI} para nodegroup addrs -t user.p.para. | jq -r '.value|contains("1NNa")')
if [ "${node}" == "true" ]; then if [ "${node}" == "true" ]; then
echo "wrong node group addr" echo "wrong node group addr"
${PARA_CLI} para nodegroup_addrs -t user.p.para. ${PARA_CLI} para nodegroup addrs -t user.p.para.
exit 1 exit 1
fi fi
......
...@@ -32,16 +32,10 @@ func ParcCmd() *cobra.Command { ...@@ -32,16 +32,10 @@ func ParcCmd() *cobra.Command {
CreateRawTransferCmd(), CreateRawTransferCmd(),
CreateRawWithdrawCmd(), CreateRawWithdrawCmd(),
CreateRawTransferToExecCmd(), CreateRawTransferToExecCmd(),
CreateRawNodeManageCmd(), superNodeCmd(),
CreateNodeGroupApplyCmd(), nodeGroupCmd(),
GetParaInfoCmd(), GetParaInfoCmd(),
GetParaListCmd(), GetParaListCmd(),
GetNodeGroupCmd(),
GetNodeInfoCmd(),
GetNodeIDInfoCmd(),
GetNodeListCmd(),
NodeGroupStatusCmd(),
NodeGroupListCmd(),
IsSyncCmd(), IsSyncCmd(),
GetHeightCmd(), GetHeightCmd(),
GetBlockInfoCmd(), GetBlockInfoCmd(),
...@@ -241,37 +235,100 @@ func createWithdraw(cmd *cobra.Command, args []string) { ...@@ -241,37 +235,100 @@ func createWithdraw(cmd *cobra.Command, args []string) {
commands.CreateAssetWithdraw(cmd, args, pt.ParaX) commands.CreateAssetWithdraw(cmd, args, pt.ParaX)
} }
//CreateRawNodeManageCmd create super node mange tx func superNodeCmd() *cobra.Command {
func CreateRawNodeManageCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "node", Use: "super_node",
Short: "Create a super node manage cmd", Short: "super node manage cmd",
Run: createNodeTx,
} }
addNodeManageFlags(cmd) cmd.AddCommand(nodeJoinCmd())
cmd.AddCommand(nodeVoteCmd())
cmd.AddCommand(nodeQuitCmd())
cmd.AddCommand(nodeCancelCmd())
cmd.AddCommand(getNodeInfoCmd())
cmd.AddCommand(getNodeIDInfoCmd())
cmd.AddCommand(getNodeListCmd())
return cmd return cmd
} }
func addNodeManageFlags(cmd *cobra.Command) { func addNodeJoinFlags(cmd *cobra.Command) {
cmd.Flags().Uint32P("operation", "o", 0, "operation:1:join,2:vote,3:quit,4:cancel") cmd.Flags().StringP("addr", "a", "", "target join addr")
cmd.MarkFlagRequired("operation") cmd.MarkFlagRequired("addr")
cmd.Flags().Float64P("coins", "c", 0, "frozen coins amount, should not less nodegroup's setting")
cmd.MarkFlagRequired("coins")
}
func createNodeJoinTx(cmd *cobra.Command, args []string) {
opAddr, _ := cmd.Flags().GetString("addr")
coins, _ := cmd.Flags().GetFloat64("coins")
payload := &pt.ParaNodeAddrConfig{Op: 1, Addr: opAddr, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4}
params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX),
ActionName: "NodeConfig",
Payload: types.MustPBToJSON(payload),
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal()
}
cmd.Flags().StringP("addr", "a", "", "operating target addr[optional]") func nodeJoinCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "join",
Short: "super node apply for join nodegroup cmd",
Run: createNodeJoinTx,
}
addNodeJoinFlags(cmd)
return cmd
}
cmd.Flags().StringP("id", "i", "", "operating target id[optional]") func addNodeVoteFlags(cmd *cobra.Command) {
cmd.Flags().StringP("id", "i", "", "operating target apply id")
cmd.MarkFlagRequired("id")
cmd.Flags().Uint32P("value", "v", 1, "vote value: 1:yes,2:no") cmd.Flags().Uint32P("value", "v", 1, "vote value: 1:yes,2:no")
cmd.Flags().Float64P("coins_frozen", "c", 0, "frozen coins amount, should not less nodegroup's") cmd.MarkFlagRequired("value")
} }
func createNodeTx(cmd *cobra.Command, args []string) { func createNodeVoteTx(cmd *cobra.Command, args []string) {
op, _ := cmd.Flags().GetUint32("operation")
opAddr, _ := cmd.Flags().GetString("addr")
id, _ := cmd.Flags().GetString("id") id, _ := cmd.Flags().GetString("id")
val, _ := cmd.Flags().GetUint32("value") val, _ := cmd.Flags().GetUint32("value")
coins, _ := cmd.Flags().GetFloat64("coins_frozen")
payload := &pt.ParaNodeAddrConfig{Op: op, Id: id, Value: val, Addr: opAddr, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4} payload := &pt.ParaNodeAddrConfig{Op: 2, Id: id, Value: val}
params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX),
ActionName: "NodeConfig",
Payload: types.MustPBToJSON(payload),
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal()
}
func nodeVoteCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "vote",
Short: "nodegroup nodes vote for new join node cmd",
Run: createNodeVoteTx,
}
addNodeVoteFlags(cmd)
return cmd
}
func addNodeQuitFlags(cmd *cobra.Command) {
cmd.Flags().StringP("addr", "a", "", "target quit addr")
cmd.MarkFlagRequired("addr")
}
func createNodeQuitTx(cmd *cobra.Command, args []string) {
opAddr, _ := cmd.Flags().GetString("addr")
payload := &pt.ParaNodeAddrConfig{Op: 3, Addr: opAddr}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX), Execer: types.ExecName(pt.ParaX),
ActionName: "NodeConfig", ActionName: "NodeConfig",
...@@ -284,10 +341,194 @@ func createNodeTx(cmd *cobra.Command, args []string) { ...@@ -284,10 +341,194 @@ func createNodeTx(cmd *cobra.Command, args []string) {
} }
// CreateNodeGroupApplyCmd get node group addr func nodeQuitCmd() *cobra.Command {
func CreateNodeGroupApplyCmd() *cobra.Command { cmd := &cobra.Command{
Use: "quit",
Short: "super node apply for quit nodegroup cmd",
Run: createNodeQuitTx,
}
addNodeQuitFlags(cmd)
return cmd
}
func addNodeCancelFlags(cmd *cobra.Command) {
cmd.Flags().StringP("id", "i", "", "operating target apply id")
cmd.MarkFlagRequired("id")
}
func createNodeCancelTx(cmd *cobra.Command, args []string) {
id, _ := cmd.Flags().GetString("id")
payload := &pt.ParaNodeAddrConfig{Op: 4, Id: id}
params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX),
ActionName: "NodeConfig",
Payload: types.MustPBToJSON(payload),
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal()
}
func nodeCancelCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "cancel",
Short: "super node cancel join or quit action by id cmd",
Run: createNodeCancelTx,
}
addNodeCancelFlags(cmd)
return cmd
}
// getNodeInfoCmd get node current status
func getNodeInfoCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "addr_status",
Short: "Get node current status:10:joined,11:quited from nodegroup",
Run: nodeInfo,
}
addNodeBodyCmdFlags(cmd)
return cmd
}
func addNodeBodyCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title")
cmd.MarkFlagRequired("title")
cmd.Flags().StringP("addr", "a", "", "addr apply for super user")
cmd.MarkFlagRequired("addr")
}
func nodeInfo(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
title, _ := cmd.Flags().GetString("title")
addr, _ := cmd.Flags().GetString("addr")
params := pt.ReqParacrossNodeInfo{
Title: title,
Addr: addr,
}
var res pt.ParaNodeAddrIdStatus
ctx := jsonclient.NewRPCCtx(rpcLaddr, "paracross.GetNodeAddrStatus", params, &res)
ctx.Run()
}
// getNodeIDInfoCmd get node current status
func getNodeIDInfoCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "id_status",
Short: "Get node id current vote status:1:joining,2:quiting,3:closed,4:canceled",
Run: nodeIDInfo,
}
addNodeIDBodyCmdFlags(cmd)
return cmd
}
func addNodeIDBodyCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title")
cmd.MarkFlagRequired("title")
cmd.Flags().StringP("id", "i", "", "id apply for super user")
cmd.MarkFlagRequired("id")
}
func nodeIDInfo(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
title, _ := cmd.Flags().GetString("title")
id, _ := cmd.Flags().GetString("id")
params := pt.ReqParacrossNodeInfo{
Title: title,
Id: id,
}
var res pt.ParaNodeIdStatus
ctx := jsonclient.NewRPCCtx(rpcLaddr, "paracross.GetNodeIDStatus", params, &res)
ctx.Run()
}
// getNodeListCmd get node list by status
func getNodeListCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "id_list",
Short: "Get node apply id list info by status",
Run: nodeList,
}
addNodeListCmdFlags(cmd)
return cmd
}
func addNodeListCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title")
cmd.MarkFlagRequired("title")
cmd.Flags().Int32P("status", "s", 0, "status:0:all,1:joining,2:quiting,3:closed,4:canceled")
cmd.MarkFlagRequired("status")
}
func nodeList(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
title, _ := cmd.Flags().GetString("title")
status, _ := cmd.Flags().GetInt32("status")
params := pt.ReqParacrossNodeInfo{
Title: title,
Status: status,
}
var res pt.RespParacrossNodeAddrs
ctx := jsonclient.NewRPCCtx(rpcLaddr, "paracross.ListNodeStatus", params, &res)
ctx.Run()
}
func nodeGroupCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "nodegroup", Use: "nodegroup",
Short: "super node group manage cmd",
}
cmd.AddCommand(nodeGroupApplyCmd())
cmd.AddCommand(nodeGroupApproveCmd())
cmd.AddCommand(nodeGroupQuitCmd())
cmd.AddCommand(nodeGroupModifyCmd())
cmd.AddCommand(getNodeGroupAddrsCmd())
cmd.AddCommand(nodeGroupStatusCmd())
cmd.AddCommand(nodeGroupListCmd())
return cmd
}
func addNodeGroupApplyCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("addrs", "a", "", "addrs apply for super node,split by ',' ")
cmd.MarkFlagRequired("addrs")
cmd.Flags().Float64P("coins", "c", 0, "coins amount to frozen, not less config")
cmd.MarkFlagRequired("coins")
}
func nodeGroupApply(cmd *cobra.Command, args []string) {
addrs, _ := cmd.Flags().GetString("addrs")
coins, _ := cmd.Flags().GetFloat64("coins")
payload := &pt.ParaNodeGroupConfig{Op: 1, Addrs: addrs, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4}
params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX),
ActionName: "NodeGroupConfig",
Payload: types.MustPBToJSON(payload),
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal()
}
func nodeGroupApplyCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "apply",
Short: "apply for para chain's super node group", Short: "apply for para chain's super node group",
Run: nodeGroupApply, Run: nodeGroupApply,
} }
...@@ -295,25 +536,81 @@ func CreateNodeGroupApplyCmd() *cobra.Command { ...@@ -295,25 +536,81 @@ func CreateNodeGroupApplyCmd() *cobra.Command {
return cmd return cmd
} }
func addNodeGroupApplyCmdFlags(cmd *cobra.Command) { func addNodeGroupApproveCmdFlags(cmd *cobra.Command) {
cmd.Flags().Uint32P("operation", "o", 0, "operation:1:apply,2:approve,3:quit,4:modify")
cmd.MarkFlagRequired("operation")
cmd.Flags().StringP("id", "i", "", "apply id for nodegroup ") cmd.Flags().StringP("id", "i", "", "apply id for nodegroup ")
cmd.MarkFlagRequired("id")
cmd.Flags().StringP("addrs", "a", "", "addrs apply for super node,split by ',' ") cmd.Flags().Float64P("coins", "c", 0, "coins amount to frozen, not less config")
cmd.MarkFlagRequired("coins")
}
func nodeGroupApprove(cmd *cobra.Command, args []string) {
id, _ := cmd.Flags().GetString("id")
coins, _ := cmd.Flags().GetFloat64("coins")
payload := &pt.ParaNodeGroupConfig{Op: 2, Id: id, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4}
params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX),
ActionName: "NodeGroupConfig",
Payload: types.MustPBToJSON(payload),
}
cmd.Flags().Float64P("coins_frozen", "c", 0, "coins amount to frozen, not less config") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal()
}
func nodeGroupApproveCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "approve",
Short: "approve for para chain's super node group application",
Run: nodeGroupApprove,
}
addNodeGroupApproveCmdFlags(cmd)
return cmd
} }
func nodeGroupApply(cmd *cobra.Command, args []string) { func addNodeGroupQuitCmdFlags(cmd *cobra.Command) {
op, _ := cmd.Flags().GetUint32("operation") cmd.Flags().StringP("id", "i", "", "apply quit id for nodegroup ")
addrs, _ := cmd.Flags().GetString("addrs") cmd.MarkFlagRequired("id")
}
func nodeGroupQuit(cmd *cobra.Command, args []string) {
id, _ := cmd.Flags().GetString("id") id, _ := cmd.Flags().GetString("id")
coins, _ := cmd.Flags().GetFloat64("coins_frozen")
payload := &pt.ParaNodeGroupConfig{Op: op, Id: id, Addrs: addrs, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4} payload := &pt.ParaNodeGroupConfig{Op: 3, Id: id}
params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX),
ActionName: "NodeGroupConfig",
Payload: types.MustPBToJSON(payload),
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal()
}
func nodeGroupQuitCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "quit",
Short: "quit for para chain's super node group application",
Run: nodeGroupQuit,
}
addNodeGroupQuitCmdFlags(cmd)
return cmd
}
func addNodeGroupModifyCmdFlags(cmd *cobra.Command) {
cmd.Flags().Float64P("coins", "c", 0, "modify coins amount to frozen, not less config")
cmd.MarkFlagRequired("coins")
}
func nodeGroupModify(cmd *cobra.Command, args []string) {
coins, _ := cmd.Flags().GetFloat64("coins")
payload := &pt.ParaNodeGroupConfig{Op: 4, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pt.ParaX), Execer: types.ExecName(pt.ParaX),
ActionName: "NodeGroupConfig", ActionName: "NodeGroupConfig",
...@@ -325,6 +622,16 @@ func nodeGroupApply(cmd *cobra.Command, args []string) { ...@@ -325,6 +622,16 @@ func nodeGroupApply(cmd *cobra.Command, args []string) {
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
func nodeGroupModifyCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "modify",
Short: "modify for para chain's super node group parameters",
Run: nodeGroupModify,
}
addNodeGroupModifyCmdFlags(cmd)
return cmd
}
// IsSyncCmd query parachain is sync // IsSyncCmd query parachain is sync
func IsSyncCmd() *cobra.Command { func IsSyncCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
...@@ -342,17 +649,6 @@ func isSync(cmd *cobra.Command, args []string) { ...@@ -342,17 +649,6 @@ func isSync(cmd *cobra.Command, args []string) {
ctx.Run() ctx.Run()
} }
// GetHeightCmd get para chain's chain height and consensus height
func GetHeightCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "height",
Short: "query consensus height",
Run: consusHeight,
}
addTitleFlags(cmd)
return cmd
}
func addTitleFlags(cmd *cobra.Command) { func addTitleFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title, default null in para chain") cmd.Flags().StringP("title", "t", "", "parallel chain's title, default null in para chain")
cmd.MarkFlagRequired("title") cmd.MarkFlagRequired("title")
...@@ -367,14 +663,14 @@ func consusHeight(cmd *cobra.Command, args []string) { ...@@ -367,14 +663,14 @@ func consusHeight(cmd *cobra.Command, args []string) {
ctx.Run() ctx.Run()
} }
// GetBlockInfoCmd get blocks hash with main chain hash map // GetHeightCmd get para chain's chain height and consensus height
func GetBlockInfoCmd() *cobra.Command { func GetHeightCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "blocks", Use: "height",
Short: "Get blocks with main chain hash map between [start, end], the same in main", Short: "query consensus height",
Run: blockInfo, Run: consusHeight,
} }
addBlockBodyCmdFlags(cmd) addTitleFlags(cmd)
return cmd return cmd
} }
...@@ -401,14 +697,14 @@ func blockInfo(cmd *cobra.Command, args []string) { ...@@ -401,14 +697,14 @@ func blockInfo(cmd *cobra.Command, args []string) {
} }
// GetLocalBlockInfoCmd get blocks hash with main chain hash map // GetBlockInfoCmd get blocks hash with main chain hash map
func GetLocalBlockInfoCmd() *cobra.Command { func GetBlockInfoCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "local_block", Use: "blocks",
Short: "Get para local block info", Short: "Get blocks with main chain hash map between [start, end], the same in main",
Run: localBlockInfo, Run: blockInfo,
} }
addLocalBlockBodyCmdFlags(cmd) addBlockBodyCmdFlags(cmd)
return cmd return cmd
} }
...@@ -431,14 +727,14 @@ func localBlockInfo(cmd *cobra.Command, args []string) { ...@@ -431,14 +727,14 @@ func localBlockInfo(cmd *cobra.Command, args []string) {
} }
// GetParaInfoCmd get para chain status by height // GetLocalBlockInfoCmd get blocks hash with main chain hash map
func GetParaInfoCmd() *cobra.Command { func GetLocalBlockInfoCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "para_status", Use: "buffer_block",
Short: "Get para chain current status", Short: "Get para download-level block info",
Run: paraInfo, Run: localBlockInfo,
} }
addParaBodyCmdFlags(cmd) addLocalBlockBodyCmdFlags(cmd)
return cmd return cmd
} }
...@@ -465,6 +761,17 @@ func paraInfo(cmd *cobra.Command, args []string) { ...@@ -465,6 +761,17 @@ func paraInfo(cmd *cobra.Command, args []string) {
ctx.Run() ctx.Run()
} }
// GetParaInfoCmd get para chain status by height
func GetParaInfoCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "consens_status",
Short: "Get para chain current consensus status",
Run: paraInfo,
}
addParaBodyCmdFlags(cmd)
return cmd
}
// GetParaListCmd get para chain info list // GetParaListCmd get para chain info list
func GetParaListCmd() *cobra.Command { func GetParaListCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
...@@ -484,113 +791,11 @@ func paraList(cmd *cobra.Command, args []string) { ...@@ -484,113 +791,11 @@ func paraList(cmd *cobra.Command, args []string) {
ctx.Run() ctx.Run()
} }
// GetNodeInfoCmd get node current status // getNodeGroupCmd get node group addr
func GetNodeInfoCmd() *cobra.Command { func getNodeGroupAddrsCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "node_addr_status",
Short: "Get node current status:10:joined,11:quited from nodegroup",
Run: nodeInfo,
}
addNodeBodyCmdFlags(cmd)
return cmd
}
func addNodeBodyCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title")
cmd.MarkFlagRequired("title")
cmd.Flags().StringP("addr", "a", "", "addr apply for super user")
cmd.MarkFlagRequired("addr")
}
func nodeInfo(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
title, _ := cmd.Flags().GetString("title")
addr, _ := cmd.Flags().GetString("addr")
params := pt.ReqParacrossNodeInfo{
Title: title,
Addr: addr,
}
var res pt.ParaNodeAddrIdStatus
ctx := jsonclient.NewRPCCtx(rpcLaddr, "paracross.GetNodeAddrStatus", params, &res)
ctx.Run()
}
// GetNodeIDInfoCmd get node current status
func GetNodeIDInfoCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "node_id_status",
Short: "Get node id current vote status:0:all,1:joining,2:quiting,3:closed,4:canceled",
Run: nodeIDInfo,
}
addNodeIDBodyCmdFlags(cmd)
return cmd
}
func addNodeIDBodyCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title")
cmd.MarkFlagRequired("title")
cmd.Flags().StringP("id", "i", "", "id apply for super user")
cmd.MarkFlagRequired("id")
}
func nodeIDInfo(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
title, _ := cmd.Flags().GetString("title")
id, _ := cmd.Flags().GetString("id")
params := pt.ReqParacrossNodeInfo{
Title: title,
Id: id,
}
var res pt.ParaNodeIdStatus
ctx := jsonclient.NewRPCCtx(rpcLaddr, "paracross.GetNodeIDStatus", params, &res)
ctx.Run()
}
// GetNodeListCmd get node list by status
func GetNodeListCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "node_list",
Short: "Get node info list by status",
Run: nodeList,
}
addNodeListCmdFlags(cmd)
return cmd
}
func addNodeListCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringP("title", "t", "", "parallel chain's title")
cmd.MarkFlagRequired("title")
cmd.Flags().Int32P("status", "s", 0, "status:1:adding,2:added,3:quiting,4:quited")
cmd.MarkFlagRequired("status")
}
func nodeList(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
title, _ := cmd.Flags().GetString("title")
status, _ := cmd.Flags().GetInt32("status")
params := pt.ReqParacrossNodeInfo{
Title: title,
Status: status,
}
var res pt.RespParacrossNodeAddrs
ctx := jsonclient.NewRPCCtx(rpcLaddr, "paracross.ListNodeStatus", params, &res)
ctx.Run()
}
// GetNodeGroupCmd get node group addr
func GetNodeGroupCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "nodegroup_addrs", Use: "addrs",
Short: "Get super node group's addrs by title", Short: "Query super node group's current addrs by title",
Run: nodeGroup, Run: nodeGroup,
} }
addNodeGroupCmdFlags(cmd) addNodeGroupCmdFlags(cmd)
...@@ -611,10 +816,10 @@ func nodeGroup(cmd *cobra.Command, args []string) { ...@@ -611,10 +816,10 @@ func nodeGroup(cmd *cobra.Command, args []string) {
ctx.Run() ctx.Run()
} }
// NodeGroupStatusCmd get node group addr // nodeGroupStatusCmd get node group addr
func NodeGroupStatusCmd() *cobra.Command { func nodeGroupStatusCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "nodegroup_status", Use: "status",
Short: "query super node group apply status by title", Short: "query super node group apply status by title",
Run: nodeGroupStatus, Run: nodeGroupStatus,
} }
...@@ -641,10 +846,10 @@ func nodeGroupStatus(cmd *cobra.Command, args []string) { ...@@ -641,10 +846,10 @@ func nodeGroupStatus(cmd *cobra.Command, args []string) {
ctx.Run() ctx.Run()
} }
// NodeGroupListCmd get node group addr // nodeGroupListCmd get node group addr
func NodeGroupListCmd() *cobra.Command { func nodeGroupListCmd() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "nodegroup_list", Use: "list",
Short: "query super node group apply list by status", Short: "query super node group apply list by status",
Run: nodeGroupList, Run: nodeGroupList,
} }
......
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