Please follow these steps to upgrade your Stratos-Chain Testnet
1. Backup and cleanup current blockchain data
1.1 Backup data
folder
Copy mkdir ./backups/data
mv ./data/* ./backups/data/
1.2 Create priv_validator_state.json
file in data
folder
Copy echo '{
"height": "0",
"round": "0",
"step": 0
}' \
> ./data/priv_validator_state.json
2. Prepare genesis.json
file
2.1 Download genesis.json
Copy wget https://raw.githubusercontent.com/stratosnet/stratos-chain-testnet/main/genesis.json
2.2 Replace genesis.json
file in config
folder with the downloaded one
3. Existing multiple nodes(optional)
If you have multiple nodes, repeat Step 1 and Step 2 for each node.
4. Update binary
Download the updated stchaind
and stchaincli
binary files
Copy wget https://github.com/stratosnet/stratos-chain/releases/download/v0.5.0/stchaincli
wget https://github.com/stratosnet/stratos-chain/releases/download/v0.5.0/stchaind
4.1 Check the granularity
Copy md5sum stchain*
## expect output
## aded93fa2f1f4816375dcb425ec4ce42 stchaincli
## 2d79092bd2096baa82879edc64c17294 stchaind
4.2 Replace old stchaincli
and stchaind
binary files with these downloaded ones
4.3 Add execute
permission for these downloaded binary files
Copy chmod +x stchaincli
chmod +x stchaind
4 Update binary -alternative
4.1 Compile the binary with source code
Make sure you have Go 1.15+ installed (link ).
Copy git clone https://github.com/stratosnet/stratos-chain.git
cd stratos-chain
git checkout v0.5.0
# The binary can be found in ./build folder
make build
#or install to default $GOPATH/bin
make install
5. Run your node
Copy ./stchaind start --home ./
Hereafter, the node will try to catch up with the blockchain to the latest block
5.1 Run the node in background
Copy ./stchaind start --home ./ 2>&1 >> chain.log &
6. Get test tokens from faucet
( https://faucet-test.thestratos.org/
)
Copy curl -X POST https://faucet-test.thestratos.org/faucet/ < your-wallet-addres s >
For example: in your terminal,
Copy curl -X POST https://faucet-test.thestratos.org/faucet/st1gwtcnptte6fpxck3f9xs45ufrru9sz2500edn8
Note:
1 stos = 1000000000 ustos
By default, faucet
will send 100stos(100000000000ustos) to the given wallet address
7. Check your account balance
Note: Account balance is only available after your node has finished catching up with the blockchain.
Copy ./stchaincli query account < your addres s > --home ./
Example
Copy root@2fb153d9009c:/stchaind# ./stchaincli query account st1gwtcnptte6fpxck3f9xs45ufrru9sz2500edn8 --home ./
|
address: st1gwtcnptte6fpxck3f9xs45ufrru9sz2500edn8
coins:
- denom: ustos
amount: "49999999900000000"
public_key: stpub1addwnpepqd3x0rpxp6hrrmuwm25cz5yvuvaxmqgj9rfxqnu4pgpln7ytx9mrjz0pa3d
account_number: 0
sequence: 1
8. Check your node status
Copy ./stchaincli status --home ./
Example
Copy root@4bed4f6fb8f9:/stchaind# ./stchaincli status --home ./
Copy {
"node_info" : {
"protocol_version" : {
"p2p" : "7" ,
"block" : "10" ,
"app" : "0"
} ,
"id" : "65d5e80214b5239b7397830879998cd3065fab57" ,
"listen_addr" : "tcp://0.0.0.0:26656" ,
"network" : "test-chain-localnet" ,
"version" : "0.33.9" ,
"channels" : "4020212223303800" ,
"moniker" : "node0" ,
"other" : {
"tx_index" : "on" ,
"rpc_address" : "tcp://127.0.0.1:26657"
}
} ,
"sync_info" : {
"latest_block_hash" : "4F9E3AB72D578CC6153445CF7154E593360DF39B2BBB63317241B94CA89967E9" ,
"latest_app_hash" : "3DA857CCF4D4F151E107BEC943C6A3A394D4B239F23B37091E7E33FE61B96AFB" ,
"latest_block_height" : "361" ,
"latest_block_time" : "2021-10-14T02:35:22.222386147Z" ,
"earliest_block_hash" : "87AA89CB8FEF876C38BAE4F810D3CEA6249C0330E7CF0673464EEEE734A72400" ,
"earliest_app_hash" : "" ,
"earliest_block_height" : "1" ,
"earliest_block_time" : "2021-09-29T21:48:00.612410904Z" ,
"catching_up" : false
} ,
"validator_info" : {
"address" : "82B659FC939521E845E552DCE32BA29DA2EA8718" ,
"pub_key" : {
"type" : "tendermint/PubKeyEd25519" ,
"value" : "O+naHHEZ5SexfhniH73WXhJiC83lLPjDiav40GfPp5M="
} ,
"voting_power" : "100"
}
}
9. Try your first tx - send
Copy ./stchaincli tx send <from address> <to address> <amount> --home ./ --keyring-backend test --chain-id stratos-testnet-3
Example
Tx command:
Copy ./stchaincli tx send st1kuhyf59qvukk8r5manky062d6c66utvytm7az6 st1m4f4hnyfhpaeqlcgv7lfhgzjwmrvfeggwnpygz 1000000ustos --home=./ --chain-id=stratos-testnet-3 --keyring-backend=test --gas=auto
Output:
Copy ...
confirm transaction before signing and broadcasting [y/N]: y
height: 0
txhash: 0BFC71FFAFCB4554A95586E7C63042698F5E1D1BD5443B09C36F6FC2C3FFA737
codespace: ""
code: 0
data: ""
rawlog: '[]'
logs: []
info: ""
gaswanted: 0
gasused: 0
tx: null
timestamp: ""
Check this tx:
Copy root@3200b05c02b9:/stchaind# ./stchaincli query tx 0BFC71FFAFCB4554A95586E7C63042698F5E1D1BD5443B09C36F6FC2C3FFA737 --chain-id=stratos-testnet-3
height: 9765
txhash: 0BFC71FFAFCB4554A95586E7C63042698F5E1D1BD5443B09C36F6FC2C3FFA737
codespace: ""
code: 0
data: ""
rawlog: '[{"msg_index":0,"log":"","events":[{"type":"message","attributes":[{"key":"action","value":"send"},{"key":"sender","value":"st1kuhyf59qvukk8r5manky062d6c66utvytm7az6"},{"key":"module","value":"bank"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"st1m4f4hnyfhpaeqlcgv7lfhgzjwmrvfeggwnpygz"},{"key":"sender","value":"st1kuhyf59qvukk8r5manky062d6c66utvytm7az6"},{"key":"amount","value":"1000000ustos"}]}]}]'
logs:
- msgindex: 0
log: ""
events:
- type: message
attributes:
- key: action
value: send
- key: sender
value: st1kuhyf59qvukk8r5manky062d6c66utvytm7az6
- key: module
value: bank
- type: transfer
attributes:
- key: recipient
value: st1m4f4hnyfhpaeqlcgv7lfhgzjwmrvfeggwnpygz
- key: sender
value: st1kuhyf59qvukk8r5manky062d6c66utvytm7az6
- key: amount
value: 1000000ustos
info: ""
gaswanted: 200000
gasused: 64559
tx:
msg:
- from_address: st1kuhyf59qvukk8r5manky062d6c66utvytm7az6
to_address: st1m4f4hnyfhpaeqlcgv7lfhgzjwmrvfeggwnpygz
amount:
- denom: ustos
amount: "1000000"
fee:
amount:
- denom: ustos
amount: "100"
gas: 200000
signatures:
- |
pubkey: stpub1addwnpepq0dx083vc4gn3f5quc2znpt4qx39cyxg52lu28fp2r2nnky7yaxsur40qny
signature: !!binary |
v1E4ABuErs6lHP6mjLLyUkOa0SqyV1cICHLwdzjWORRLiA1XGD1fWgbweLUNmI/XNBoBYp
YvodHGm3VRfg7C6A = =
memo: ""
timestamp: "2021-07-13T17:42:14Z"