## Description Closes: #9404 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
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>
|