Open fadeev opened 2 years ago
When accounts are created during ignite chain serve
, this uses the chain binary, and its output is serialized into chainrunner.Account
. As you said, any change to that output will lead to the mentioned error, because the output is no longer JSON valid.
As an alternative, we could use the cosmosclient
library to create the accounts, but since cosmos 0.46 introduced a migration in the keyring [0], this could lead to a compatibility issue. Indeed, this migration changes the keyring encoding from amino to protobuf. As soon as you read a keyring with 0.46, it is automatically migrated to protobuf encoding. Once migrated it's no longer possible to read it with a client compiled with a version <0.46.
So for instance, let's say your chain uses cosmos-sdk <0.45, and you use a Ignite CLI compiled with cosmos-sdk >=0.46 to read your keyring, then your chain app can no longer load its keyring because the encoding has changed.
To mitigate that, we could ensure the ignite binary and the chain use the same cosmos-sdk version, but that's something we need to discuss.
From Discord: