28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# Scripts
|
|
|
|
Generally we should avoid shell scripting and write tests purely in Golang.
|
|
However, some libraries are not Goroutine-safe (e.g. app simulations cannot be run safely in parallel),
|
|
and OS-native threading may be more efficient for many parallel simulations, so we use shell scripts here.
|
|
|
|
## Validate Gentxs
|
|
|
|
A custom utility script is available to [validate gentxs](./validate-gentxs.sh). Though we have
|
|
`ValidateBasic()` for validating gentx data, it cannot validate signatures. This custom script helps
|
|
to validate all the gentxs by collecting them one by one and starting a local network.
|
|
It requires the following env settings.
|
|
|
|
```shell
|
|
export DAEMON=gaiad
|
|
export CHAIN_ID=cosmoshub-1
|
|
export DENOM=uatom
|
|
export GH_URL=https://github.com/cosmos/gaia
|
|
export BINARY_VERSION=v1.0.0
|
|
export GO_VERSION=1.17
|
|
export PRELAUNCH_GENESIS_URL=https://raw.githubusercontent.com/cosmos/mainnet/main/cosmoshub-1/genesis-prelaunch.json
|
|
export GENTXS_DIR=~/go/src/github.com/cosmos/mainnet/$CHAIN_ID/gentxs
|
|
```
|
|
|
|
Though this script is handy for verifying the gentxs locally, it is advised to use Github Action to validate gentxs.
|
|
An example can be found here:
|
|
https://github.com/regen-network/mainnet/blob/0bcd387671b9574e893289e39c08a1643cac7d62/.github/workflows/validate-gentx.yml
|