Update Composable Light Client
Client 07-tendermint-35 on Celestia is expired. This proposal will replace it with a new client, 07-tendermint-60.
proposal json placeholder
The cli command used to generate this proposal is:
celestia-appd tx gov submit-legacy-proposal --title="Update Composable Client" --description="Replace 07-tendermint-35 with 07-tendermint-60" update-client --deposit="10test" --from mykey
Hermes is configured like this:
[global]
log_level = "info"
[mode.clients]
enabled = true
refresh = true
misbehaviour = true
[mode.connections]
enabled = false
[mode.channels]
enabled = false
[mode.packets]
enabled = true
clear_interval = 100
clear_on_start = true
tx_confirmation = false
auto_register_counterparty_payee = false
[rest]
enabled = false
host = "127.0.0.1"
port = 3000
[telemetry]
enabled = false
host = "127.0.0.1"
port = 3001
[telemetry.buckets.latency_submitted]
start = 500
end = 20000
buckets = 10
[telemetry.buckets.latency_confirmed]
start = 1000
end = 30000
buckets = 10
[[chains]]
type = "CosmosSdk"
id = "celestia"
rpc_addr = "https://r-celestia--<yournotionalpikey>.gw.notionalapi.com"
grpc_addr = "https://g-celestia--<yournotionalpikey>.gw.notionalapi.com"
rpc_timeout = "10s"
trusted_node = false
account_prefix = "celestia"
key_name = ""
key_store_type = "Test"
store_prefix = "ibc"
default_gas = 100000
max_gas = 400000
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 180000
max_grpc_decoding_size = 33554432
clock_drift = "5s"
max_block_time = "30s"
ccv_consumer_chain = false
memo_prefix = ""
sequential_batch_tx = false
compat_mode = "v0.34"
[chains.event_source]
mode = "push"
url = "wss://r-celestia--<yournotionalpikey>.gw.notionalapi.com/websocket"
batch_delay = "500ms"
[chains.trust_threshold]
numerator = "1"
denominator = "3"
[chains.gas_price]
price = 0.02
denom = "utia"
[chains.packet_filter]
policy = "allow"
list = [[
"transfer",
"channel-12",
]]
[chains.packet_filter.min_fees]
[chains.address_type]
derivation = "cosmos"
[[chains]]
type = "CosmosSdk"
id = "centauri-1"
rpc_addr = "https://r-composable--<yournotionalpikey>.gw.notionalapi.com"
grpc_addr = "https://g-composable--<yournotionalpikey>.gw.notionalapi.com"
rpc_timeout = "10s"
trusted_node = false
account_prefix = "centauri"
key_name = ""
key_store_type = "Test"
store_prefix = "ibc"
default_gas = 100000
max_gas = 400000
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 180000
max_grpc_decoding_size = 33554432
clock_drift = "5s"
max_block_time = "30s"
ccv_consumer_chain = false
memo_prefix = ""
sequential_batch_tx = false
[chains.event_source]
mode = "push"
url = "wss://r-composable--<yournotionalpikey>.gw.notionalapi.com/websocket"
batch_delay = "500ms"
[chains.trust_threshold]
numerator = "1"
denominator = "3"
[chains.gas_price]
price = 0.0
denom = "ppica"
[chains.packet_filter]
policy = "allow"
list = [[
"transfer",
"channel-38",
]]
[chains.packet_filter.min_fees]
[chains.address_type]
derivation = "cosmos"
[tracing_server]
enabled = false
port = 5555
After configuring Hermes, we ran:
hermes --config fix-composable-tia.toml create client --host-chain celestia --reference-chain centauri-1
2023-12-19T19:37:40.008269Z INFO ThreadId(01) running Hermes v1.7.3+61260cf4c
SUCCESS CreateClient(
CreateClient(
Attributes {
client_id: ClientId(
"07-tendermint-60",
),
client_type: Tendermint,
consensus_height: Height {
revision: 1,
height: 2951334,
},
},
),
)
I’ve been working on this with @rustNinja from Composable, who wanted a guide to making client updates, so I’m trying to make this post include the directions needed for others to do the same in the future.
Please note that the command and the text of this proposal are both currently in draft form. Since this looks like this might be the first proposal on Celestia,
I would like to take the time needed to get it right.
Seems like 41 is also expired?
celestia-appd query ibc client status 07-tendermint-41
also returns “Expired”.
Also 41 seems to point to osmosis?
celestia-appd query ibc client state 07-tendermint-41 --node tcp://consensus-full-1.lunaroasis.net:26657
client_state:
'@type': /ibc.lightclients.tendermint.v1.ClientState
allow_update_after_expiry: true
allow_update_after_misbehaviour: true
chain_id: osmosis-1
[...]
compare 35: chain_id: centauri-1
Hey, that is correct – I was out and about when I’d first written the forum post, and it turns out that the new, correct client is 07-tendermint-60, not 07-tendermint-41.
![]()
I’ll be updating the post with more information as we progress, and thanks for checking!
We’ll be iterating on the forum post until it is fully clear what was done to make the proposal, and what the prop should do.