#### running stake script with args RUST_NET_ENABLE=yes VALIDATOR_NAME=my_validator SDK_URL=rustnet.ton.dev SDK_ENDPOINT_URL_LIST=rustnet1.ton.dev,rustnet2.ton.dev ELECTOR_TYPE=solidity STAKE=1800000 `*/5 * * * * root /ton-node/scripts/validator.sh ${STAKE} >>/ton-node/logs/validator.log 2>&1` #### Vars and running normal node TON_NODE_ROOT_DIR="/ton-node" TON_NODE_CONFIGS_DIR="${TON_NODE_ROOT_DIR}/configs" TON_NODE_SCRIPTS_DIR="${TON_NODE_ROOT_DIR}/scripts" TON_NODE_LOGS_DIR="${TON_NODE_ROOT_DIR}/logs" echo "INFO: R-Node startup..." echo "INFO: NETWORK_TYPE = ${NETWORK_TYPE}" echo "INFO: DEPLOY_TYPE = ${DEPLOY_TYPE}" echo "INFO: CONFIGS_PATH = ${CONFIGS_PATH}" echo "INFO: \$1 = $1" echo "INFO: \$2 = $2" `curl -sS "https://raw.githubusercontent.com/tonlabs/rustnet.ton.dev/main/configs/ton-global.config.json" -o "${TON_NODE_CONFIGS_DIR}/ton-global.config.json"` exec ${NODE_EXEC}_compression --configs "${CONFIGS_PATH}" ${TON_NODE_EXTRA_ARGS} >>${TON_NODE_LOGS_DIR}/stdout.log \ 2>>${TON_NODE_LOGS_DIR}/stderr.log ###### то есть так `/ton-node/ton_node_no_kafka_compression --configs /ton-node/configs ` #### sending tokens before stake (validator.log) /ton-node/tools/tonos-cli call -1:84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9 submitTransaction '{"dest":"-1:3333333333333333333333333333333333333333333333333333333333333333","value":"1800000000000000","bounce":true,"allBalance":false,"payload":"te6ccgEBAgEAmQABqE5zdEsAAAAAYPava2r0zS+NBCY2REH9YbKupu4UikoeLcAh4NJ2xj7oi+3sYPbD0wADAAChcWUVdeqPB0ltyviMEQU1KjicOwwZ7gMCEvRTuPpkiAEAgP48hc8/r0zWdMb652HlHYUT5qmBIggDd2KbfNnWJKYVCKwGaRISdvWxU58MBQZu0VfBSTWm26ji56H9wj/tuAc="}' --abi /ton-node/configs/SafeMultisigWallet.abi.json --sign /ton-node/configs/keys/msig.keys.json ###### and answer if success Input arguments: address: -1:84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9 method: submitTransaction params: {"dest":"-1:3333333333333333333333333333333333333333333333333333333333333333","value":"1800000000000000","bounce":true,"allBalance":false,"payload":"te6ccgEBAgEAmQABqE5zdEsAAAAAYPava2r0zS+NBCY2REH9YbKupu4UikoeLcAh4NJ2xj7oi+3sYPbD0wADAAChcWUVdeqPB0ltyviMEQU1KjicOwwZ7gMCEvRTuPpkiAEAgP48hc8/r0zWdMb652HlHYUT5qmBIggDd2KbfNnWJKYVCKwGaRISdvWxU58MBQZu0VfBSTWm26ji56H9wj/tuAc="} abi: /ton-node/configs/SafeMultisigWallet.abi.json keys: /ton-node/configs/keys/msig.keys.json lifetime: None output: None Connecting to rustnet.ton.dev Generating external inbound message... MessageId: f3fe82756efde22cc06cf203cabfdc57f861f0b53bea59c74c6d1230dbbaf440 Expire at: Tue, 20 Jul 2021 14:12:46 +0300 Processing... Succeeded. Result: { "transId": "0" } + echo 'INFO: tonos-cli submitTransaction attempt... PASS' INFO: tonos-cli submitTransaction attempt... PASS + date '+INFO: %F %T prepared for elections 1626784723' INFO: 2021-07-20 14:12:39 prepared for elections 1626784723 + echo 1626784723 + set +x INFO: script exited (exit code: 0, script line: 576) INFO: validator.sh END 1626779559 / Tue Jul 20 14:12:39 MSK 2021 ##### check account `ton-node/tools/tonos-cli account -1:84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9 ` #### get stake params /ton-node/tools/tonos-cli getconfig 17 + TONOS_CLI_OUTPUT='Config: /ton-node/tools/tonos-cli.conf.json Input arguments: index: 17 Connecting to rustnet.ton.dev Config p17: { "min_stake": "10000000000000", "max_stake": "10000000000000000", "min_total_stake": "100000000000000", "max_stake_factor": 196608 }' ###### converting tokens `++ /ton-node/tools/tonos-cli convert tokens 1800000 ++ tail -1 + NANOSTAKE=1800000000000000 + echo 'INFO: NANOSTAKE = 1800000000000000 nanotokens' INFO: NANOSTAKE = 1800000000000000 nanotokens + '[' -z 1800000000000000 ']'` ###### start elections `/ton-node/tools/tonos-cli run -1:3333333333333333333333333333333333333333333333333333333333333333 compute_returned_stake '{"wallet_addr":"0x84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9"}' --abi /ton-node/configs/Elector.abi.json ` ###### elections status `/ton-node/tools/console -C /ton-node/configs/console.json -c 'election-bid 1626784723 1626809123'` #### validator events in output.log ### slashing activity `2021-07-20 12:04:58.667152451 INFO [validator] 139620788463360: Use slashing report function 'report' with id=A6694B2B ` #### initializing validator, checking last applied block `2021-07-20 12:04:58.667420884 INFO [validator] 139620788463360: Validator manager initialization: last applied block: (-1:8000000000000000, 104199, rh 09075d48dfd11af0cdbb49b84772f9a7186cd39de29a0e4641681ec6e81e5542, fh 0e1531e55ce001202 7756820d4fef3ebaa9f6ab88bf9ad4d3c40120355ac71b1), no last rotation block` #### current validator list `2021-07-20 12:04:58.673288358 INFO [validator] 139620788463360: Updating current validator list (id 92bf7726e7246eac834a308dfbf1b474b6514fd543a347cd9c65398b09b79e63) ` #### single mode validator output `2021-07-20 15:10:39.492688277 INFO [validator] 140574480922368: pk: aded337b67e4d9059d74303a11826840f22f0f0a859b673d0cd9d8cb7c48911d, pk_id: 5ac2882722cdf61c780b4cfda6b17953c8c7319d64b2cf072039c2e45d21f01c, andl_id: 2000ada6ca3f1c981d5f607f576709b05a1d2498ac1b2ffaccde246dbdeca4f9 #### non active valida`tor output `2021-07-20 15:10:39.492893231 INFO [validator] 140574480922368: session id st round shard 2021-07-20 15:10:39.492927800 INFO [validator] 140574480922368: ` #### validator events if validation disabled `2021-07-20 15:10:39.492729859 INFO [validator] 140574480922368: Local node is not a next validator` `2021-07-20 15:10:39.492791192 INFO [ton_node::validator::validator_manager] 140574480922368: Current validator list is empty, validation is disabled. 2021-07-20 15:10:39.492857192 INFO [validator] 140574480922368: All sessions were removed, validation disabled` #### blocks info `2021-07-18 16:44:54.086106259 INFO [boot] 140525989895168: cold boot start: init_block_id=(-1:8000000000000000, 0, rh 228f05e8bcb11defb070f7803fb544efe389a801a0564e3bc7539ba43d20d2bf, fh 8c0ae21dbfd57b600a074c53b2a1ee9c8ac4c396559cb797d630e1897883ac7a)` `2021-07-19 09:18:38.344113951 INFO [boot] 139986062158848: cold boot start: init_block_id=(-1:8000000000000000, 0, rh 228f05e8bcb11defb070f7803fb544efe389a801a0564e3bc7539ba43d20d2bf, fh 8c0ae21dbfd57b600a074c53b2a1ee9c8ac4c396559cb797d630e1897883ac7a)` `2021-07-19 15:20:04.507347523 INFO [boot] 139986062158848: download_next_key_blocks_ids (-1:8000000000000000, 0, rh 228f05e8bcb11defb070f7803fb544efe389a801a0564e3bc7539ba43d20d2bf, fh 8c0ae21dbfd57b600a074c53b2a1ee9c8ac4c396559cb797d630e1897883ac7a)` `2021-07-19 15:20:04.602496705 INFO [boot] 139986062158848: last key block is (-1:8000000000000000, 5290, rh f133b5afdcd4a21f043c85c18fbf46a6f68890e042095b0a2189f17e2dfb8bf7, fh 865d18c736325d75d900a6ad18f8d1e3741ac823f9312124f6e0390a0018b93b)` `2021-07-19 15:20:05.670187219 INFO [boot] 139986062158848: download_next_key_blocks_ids (-1:8000000000000000, 5290, rh f133b5afdcd4a21f043c85c18fbf46a6f68890e042095b0a2189f17e2dfb8bf7, fh 865d18c736325d75d900a6ad18f8d1e3741ac823f9312124f6e0390a0018b93b)` `2021-07-19 15:20:55.732387747 INFO [boot] 139986062158848: key block candidate: seqno=115804 is_persistent=false ttl=1626798467 syncbefore=0` #### time issue `2021-07-20 16:16:51.395764587 WARN [ton_node::internal_db] 140574569875200: store_shard_state_dynamic (0:8400000000000000, 146007, rh fc9a67fb8ab85610e12a9ffca82753acb3f8ea1a38e4da28aabc0ca045841cdf, fh c61afe467b03f08a7cdb9abb69617db193d449ec741b78fe216e26e0d81ccda3) - finished too slow, TIME: 2241ms, expected: 100ms` `2021-07-20 16:17:49.930853904 INFO [ton_node::engine] 140574569875200: Applied block (0:cc00000000000000, 145912, rh 9a9f8218ecfa0f7ce3cad940a6f3f050181baf8fabb0848da27c1f048cfd79a5, fh fcc0326e7fabf9aa70c20b7aae4d5e0df35c23f994f5e8cc47c7ddfdcedd53d1) ref_mc_block: 104786, 304660 seconds old` #### Multisig wallet generator export TON_NODE_ROOT_DIR="/ton-node" export TON_NODE_CONFIGS_DIR="${TON_NODE_ROOT_DIR}/configs" export TON_NODE_KEYS_DIR="${TON_NODE_CONFIGS_DIR}/keys" export TON_NODE_TOOLS_DIR="${TON_NODE_ROOT_DIR}/tools" export TON_NODE_LOGS_DIR="${TON_NODE_ROOT_DIR}/logs" mkdir -p "${TON_NODE_KEYS_DIR}" apt update >/dev/null 2>&1 && apt install -y wget >/dev/null 2>&1 if [ ! -f "${TON_NODE_CONFIGS_DIR}/SafeMultisigWallet.abi.json" ]; then cd ${TON_NODE_CONFIGS_DIR} && wget https://raw.githubusercontent.com/tonlabs/ton-labs-contracts/master/solidity/safemultisig/SafeMultisigWallet.abi.json fi if [ ! -f "${TON_NODE_CONFIGS_DIR}/SafeMultisigWallet.tvc" ]; then cd ${TON_NODE_CONFIGS_DIR} && wget https://github.com/tonlabs/ton-labs-contracts/raw/master/solidity/safemultisig/SafeMultisigWallet.tvc fi cd ${TON_NODE_TOOLS_DIR} TONOS_CLI_OUTPUT=$("${TON_NODE_TOOLS_DIR}/tonos-cli" genaddr "${TON_NODE_CONFIGS_DIR}/SafeMultisigWallet.tvc" \ "${TON_NODE_CONFIGS_DIR}/SafeMultisigWallet.abi.json" --genkey "${TON_NODE_KEYS_DIR}/msig.keys.json" --wc -1) RAW_ADDRESS=$(echo "${TONOS_CLI_OUTPUT}" | grep "Raw address" | cut -d ' ' -f 3) SEED_PHRASE=$(echo "${TONOS_CLI_OUTPUT}" | grep "Seed phrase" | sed -e 's/Seed phrase: //' | tr -d '"') echo "${RAW_ADDRESS}" >"${TON_NODE_CONFIGS_DIR}/${VALIDATOR_NAME}.addr" echo "INFO: Raw address = ${RAW_ADDRESS}" echo "INFO: Seed phrase = ${SEED_PHRASE}" ### Check node synchronization `docker exec -it rnode /ton-node/tools/console -C /ton-node/configs/console.json --cmd getstats` tonlabs console 0.1.1 COMMIT_ID: ba620f2290068b5413d059b997b90d9ed7f25ad2 BUILD_DATE: 2021-07-18 16:11:49 +0300 COMMIT_DATE: 2021-07-16 00:00:16 +0300 GIT_BRANCH: master { "masterchainblocktime": 1626483194, "masterchainblocknumber": 104973, "timediff": 306287, "in_current_vset_p34": false, "in_next_vset_p36": false } If the timediff parameter equals a few seconds, synchronization is complete. #### Depool events ``./tonos-cli depool --addr -1:84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9 events Config: /ton-node/tools/tonos-cli.conf.json Input arguments: depool: -1:84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9 since: None Connecting to rustnet.ton.dev 8 events found event ca747ee5e36d32e890069b593e4abb516b4e70e847ddbf381c57c19a5575e92f unknown 1626779553 (2021-07-20 11:12:33.000) {}` `event 48dca965d8409f8f66be0a15c3ced60a8388b3aebca2d9b55cddfcea03cd9a75 unknown 1626772205 (2021-07-20 09:10:05.000) {}` `event 6128cebe65b747a0e54ba3a7d707e8972251ae1486625d574589f3961947f53f unknown 1626757588 (2021-07-20 05:06:28.000) {}` `event d8c1664494355b0d9f89383cb5af6a88d3f8cb17fc43928686e2f0caa832579d unknown 1626684070 (2021-07-19 08:41:10.000) {}` `event 2fe401332133130718075265fde4831ce6d9e7b0352109078faaf54178693aec unknown 1626672119 (2021-07-19 05:21:59.000) {}` `event 8c71079dc189968222c9e774407b821e8534574c823e76d62630da39df9b9e48 unknown 1626455402 (2021-07-16 17:10:02.000) {}` `event 6e6d3e032cd558a0b4ab56db6f9f37a117749d8d73b38d3f26a9656c659ba4a2 unknown 1626433816 (2021-07-16 11:10:16.000) {}` `event 67922d5f548c0600a3f981416625ecd24407b7eeba824ba3e61fb0d9727a36f1 unknown 1626424083 (2021-07-16 08:28:03.000) {}` ##### Last masterchain seq number for sync `2021-07-20 18:35:27.037566752 INFO [sync] 140574580648960: Last MC seq_no for sync = 105073 (MC = (-1:8000000000000000, 105073, rh b0a69b0d0a9795758e338e8d3d1d416164e4062ebf35a5beba0771980cf3ebb1, fh 85ccda720ae467d4371c50fe11525eb9bc7bae4138ffaea7eec66bf19e1bc4da), SC = (-1:8000000000000000, 105073, rh b0a69b0d0a9795758e338e8d3d1d416164e4062ebf35a5beba0771980cf3ebb1, fh 85ccda720ae467d4371c50fe11525eb9bc7bae4138ffaea7eec66bf19e1bc4da)) ` ###### Record block to DB `2021-07-20 17:46:07.982325862 WARN [ton_node::internal_db] 140574580648960: store_shard_state_dynamic (-1:8000000000000000, 105073, rh b0a69b0d0a9795758e338e8d3d1d416164e4062ebf35a5beba0771980cf3ebb1, fh 85ccda720ae467d4371c50fe11525eb9bc7bae4138ffaea7eec66bf19e1bc4da) - finished too slow, TIME: 646ms, expected: 100ms` ##### Apply block 2021-07-20 17:46:07.990763400 INFO [ton_node::engine] 140574580648960: Applied block (-1:8000000000000000, 105073, rh b0a69b0d0a9795758e338e8d3d1d416164e4062ebf35a5beba0771980cf3ebb1, fh 85ccda720ae467d4371c50fe11525eb9bc7bae4138ffaea7eec66bf19e1bc4da), 308745 seconds old ##### Load block 2021-07-20 18:02:03.210351694 WARN [ton_node::internal_db] 140574561482496: load_shard_state_dynamic (-1:8000000000000000, 105073, rh b0a69b0d0a9795758e338e8d3d1d416164e4062ebf35a5beba0771980cf3ebb1, fh 85ccda720ae467d4371c50fe11525eb9bc7bae4138ffaea7eec66bf19e1bc4da) - finished too slow, TIME: 12ms, expected: 10ms ##### Load block handle `2021-07-20 18:35:26.602010318 WARN [ton_node::internal_db] 140574580648960: load_block_handle (-1:8000000000000000, 105073, rh b0a69b0d0a9795758e338e8d3d1d416164e4062ebf35a5beba0771980cf3ebb1, fh 85ccda720ae467d4371c50fe11525eb9bc7bae4138ffaea7eec66bf19e1bc4da) - finished too slow, TIME: 79ms, expected: 10ms` ##### Check stake `/ton-node/tools/tonos-cli run -1:3333333333333333333333333333333333333333333333333333333333333333 compute_returned_stake '{"wallet_addr":"0x84f814c83fcfb69d31c4f3b354063f4c12f68aa9619c006660fce053747015e9"}' --abi /ton-node/configs/El ector.abi.json` Done