github.com/cosmos/cosmos-sdk@v0.50.10/scripts/README.md (about)

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