Commit 235f4988 authored by Your Name's avatar Your Name

add mainnet

parent 24f56b6f
......@@ -3,4 +3,5 @@ docker-compose_cryptor.yml
docker-compose-cadvisor.yml
docker-compose-net.yml
docker-compose_nebula-sentry.yml
./data/*
\ No newline at end of file
./data/*
./mainchain/conf/deploy/*
\ No newline at end of file
......@@ -4,8 +4,22 @@ set -e
N=${1:-2}
cd mainchain
./scripts/stop-testnet.sh || true
rm -rf conf/deploy || true
echo "./mainchain/scripts/run-testnet.sh "
cp -r conf/back0712-1439 conf/deploy
echo "./mainchain/scripts/run-testnet.sh "
./scripts/run-testnet.sh
cd ../
./ring.sh $N
./cadvisor.sh $N
./cryptor.sh $N
./net.sh $N
./nebula.sh $N
\ No newline at end of file
./nebula.sh $N
=============== Jul 10, 2023 (UTC) ===============
04:02:35.538683 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
04:02:35.551259 db@open opening
04:02:35.580336 version@stat F·[] S·0B[] Sc·[]
04:02:35.592694 db@janitor F·2 G·0
04:02:35.592719 db@open done T·41.438321ms
=============== Jul 10, 2023 (UTC) ===============
07:44:27.230564 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
07:44:27.231005 version@stat F·[] S·0B[] Sc·[]
07:44:27.231038 db@open opening
07:44:27.231132 journal@recovery F·1
07:44:27.236295 journal@recovery recovering @1
07:44:27.240446 memdb@flush created L0@2 N·126 S·1KiB "etk..V\tP,v119":"tek..N>\\,v109"
07:44:27.245824 version@stat F·[1] S·1KiB[1KiB] Sc·[0.25]
07:44:27.253952 db@janitor F·3 G·0
07:44:27.254010 db@open done T·22.934489ms
=============== Jul 12, 2023 (UTC) ===============
06:38:47.884757 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
06:38:47.885005 version@stat F·[1] S·1KiB[1KiB] Sc·[0.25]
06:38:47.885047 db@open opening
06:38:47.885126 journal@recovery F·1
06:38:47.890805 journal@recovery recovering @3
06:38:47.892843 memdb@flush created L0@5 N·15 S·316B "lat..ock,v142":"lat..ock,v128"
06:38:47.898797 version@stat F·[2] S·1KiB[1KiB] Sc·[0.50]
06:38:47.903250 db@janitor F·4 G·0
06:38:47.903284 db@open done T·18.221233ms
chain-id = "1024"
indent = true
keyring-backend = "test"
output = "json"
trust-node = true
eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMy0wNy0xMCAxMjowMjoxNC43MjgxNTczMTkgKzA4MDAgQ1NUIG09KzAuMDM0Nzk1NTY5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiMmZFM09TMUQ2bzNYV2V5WiJ9.dMp8e5EcfpOCErKuYrTdfSdCDRZNSPn_IUOtcmCoh2s60Rlg_Nm1Dw.SpWvuhtH-bOK4Hjm.ezoZuZe4l8Fnyryq4pqnbD9h4VExJNYkzZqgqchdgiV3OCYhLX5S__rjHOfpjwuvNHSskYF8CBXWPy8TThJQFF1-IY_Zr_ffkyD2PERGsZ-uvYfYedzN6-QoluRbR1CbRWmM2UUzJhgzL7jCJ_KOqW1Xl-gbJ8rOMcn4GdoROjD7TqqV7Y34sKCZCz8o83LpUgt3nc0wp-zHFcz-EVmLUofN06uzLYFsrQiJxZRowrpzPrkj5JhrUamTmdQ.uaUEofKW6BeJ0CUj3Pn6kQ
\ No newline at end of file
eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMy0wNy0xMCAxMjowMjoxNC43MjQ1OTcwMzEgKzA4MDAgQ1NUIG09KzAuMDMxMjM1MjkxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidkxIZUhiMTh2YzRtTjQyMiJ9.ptQQDQX3_X-1Bwk117BNLlYA-qdKPImxaQqJY4X9ytuJCcn7Ho5hrQ.CJcuz2nKxQEm-OjW.oZtTYvgK2dcVLPKlh8lLafDWr0UQ84KjSkeViHIgENSqsPoxPNVk5lk61sDvakqpIViY3GTvb0jUo2et6kV9TeR40ySJxnS_WciU7r_C-Wti794VAJHDuzDCTXE7aF-SJ7CqEppSA2o5m3Wto_YKpJFCD8VXVDvbAup7Wg3Bpll0ABSm4ZDSGJhYQtEqirJm7P6x63b-VzQ9Ah2NL1d9YQNTi8QVduTc_3d3YjyyzEQCZbWSSXGYIch775uJJSS-_0d8EPA_pXMsETUM88db4MqyPURVmxmpR2E2f9LrOVrVNBKMarxmdTywOT2_I3RskVEIl3blrl5ZRW4evwaL55WA9TfiYfC_r9dIryvEF6-u5XIxUMztGGdikedE_YcZvURMllD4D0DAN4LMfeQOYZfZirIm0c2ZvD3xPs4eaShT._tXek5wit33qB8ragMX0XA
\ No newline at end of file
{
"key": "1d255eafe6892da146ae73a8",
"addrs": []
}
\ No newline at end of file
# This is a TOML config file.
# For more information, see https://github.com/toml-lang/toml
##### main base config options #####
# The minimum gas prices a validator is willing to accept for processing a
# transaction. A transaction's fees must meet the minimum of any denomination
# specified in this config (e.g. 0.25token1;0.0001token2).
minimum-gas-prices = ""
# HaltHeight contains a non-zero block height at which a node will gracefully
# halt and shutdown that can be used to assist upgrades and testing.
#
# Note: Commitment of state will be attempted on the corresponding block.
halt-height = 0
# HaltTime contains a non-zero minimum block time (in Unix seconds) at which
# a node will gracefully halt and shutdown that can be used to assist upgrades
# and testing.
#
# Note: Commitment of state will be attempted on the corresponding block.
halt-time = 0
# InterBlockCache enables inter-block caching.
inter-block-cache = true
# Pruning sets the pruning strategy: syncable, nothing, everything
# syncable: only those states not needed for state syncing will be deleted (keeps last 100 + every 10000th)
# nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node)
# everything: all saved states will be deleted, storing only the current state
pruning = "syncable"
This diff is collapsed.
This diff is collapsed.
{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgCreateValidator","value":{"description":{"moniker":"node1","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"cmp1u8k3dapx7xwlf7w2req9dx3pfgk08y3pewqyaa","validator_address":"cmpvaloper1u8k3dapx7xwlf7w2req9dx3pfgk08y3pqzcyf2","pubkey":"cmpvalconspub1l67l54pqsrce5kjca9n2udkwmc3l64wusltprnvw47jx8y5nf35sgm0xqjxs2pk75s","value":{"denom":"cmp","amount":"1000000000000000000"}}}],"fee":{"amount":[],"gas":"200000"},"signatures":[{"pub_key":{"type":"crypto/PubKeySecp256k1","value":"BOumfO2q5AR3rTPOxUo+H1i0LVMCyxWm7uKMueexxiRiSt7amJuC3i6eaB4LEV1wVN8MRSG6/+nI3mML6GDrHQQ="},"signature":"N4CxR6/KdBx83IKE7KIxB1gsNKjHl6KwBbsNaoL+5YZNSHOAZ2cmf5q8BzNusPKtYN4qsyqLw5KU1O/eglclmQA="}],"memo":"8767568e976249e5a7306f5c0a9bc6a1df5f3d5f@172.77.5.1:26656"}}
{"priv_key":{"type":"cmp/PrivKeyEd25519","value":"XBBnnwvfmL8wlPnTr5wa/BBbS1G1SN2+JNpedKQo9vYZ/JqZBH1j2YvTIHmuHhwfF2AnDkIr8z4fHmVXHAzzog=="}}
\ No newline at end of file
{
"address": "823B7A05131602D36565D9EE670FD1CF1A64AACF",
"pub_key": {
"type": "cmp/PubKeyEd25519",
"value": "gPGaWljpZq42zt4j/VXch9YRzY6vpGOSk0xpBG3mBI0="
},
"priv_key": {
"type": "cmp/PrivKeyEd25519",
"value": "kxTwAaFqH4bmQnhxmnuhO8+6zXPEP1UMkqmjae4cZouA8ZpaWOlmrjbO3iP9VdyH1hHNjq+kY5KTTGkEbeYEjQ=="
}
}
\ No newline at end of file
=============== Jul 10, 2023 (UTC) ===============
04:02:25.519902 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
04:02:25.541325 db@open opening
04:02:25.542016 version@stat F·[] S·0B[] Sc·[]
04:02:25.548274 db@janitor F·2 G·0
04:02:25.548298 db@open done T·6.947616ms
=============== Jul 10, 2023 (UTC) ===============
07:44:17.209920 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
07:44:17.210186 version@stat F·[] S·0B[] Sc·[]
07:44:17.210236 db@open opening
07:44:17.210313 journal@recovery F·1
07:44:17.210944 journal@recovery recovering @1
07:44:17.237771 memdb@flush created L0@2 N·10090 S·678KiB "s/1,v178":"s/latest,v179"
07:44:17.238020 version@stat F·[1] S·678KiB[678KiB] Sc·[0.25]
07:44:17.247660 db@janitor F·3 G·0
07:44:17.247688 db@open done T·37.440698ms
=============== Jul 12, 2023 (UTC) ===============
06:38:37.865097 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
06:38:37.865464 version@stat F·[1] S·678KiB[678KiB] Sc·[0.25]
06:38:37.865501 db@open opening
06:38:37.865597 journal@recovery F·1
06:38:37.866112 journal@recovery recovering @3
06:38:37.871611 memdb@flush created L0@5 N·1298 S·81KiB "s/120,v10176":"s/latest,v10177"
06:38:37.871881 version@stat F·[2] S·760KiB[760KiB] Sc·[0.50]
06:38:37.876939 db@janitor F·4 G·0
06:38:37.877002 db@open done T·11.488869ms
06:38:48.515287 table@compaction L0·2 -> L1·0 S·760KiB Q·12270
06:38:48.535767 table@build created L1@8 N·11255 S·764KiB "s/1,v178":"s/latest,v11389"
06:38:48.535871 version@stat F·[0 1] S·764KiB[0B 764KiB] Sc·[0.00 0.01]
06:38:48.539627 table@compaction committed F-1 S+4KiB Ke·0 D·133 T·24.270811ms
06:38:48.539908 table@remove removed @2
=============== Jul 10, 2023 (UTC) ===============
04:02:25.549902 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
04:02:25.562808 db@open opening
04:02:25.562919 version@stat F·[] S·0B[] Sc·[]
04:02:25.569408 db@janitor F·2 G·0
04:02:25.569464 db@open done T·6.645918ms
=============== Jul 10, 2023 (UTC) ===============
07:44:17.251615 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
07:44:17.251826 version@stat F·[] S·0B[] Sc·[]
07:44:17.251854 db@open opening
07:44:17.251910 journal@recovery F·1
07:44:17.252546 journal@recovery recovering @1
07:44:17.267847 memdb@flush created L0@2 N·4855 S·212KiB "b_0..001,v73":"we\xff..\xb3\xd4\x19,v275"
07:44:17.269079 version@stat F·[1] S·212KiB[212KiB] Sc·[0.25]
07:44:17.277870 db@janitor F·3 G·0
07:44:17.277899 db@open done T·26.035083ms
=============== Jul 12, 2023 (UTC) ===============
06:38:37.881300 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
06:38:37.881444 version@stat F·[1] S·212KiB[212KiB] Sc·[0.25]
06:38:37.881474 db@open opening
06:38:37.881546 journal@recovery F·1
06:38:37.882110 journal@recovery recovering @3
06:38:37.886270 memdb@flush created L0@5 N·703 S·32KiB "b_0..116,v4922":"we\xf3..#\x9b\xde,v5151"
06:38:37.886542 version@stat F·[2] S·244KiB[244KiB] Sc·[0.50]
06:38:37.891452 db@janitor F·4 G·0
06:38:37.891478 db@open done T·9.99613ms
06:38:37.930960 table@compaction L0·2 -> L1·0 S·244KiB Q·5625
06:38:37.937029 table@build created L1@8 N·1617 S·169KiB "b_0..001,v73":"we\xff..\xb3\xd4\x19,v403"
06:38:37.937086 version@stat F·[0 1] S·169KiB[0B 169KiB] Sc·[0.00 0.00]
06:38:37.938542 table@compaction committed F-1 S-75KiB Ke·0 D·3941 T·7.5321ms
06:38:37.938746 table@remove removed @2
{
"height": "0",
"round": "0",
"step": 0
}
\ No newline at end of file
=============== Jul 10, 2023 (UTC) ===============
04:02:25.569719 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
04:02:25.582801 db@open opening
04:02:25.583824 version@stat F·[] S·0B[] Sc·[]
04:02:25.590256 db@janitor F·2 G·0
04:02:25.590281 db@open done T·7.453461ms
=============== Jul 10, 2023 (UTC) ===============
07:44:17.278065 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
07:44:17.278233 version@stat F·[] S·0B[] Sc·[]
07:44:17.278261 db@open opening
07:44:17.278315 journal@recovery F·1
07:44:17.278463 journal@recovery recovering @1
07:44:17.284688 memdb@flush created L0@2 N·608 S·84KiB "abc..y:1,v14":"val..:99,v490"
07:44:17.285282 version@stat F·[1] S·84KiB[84KiB] Sc·[0.25]
07:44:17.293380 db@janitor F·3 G·0
07:44:17.293418 db@open done T·15.148566ms
=============== Jul 12, 2023 (UTC) ===============
06:38:37.891605 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
06:38:37.891746 version@stat F·[1] S·84KiB[84KiB] Sc·[0.25]
06:38:37.891776 db@open opening
06:38:37.891833 journal@recovery F·1
06:38:37.892064 journal@recovery recovering @3
06:38:37.896025 memdb@flush created L0@5 N·75 S·9KiB "abc..120,v610":"val..137,v681"
06:38:37.896327 version@stat F·[2] S·94KiB[94KiB] Sc·[0.50]
06:38:37.901204 db@janitor F·4 G·0
06:38:37.901246 db@open done T·9.445622ms
=============== Jul 10, 2023 (UTC) ===============
04:02:25.609628 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
04:02:25.621760 db@open opening
04:02:25.621877 version@stat F·[] S·0B[] Sc·[]
04:02:25.628157 db@janitor F·2 G·0
04:02:25.628168 db@open done T·6.400907ms
=============== Jul 10, 2023 (UTC) ===============
07:44:17.294259 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
07:44:17.294415 version@stat F·[] S·0B[] Sc·[]
07:44:17.294443 db@open opening
07:44:17.294527 journal@recovery F·1
07:44:17.296345 journal@recovery recovering @1
07:44:17.299947 memdb@flush created L0@2 N·10 S·3KiB "eth..1/0,v2":"\x98#9..N>\\,v10"
07:44:17.302466 version@stat F·[1] S·3KiB[3KiB] Sc·[0.25]
07:44:17.309318 db@janitor F·3 G·0
07:44:17.309346 db@open done T·14.895017ms
=============== Jul 12, 2023 (UTC) ===============
06:38:37.903001 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
06:38:37.903165 version@stat F·[1] S·3KiB[3KiB] Sc·[0.25]
06:38:37.903196 db@open opening
06:38:37.903255 journal@recovery F·1
06:38:37.904696 journal@recovery recovering @3
06:38:37.907047 version@stat F·[1] S·3KiB[3KiB] Sc·[0.25]
06:38:37.912034 db@janitor F·3 G·0
06:38:37.912063 db@open done T·8.857662ms
This diff is collapsed.
This diff is collapsed.
nodes = 1
index = 4
Join = false
webrtc = false
chainid = 1024
# generate keys and peers.json file
install:
docker load < cmpd.tar
mkdir /tmp/tmpbin && cp bin/* /tmp/tmpbin
conf :
@rm -rf conf
@PATH=/tmp/tmpbin:${PATH} CHAINID=${chainid} ./scripts/build-conf.sh $(nodes) $(webrtc)
@sed -i 's/300ms/1000ms/g' conf/deploy/node1/config/config.toml
@chown ${USER}:${USER} -R ./conf
backup: stop
cp -r conf/deploy conf/back$(shell date +%m%d-%H%M)
start:
./scripts/run-testnet.sh $(nodes) $(Join) $(webrtc)
stop:
./scripts/stop-testnet.sh
account:
@echo "initial account mykey10 private key:"
@PATH=/tmp/tmpbin:${PATH} cmpcli --home ./conf/backup/clicfg.all.address keys unsafe-export-eth-key mykey10
reset:
./scripts/stop-testnet.sh
rm -rf conf/deploy
cp -r conf/back0712-1439 conf/deploy
./scripts/run-testnet.sh $(nodes) $(Join) $(webrtc)
clean:
@rm -rf conf/deploy
.PHONY: up build conf start watch stop show bombard send join leave demo backup account reset
#!/bin/bash
set -e
N=${1:-4}
DEST=${3:-"$PWD/conf"}
IPBASE=${4:-172.77.5.}
PORT=${5:-26656}
BACKUP=$DEST/backup
DEPLOY=$BACKUP/deploy
WORKDEPLOY=$DEST/deploy
rm -rf ~/.cmp*
cmpcli config keyring-backend test
cmpcli config chain-id $CHAINID
cmpcli config output json
cmpcli config indent true
cmpcli config trust-node true
cmpcli keys add restunlock
for i in $(seq 0 $N)
do
if [ $i -eq 0 ] ; then
cmpcli keys add mykey$i
else
cmpcli keys add mykey$i
dest=$DEPLOY/node$i
mkdir -p $dest
echo "Generating and init node dir for node$i"
cmpd init node$i --chain-id $CHAINID --home $dest
fi
done
# add genesis accounts to genesis.json
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
if [ $i -eq 1 ] ; then
cmpd add-genesis-account $(cmpcli keys show restunlock -a) 1000000000000000000000000000cmp,1coin0,1coin1,1coin2,1coin3,1coin4 --home $dest
for k in $(seq 1 $(($N+20)))
do
if [ $k -gt $N ] ; then
cmpcli keys add mykey$k
fi
cmpd add-genesis-account $(cmpcli keys show mykey$k -a) 100000000000000000000000cmp,1000000000000000000coin0,1000000000000000000coin1,1000000000000000000coin2,1000000000000000000coin3,1000000000000000000coin4 --home $dest
done
cmpd add-genesis-account $(cmpcli keys show mykey0 -a) 100000000000000000000000cmp,1000000000000000000coin0,1000000000000000000coin1,1000000000000000000coin2,1000000000000000000coin3,1000000000000000000coin4 --home $dest
else
cmpd add-genesis-account $(cmpcli keys show mykey$i -a) 100000000000000000000000cmp,1000000000000000000coin0,1000000000000000000coin1,1000000000000000000coin2,1000000000000000000coin3,1000000000000000000coin4 --home $dest
fi
done
# create gentxs
Node1Dir=""
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
if [ $i -eq $N ] ; then
cmpd gentx --name mykey$i --home $dest --ip $IPBASE$i --node-id $(cmpd metaversegraph show-node-id --home $dest) --keyring-backend test --amount 1000000000000000000cmp
else
cmpd gentx --name mykey$i --home $dest --ip $IPBASE$i --node-id $(cmpd metaversegraph show-node-id --home $dest) --keyring-backend test --amount 1000000000000000000cmp
fi
if [ $i -eq 1 ] ; then
Node1Dir=$dest
else
cp $dest/config/gentx/* $Node1Dir/config/gentx/
fi
done
cmpd collect-gentxs --home $Node1Dir
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
if [ $i -ne 1 ] ; then
rm -f $dest/config/genesis.json
cp $Node1Dir/config/genesis.json $dest/config/
fi
done
peers=""
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
peer=$(cmpd metaversegraph show-node-id --home $dest)
if [ $i -eq 1 ] ; then
peers=${peer}@${IPBASE}${i}:${PORT}
else
peers=${peers},${peer}@${IPBASE}${i}:${PORT}
fi
done
os=`uname -a`
mac='Darwin'
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
if [[ $os =~ $mac ]];then
gsed -i '174,174d' $dest/config/config.toml
gsed -i "174a persistent_peers = \"$peers\"" $dest/config/config.toml
gsed -i 's/addr_book_strict = true/addr_book_strict = false/g' $dest/config/config.toml
#gsed -i 's/fast_sync = true/fast_sync = false/g' $dest/config/config.toml
gsed -i 's/"max_validators": 100,/"max_validators": 100,/g' $dest/config/genesis.json
else
sed -i '174,174d' $dest/config/config.toml
sed -i "174a persistent_peers = \"$peers\"" $dest/config/config.toml
sed -i 's/addr_book_strict = true/addr_book_strict = false/g' $dest/config/config.toml
#sed -i 's/fast_sync = true/fast_sync = false/g' $dest/config/config.toml
sed -i 's/"max_validators": 100,/"max_validators": 100,/g' $dest/config/genesis.json
fi
done
mkdir -p $BACKUP/clicfg.all.address
cp -R ~/.cmpcli/* $BACKUP/clicfg.all.address
mkdir -p $BACKUP/clicfg
mkdir -p $BACKUP/clicfg/keyring-test-cmp
unlockAddr=$(cmpcli keys parse $(cmpcli keys show restunlock -a |awk '{print substr ($0, 3)}') | jq .formats[0] | sed 's/.\(.*\)/\1/' | sed 's/\(.*\)./\1/')
addrFileEndStr=".address"
cp -R ~/.cmpcli/config/ $BACKUP/clicfg/config/
cp -R ~/.cmpcli/keyring-test-cmp/$unlockAddr$addrFileEndStr $BACKUP/clicfg/keyring-test-cmp/
cp -R ~/.cmpcli/keyring-test-cmp/restunlock.info $BACKUP/clicfg/keyring-test-cmp/
rm -rf ~/.cmpcli/
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
cp -R $BACKUP/clicfg $dest
done
rm -rf $BACKUP/clicfg
cp -R $DEPLOY $DEST
# 10. start each node, cmpd start --home node* --rpc.unsafe --log_level "main:info,state:info,mempool:info"
echo -e "\n------Enjoy it!------"
#!/bin/bash
DEST=${3:-"$PWD/conf"}
BACKUP=$DEST/backup
DEPLOY=$BACKUP/deploy
WORKDEPLOY=$DEST/deploy
if [ -d $BACKUP ]; then
echo "Directory $BACKUP already exist; please backup"
exit;
fi
if [ -d $WORKDEPLOY ]; then
echo "Directory $WORKDEPLOY already exist; please backup"
exit;
fi
flag=true
read -p "Please input validator count:" N
while $flag
do
expr $N + 0 &>/dev/null
[ $? -eq 0 ] && flag=false || read -p "please input validator count as integer:" N
done
ipAddrs=()
for i in $(seq 1 $N)
do
while read -p "please input validator $i ip address:" addr
do
if [[ "$addr" =~ ^(([1-9]?[0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))\.){3}([1-9]?[0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))$ ]]; then
ipAddrs=(${ipAddrs[@]} $addr)
break
else
echo "invalid ip addr: $addr"
fi
done
done
#echo ${ipAddrs[@]}
flag=true
read -p "please input a chain-id:" chainId
while $flag
do
expr $chainId + 0 &>/dev/null
[ $? -eq 0 ] && flag=false || read -p "please input a chain-id as integer:" chainId
done
genesisAccountList=()
declare -A accountMapAmount
allFlag=true
while $allFlag
do
accflag=true
flag=true
read -p "please add genesis account:" account
while $accflag
do
if [[ -z $account ]]; then echo "You pressed ENTER with no input text" && flag=false && accflag=false && allFlag=false && break ; fi
account="${account,,}"
if [[ "$account" =~ ^[0-9a-f]{40}$ ]] || [[ "$account" =~ ^0x[0-9a-f]{40}$ ]] ; then
read -p "please input amount for $account:" amount
while $flag
do
# echo $account
# echo $amount
if [[ $amount =~ ^[1-9][0-9]*[0-9]?$ ]] ; then
if [[ -z $amount ]]; then echo "You pressed ENTER with no input text" && flag=false && accflag=false && allFlag=false && break ; fi
flag=false
accflag=false
genesisAccountList=(${genesisAccountList[@]} $account)
accountMapAmount[$account]=$amount
else
read -p "please input a valid amount for $account:" amount
fi
done
else
read -p "please add a valid genesis account:" account
fi
done
done
flag=true
read -p "Please input sync node count:" syncN
while $flag
do
expr $syncN + 0 &>/dev/null
[ $? -eq 0 ] && flag=false || read -p "please input sync node count as integer:" syncN
done
rm -rf ~/.cmp*
cmpcli config keyring-backend test
cmpcli config chain-id $chainId
cmpcli config output json
cmpcli config indent true
cmpcli config trust-node true
#8545 rest server unlock addr
cmpcli keys add restunlock
for i in $(seq 1 $N)
do
cmpcli keys add mykey$i
dest=$DEPLOY/node$i
mkdir -p $dest
echo "Generating and init node dir for node$i"
cmpd init node$i --chain-id $chainId --home $dest
done
mainDest=$DEPLOY/node1
# echo ${genesisAccountList[@]}
# echo ${!accountMapAmount[@]}
# echo ${accountMapAmount[@]}
for i in "${!genesisAccountList[@]}";
do
# printf "%s\t------------%s \n" "${genesisAccountList[$i]}" "${accountMapAmount[${genesisAccountList[$i]}]}"
demon="cmp"
coin="${accountMapAmount[${genesisAccountList[$i]}]}$demon"
cmpd add-genesis-account ${genesisAccountList[$i]} $coin,1coin0,1coin1,1coin2,1coin3,1coin4 --home $mainDest
done
Node1Dir=""
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
ipaddr=${ipAddrs[$(($i-1))]}
cmpd add-genesis-account $(cmpcli keys show mykey$i -a) 1000000000000000000cmp,1coin0,1coin1,1coin2,1coin3,1coin4 --home $dest
cmpd gentx --name mykey$i --home $dest --ip $ipaddr --node-id $(cmpd metaversegraph show-node-id --home $dest) --keyring-backend test --amount 1000000000000000000cmp
if [ $i -eq 1 ] ; then
Node1Dir=$dest
cmpd add-genesis-account $(cmpcli keys show restunlock -a) 1cmp,1coin0,1coin1,1coin2,1coin3,1coin4 --home $dest
genesisAccountList=(${genesisAccountList[@]} $(cmpcli keys show restunlock -a))
accountMapAmount[$(cmpcli keys show restunlock -a)]=1
else
cp $dest/config/gentx/* $Node1Dir/config/gentx/
cmpd add-genesis-account $(cmpcli keys show mykey$i -a) 1000000000000000000cmp,1coin0,1coin1,1coin2,1coin3,1coin4 --home $Node1Dir
fi
genesisAccountList=(${genesisAccountList[@]} $(cmpcli keys show mykey$i -a))
accountMapAmount[$(cmpcli keys show mykey$i -a)]=1000000000000000000
done
cmpd collect-gentxs --home $Node1Dir
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
if [ $i -ne 1 ] ; then
rm -f $dest/config/genesis.json
cp $Node1Dir/config/genesis.json $dest/config/
fi
done
os=`uname -a`
mac='Darwin'
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
if [[ $os =~ $mac ]];then
gsed -i 's/addr_book_strict = true/addr_book_strict = false/g' $dest/config/config.toml
gsed -i 's/"max_validators": 100,/"max_validators": '$N',/g' $dest/config/genesis.json
else
sed -i 's/addr_book_strict = true/addr_book_strict = false/g' $dest/config/config.toml
sed -i 's/"max_validators": 100,/"max_validators": '$N',/g' $dest/config/genesis.json
fi
done
mkdir -p $BACKUP/clicfg.all.address
cp -R ~/.cmpcli/* $BACKUP/clicfg.all.address
mkdir -p $BACKUP/clicfg
mkdir -p $BACKUP/clicfg/keyring-test-cmp
unlockAddr=$(cmpcli keys parse $(cmpcli keys show restunlock -a |awk '{print substr ($0, 3)}') | jq .formats[0] | sed 's/.\(.*\)/\1/' | sed 's/\(.*\)./\1/')
addrFileEndStr=".address"
cp -R ~/.cmpcli/config/ $BACKUP/clicfg/config/
cp -R ~/.cmpcli/keyring-test-cmp/$unlockAddr$addrFileEndStr $BACKUP/clicfg/keyring-test-cmp/
cp -R ~/.cmpcli/keyring-test-cmp/restunlock.info $BACKUP/clicfg/keyring-test-cmp/
rm -rf ~/.cmpcli/
for i in $(seq 1 $N)
do
dest=$DEPLOY/node$i
cp -R $BACKUP/clicfg $dest
done
rm -rf $BACKUP/clicfg
offsetN=$N
endN=$(($offsetN + $syncN))
for i in $(seq $(($offsetN+1)) $endN)
do
dest=$DEPLOY/node$i
mkdir -p $dest
echo "Generating and init node dir for node$i"
cmpd init node$i --chain-id $chainId --home $dest
done
Node1Dir=$DEPLOY/node1
for i in $(seq $(($offsetN+1)) $endN)
do
dest=$DEPLOY/node$i
if [ $i -ne 1 ] ; then
rm -f $dest/config/genesis.json
rm -f $dest/config/config.toml
cp $Node1Dir/config/genesis.json $dest/config/
cp $Node1Dir/config/config.toml $dest/config/
fi
done
cp -R $DEPLOY $DEST
cat >$PWD/docker-compose.yml << EOF
version: '3.8'
services:
EOF
for i in $(seq 1 $N)
do
cat >>$PWD/docker-compose.yml << EOF
node$i:
image: cmpd/node:latest
environment:
- ID=$i
ports:
- target: 26656
published: 26656
protocol: tcp
mode: host
- target: 26657
published: 26657
protocol: tcp
mode: host
- target: 8545
published: 8545
protocol: tcp
mode: host
volumes:
- /home/ubuntu/CMPChain/chain/network/conf/deploy:/cmp
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == node-$i
EOF
done
echo -e "\n------Enjoy it!------\n\n"
total=0
printf "%s\t%s\t\t\t\t\t\t%s\n" "idx" "account" "amount(cmp)"
for i in "${!genesisAccountList[@]}";
do
printf "%s\t%s\t%s\n" "${i}" "${genesisAccountList[$i]}" "${accountMapAmount[${genesisAccountList[$i]}]}"
amount=${accountMapAmount[${genesisAccountList[$i]}]}
total=$(echo $total + $amount |bc)
done
demon="cmp"
coin="$total$demon"
echo "total: $coin "
printf "validator ip list: %s \n" "${ipAddrs[@]}"
printf "chain Id: %s\n" "$chainId"
printf "There are private keys and genesis in directory: %s, please backup the directory.\n" $BACKUP
#!/bin/sh
exec supervisord --nodaemon --configuration /etc/supervisor/supervisord.conf
#!/bin/bash
N=${1}
DEST=${4:-"$PWD/conf"}
#dest=$DEST/node$N
offsetN=$(ls -l ${DEST} |grep "^d" | grep "node*" | wc -l)
endN=$(($offsetN + $N))
for((i=$(cmpcli status | jq '.sync_info.latest_block_height' | bc);$i < 2;i=$(cmpcli status | jq '.sync_info.latest_block_height' | bc)));
do
echo "waiting for chain up...... $i < 2"
sleep 2
done
for i in $(seq $(($offsetN+1)) $endN)
do
dest=$DEST/node$i
mkdir -p $dest
echo "Generating and init node dir for node$i"
cmpd init node$i --chain-id 200812 --home $dest
done
Node1Dir=$DEST/node1
for i in $(seq $(($offsetN+1)) $endN)
do
dest=$DEST/node$i
if [ $i -ne 1 ] ; then
rm -f $dest/config/genesis.json
rm -f $dest/config/config.toml
cp $Node1Dir/config/genesis.json $dest/config/
cp $Node1Dir/config/config.toml $dest/config/
fi
done
#!/bin/bash
NODE=${1:-1}
# If we kill the client before the node is properly shutdown, it will get
# invalid block signatures as it tries to commit blocks with empty state-hashes.
# So we send the SIGINT signal the node, give it 5 seconds to politely leave,
# and kill the client.
docker kill --signal=SIGINT node$NODE
#!/bin/bash
set -eux
N=${1:-1}
Join=${2:-false}
# FASTSYNC=${2:-false}
# WEBRTC=${3:-false}
MPWD=$(pwd)
DEST=${4:-"$PWD/conf"}
endN=$(ls -l ${DEST} |grep "^d" | grep "node*" | wc -l)
offsetN=$(($endN - $N))
if ${Join} ; then
for i in $(seq $(($offsetN+1)) $endN)
do
idx=$(((($i-1))*10))
echo $idx
docker run -d --name=node$i --net=cmpnet -e "ID=$i" --ip=172.77.5.$i -p $((26656+$idx)):26656 -p $((26657+$idx)):26657 -p $((1317+$idx)):1317 -p $((8545+$idx)):8545 -p $((8546+$idx)):8546 -v $MPWD/conf/deploy:/cmp -it cmpd/node:latest /usr/bin/start.sh
done
sleep 10
for i in $(seq $(($offsetN+1)) $endN)
do
idx=$(((($i-1))*10))
echo $idx
while [ $(cmpcli status -n tcp://localhost:$((26657+$idx))| jq '.sync_info.catching_up' | bc) -ne 0 ]
do
echo '.sync_info.catching_up'
sleep 1
done
done
for i in $(seq $(($offsetN+1)) $endN)
do
dest=$DEST/node$i
validatorPub=$(cmpd metaversegraph show-validator --home $dest)
cmpcli tx staking create-validator --chain-id 200812 --amount 10000000cmp --pubkey $validatorPub --moniker node$i --commission-rate 0.1 --commission-max-rate 0.2 --commission-max-change-rate 0.01 --min-self-delegation 1 --from mykey$i -y
done
exit 0
fi
docker network prune -f
docker network create \
--driver=bridge \
--subnet=172.77.0.0/16 \
--ip-range=172.77.0.0/16 \
--gateway=172.77.5.254 \
cmpnet
for i in $(seq 1 $N)
do
idx=$(((($i-1))*10))
echo $idx
docker run -d --name=node$i --net=cmpnet -e "ID=$i" -e "ENABLE-CROSS-DOMAIN=true" -e "READ-TIMEOUT=60" -e "WRITE-TIMEOUNT=60" --ip=172.77.5.$i -p $((26656+$idx)):26656 -p $((26657+$idx)):26657 -p $((1317+$idx)):1317 -p $((8545+$idx)):8545 -p $((8546+$idx)):8546 -v $MPWD/conf/deploy:/cmp -it cmpd/node:latest /usr/bin/start.sh
done
#!/bin/sh
docker stack deploy -c docker-compose-5.yml conf-3-5
sleep 30
while [ $(cmpcli status -n tcp://localhost:26677| jq '.sync_info.latest_block_height' | bc) -le 4 ]
do
echo 'waitting for blokchain produce the first 5 blocks.'
sleep 1
done
docker stack deploy -c docker-compose-3.yml conf-3-3
#!/bin/sh
#NODE_GRPC_ADDR="unix://./node-server-grpc.sock"
cmpd --home /cmp/node$ID/ start --pruning=nothing --rpc.unsafe --log_level "consensus:debug,metaversegraph:debug,main:info,state:info,x/distribution:info" --rpc.laddr "tcp://0.0.0.0:26657" --trace >> /cmp/node$ID/cmpd.log 2>&1 &
#cmpd --home /cmp/node$ID/ start --log_level "*:debug" --rpc.laddr "tcp://0.0.0.0:26657" --trace > /cmp/node$ID/cmpd.log 2>&1 &
ln -s /cmp/node$ID/ ~/.cmpd
ln -s /cmp/clicfg ~/.cmpcli
# ln -s /cmp/node$ID/ ~/cmpd
# ln -s /cmp/clicfg ~/cmpcli
sleep 5
cmpcli rest-server --laddr "tcp://localhost:8545" --chain-id "200812" --trace > /cmp/node$ID/cmpcli.log &
tail -f /dev/null
# cmpcli rest-server --laddr "tcp://localhost:8545" --grpc-node unix://./node-server-grpc.sock --unlock-key mykey --chain-id 8888 --trace
#!/bin/sh
docker stack rm conf-3-5
docker stack rm conf-3-3
#!/bin/bash
docker ps -f name=node -aq | xargs docker rm -f
docker network rm cmpnet
#!/bin/bash
ii=$(cmpcli query account 0x3A4bE2d9fc688CdAC82158943C0c0e26984DC7c0 --node tcp://localhost:26697 -o json | jq '.value.sequence' | bc)
iii=10000000
for((i=ii;i<ii+10;i++));
do
echo $i
#cmpcli tx send 0x3A4bE2d9fc688CdAC82158943C0c0e26984DC7c0 0xcfBe39362D1029be86bE4C2DcE9FBB2Afdbf0e21 1cmp --keyring-backend test --home /home/ubuntu/conf-5/clicfg/ --chain-id 200812 --fees 1cmp --node tcp://localhost:26697 -s $i -y -b async --memo $(( $i+$iii ))
cmpcli tx send 0x3A4bE2d9fc688CdAC82158943C0c0e26984DC7c0 0xcfBe39362D1029be86bE4C2DcE9FBB2Afdbf0e21 1cmp --keyring-backend test --home /home/ubuntu/conf-5/clicfg/ --chain-id 200812 --node tcp://localhost:26697 -b async -y -s $i --memo $(( $i+$iii ))
done
......@@ -3,7 +3,7 @@
set -e
docker compose -f docker-compose-prometheus.yml -f docker-compose-cadvisor.yml -f docker-compose_cryptor.yml -f docker-compose-net.yml -f docker-compose_nebula-sentry.yml -f docker-compose_ring.yml up
docker compose -f docker-compose-prometheus.yml -f docker-compose-cadvisor.yml -f docker-compose_cryptor.yml -f docker-compose-net.yml -f docker-compose_nebula-sentry.yml -f docker-compose_ring.yml -f docker-compose_nebula.yml -f docker-compose_sentry.yml up -d
......
......@@ -3,7 +3,6 @@
set -e
docker compose -f docker-compose-prometheus.yml -f docker-compose-cadvisor.yml -f docker-compose_cryptor.yml -f docker-compose-net.yml -f docker-compose_nebula-sentry.yml -f docker-compose_ring.yml down
docker compose -f docker-compose-prometheus.yml -f docker-compose-cadvisor.yml -f docker-compose_cryptor.yml -f docker-compose-net.yml -f docker-compose_nebula-sentry.yml -f docker-compose_ring.yml -f docker-compose_nebula.yml -f docker-compose_sentry.yml down
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