Skip to content

Instantly share code, notes, and snippets.

View clemensgg's full-sized avatar

Claimens | CryptoCrew Validators clemensgg

View GitHub Profile

Keybase proof

I hereby claim:

  • I am clemensgg on github.
  • I am ccvtestuser (https://keybase.io/ccvtestuser) on keybase.
  • I have a public key ASAbwdaMUNLr94Q7SIngm9mcGdE9ofXQhcpmt8qsWAvwZQo

To claim this, I am signing this object:

#!/usr/bin/env python3
"""
Script to compare connected peers with the reference list
Author: David Pierret <dapie@cros-nest.com>
Copyright (c) 2025 Crosnest. All rights reserved.
"""
import requests
# JSON of connected peers
@clemensgg
clemensgg / pending_commitments.csv
Created November 23, 2025 15:37
Osmosis > Celestia pending IBC commitments
We can make this file beautiful and searchable if this error is corrected: It looks like row 5 should actually have 12 columns, instead of 8 in line 4.
sequence,transfer-hash,transfer-height,recv-packet-hash,recv-packet-height,ack-hash,ack-height,forward-receiver,forward-port,forward-channel,forward-timeout,forward-retries
1180116,43AE2BED404D8328517242097D3F657938D0A72C2DE9C88927F7D47807F6EE91,23392681,18D305DA596E46C4DC8FEDC4EB6F35C14E72C5877C3BCEFBB6B44158471E2DDD,2708987,,,astria13vptdafyttpmlwppt0s844efey2cpc0mevy92p,transfer,channel-48,10m,2
1180121,86B5073871B36831E25DA1C4CD7BFF6C372EF884CBF1C04FFDE49464E8945E3B,23392772,C5C7CB4138A8D15282A32AACAD3AC0C83A78D4F025FCDB2B003BDC470236EE57,2708999,,,astria13vptdafyttpmlwppt0s844efey2cpc0mevy92p,transfer,channel-48,10m,2
1180134,F60BBCBA73828C1622AB41E2C360E865028B2F5316C98C031034E2E9C69ACE21,23392986,FD3F212A452D9E46A719AB2FEB1E8B6C023F0B63022D45157C06E97D12AF146B,2709029,,,astria13vptdafyttpmlwppt0s844efey2cpc0mevy92p,transfer,channel-48,10m,2
1180155,417D3371E0669EB50A385E505DBBAFF1D6DFB744D805DC38F9692235DB48224A,23393245,19620233086CE4F1AC47B800821120E211094B8C176ECB0B53A3D0DD283D8CF4,2709064,,,astria1
#!/usr/bin/env bash
set -euo pipefail
# LCD base URL (first arg) or default to localhost
LCD="${1:-https://babylon.nodes.guru/api}"
PAGE_LIMIT=100
# Fetch total bonded tokens
TOTAL=$(curl -s "$LCD/cosmos/staking/v1beta1/pool" \
| jq -r '.pool.bonded_tokens')
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "prometheus",
"uid": "Prometheus"
},
"enable": true,
@clemensgg
clemensgg / ibc_spam.md
Last active June 26, 2024 14:55
IBC relayer spam
@clemensgg
clemensgg / democracy-docs.md
Last active June 19, 2024 13:51
democracy/ccvstaking docs

Democracy modules

This section is relevant for chains transitioning from a standalone chain and new consumer chains that require some functionality from the x/staking module.

The democracy modules comprise x/staking, x/distribution and x/governance modules with overrides and extensions required for normal operation when participating in interchain security.

The modules are plug-and-play and only require small wiring changes to enable them.

For a full integration check the consumer-democracy example app.

@clemensgg
clemensgg / flipside_queries.md
Last active June 13, 2024 08:50
Calculate Relayer TX Fee Totals

Default SDK Implementation

  1. List all fee denoms:
with ibc_msgs as (
    select
        l.tx_id
    from cosmos.core.fact_msg_attributes l
    where
        l.attribute_value like '/ibc.%'
 and l.attribute_value not like '%transfer%'
@clemensgg
clemensgg / pubkey-to-valcons.js
Created January 24, 2024 16:40
pubkeytovalcons
import crypto from 'crypto';
import bech32 from 'bech32';
const pubkey = "+hZsfi4r1OdyIgkZBbQgCDiADkQWlzN0iQ3Szr9+Dp8=";
const prefix = "odin";
function pubKeyToValcons (pubkey, prefix) {
const consensusPubkeyBytes = Buffer.from(pubkey,
'base64');
const sha256Hash = crypto.createHash('sha256').update(consensusPubkeyBytes).digest();
@clemensgg
clemensgg / hermes-aether-test-config.toml
Created January 17, 2024 15:45
Aether relayer configuration
[[chains]]
id = "provider"
event_source = { mode = "push", url = "...", batch_delay = "1000ms" }
rpc_addr = "..."
grpc_addr = "..."
trusted_node = true
rpc_timeout = "10s"
account_prefix = "cosmos"
key_name = "default"
store_prefix = "ibc"