---
tags: game-of-chains
---
# Testing gaiad w/ ics v0.2.1 release
## Scenario 1: Binary replacement before proposals are submitted
1. Start a one-validator provider chain with Jehan's fork (`glnro/ics-sdk45-84a33e4910abcc157f3333a70918a4fd6dc4cf6d`)
2. Stop the service
3. Replace the binary with Shawn's fork (`glnro/ics-sdk45-f729517a4a231a02172df6763c2ffed0524a2804`)
4. Start the service
- ✅ Block height picks up from where it stopped
5. Initialize sputnik, apollo, and neutron
6. Pass 3 consumer chain proposals with spawn time in the past
7. Collect CCV states and patch consumer genesis files
8. Start Sputnik chain and setup relayer
- Delegate to and unbond from validator
- ✅ Validator set updates coming through on Sputnik
9. Start Apollo chain and setup relayer
- Delegate to and unbond from validator
- ✅ Validator set updates coming through on Sputnik and Apollo
10. Start Neutron chain
- ❌ On chain start: `panic: unknown field "unbonding_period" in types.Params
- Stopped service
- Removed unbonding_period from ccvconsumer params in genesis file:
```
"ccvconsumer": {
"params": {
"enabled": true,
"blocks_per_distribution_transmission": "1000",
"distribution_transmission_channel": "",
"provider_fee_pool_addr_str": "",
"ccv_timeout_period": "2419200s",
"transfer_timeout_period": "3600s",
"consumer_redistribution_fraction": "0.75",
"historical_entries": "10000", <- removed the comma
"unbonding_period": "1728000s" <- removed this line
},
```
- Re-install neutron (run play again to initialize node), start service
- Chain starts
11. Set up Neutron relayer
- Delegate to and unbond from validator
- ✅ Validator set updates coming through on Sputnik, Apollo, and Neutron chains
**Result: PASS**
## Scenario 2: Binary replacement after spawn time
1. Start a one-validator provider chain with Jehan's fork (`glnro/ics-sdk45-84a33e4910abcc157f3333a70918a4fd6dc4cf6d`)
2. Initialize sputnik, apollo, and neutron
3. Pass 3 consumer chain proposals with spawn times in the past
4. Stop the service
5. Replace the binary with Shawn's fork (`glnro/ics-sdk45-f729517a4a231a02172df6763c2ffed0524a2804`)
6. Start the service
- ✅ Block height picks up from where it stopped
7. Collect CCV states and patch consumer genesis files
- Remove offending line from Neutron genesis file
8. Start Sputnik chain and setup relayer
- Delegate to and unbond from validator
- ✅ Validator set updates coming through on Sputnik
9. Start Apollo chain and setup relayer
- Delegate to and unbond from validator
- ✅ Validator set updates coming through on Sputnik and Apollo
10. Start Neutron chain and setup relayer
- Delegate to and unbond from validator
- ✅ Validator set updates coming through on Sputnik, Apollo, and Neutron
- ✅ Receive ibc transfers in provider chain from all consumer chains
- ✅ Receive ibc transfers in all consumer chains from provider chain
**Result: PASS**