Assumes Ignite CLI is already installed (though it's only used in the first step to help bootstrap all the necessary genesis files and accounts).
- Initialise chain using Ignite CLI:
git checkout 33b3528 && ignite chain init && git checkout main
- For unknown reasons, the
ignite chain init
command does not work while inmain
- Note down the address of
alice
andbob
so that we can use them later
- For unknown reasons, the
- In the
~/.test/config.toml
file, set and ensurecreate_empty_blocks = false
- Build the binary:
go build -o testd cmd/testd/main.go
- Start the chain in another terminal:
./testd start
- Notice that the block height halts at
2
(use./testd status | jq
to verify)
- Notice that the block height halts at
- Send some funds from
alice
tobob
:./testd tx bank send ALICE_ADDR BOB_ADDR 1token
- Notice that the block height now halts at
4
which means an increment of 2 blocks (this seems like the "correct behaviour" according to this forum post) - Use
./testd query bank balances ALICE_ADDR
to confirm that the balance ofalice
is1token
less
- Notice that the block height now halts at
Once done, you may reset all chain state and repeat from step 4 for further tests: ./testd tendermint unsafe-reset-all
In chronological order:
- With reference to commit
33b3528
: this repository was scaffolded using Ignite CLI'signite scaffold chain
command (without thepkg
directory) - With reference to commit
8532399
: the Tendermint (v0.34.24
) and Cosmos SDK (v0.46.7
) codebases were cloned as is into thepkg
directory - With reference to commit
8ecfc92
: thereplace
directive was added to thego.mod
andpkg/cosmos-sdk/go.mod
files to point to the local Tendermint package located atpkg/tendermint
- At this point, there are zero changes to the underlying source code, and the blockchain should run as per normal (ie. producing blocks every second)
- With reference to commit
1562834
: the local Tendermint and Cosmos SDk pkgs were updated to reflect the following PRs:- Mark "proof blocks" on Tendermint: tendermint/tendermint#10004
- Ignore "proof blocks" on Cosmos SDK: cosmos/cosmos-sdk#15148