Skip to content

Instantly share code, notes, and snippets.

View ccamel's full-sized avatar
🧙‍♂️
Coding for the commons, crafting for the curious.

Chris ccamel

🧙‍♂️
Coding for the commons, crafting for the curious.
View GitHub Profile
@ccamel
ccamel / axone_cognitarium_stats.sh
Last active March 5, 2025 16:49
One-liner sorcery to rip stats from the Axone Cognitarium smart contract (🔗 https://axone.xyz)
( export CONTRACT="axone1xa8wemfrzq03tkwqxnv9lun7rceec7wuhh8x3qjgxkaaj5fl50zsmj8u0n"; \
export NODE="https://axone-rpc.jayjayinfra.space/"; \
axoned \
--node "$NODE" \
query wasm contract-state smart "$CONTRACT" \
'{"store":{}}' \
-o json \
| jq -r '
.data.stat as $stat |
"Triples=" +
@ccamel
ccamel / axone-airdrop-fetch-pops.sh
Last active February 26, 2025 09:00
One-liner to conjure all Axone airdrop giga-chads — proof of participation on-chain (https://airdrop.axone.xyz)
( export NODE="https://api.dentrite.axone.xyz:443/rpc"; \
export CONTRACT="axone1xa8wemfrzq03tkwqxnv9lun7rceec7wuhh8x3qjgxkaaj5fl50zsmj8u0n"; \
export ISSUER="did:key:z6Mkp82tKskXNN2i9XaGH6ure3zmiUzsHikAtasneKsNqRpc"; \
export EPOCH_START="1740436200"; \
axoned query wasm contract-state smart \
"$CONTRACT" \
"$(jq -n --arg epochStart "$EPOCH_START" --arg issuer "$ISSUER" \
'{
"select": {
"query": {
@ccamel
ccamel / axone_wasm_scry.sh.sh
Created January 31, 2025 22:20
Bash sorcery to summon all WASM contracts from the Axone chain and unveil their real nature
#!/bin/bash
set -e -o pipefail
node="https://api.dentrite.axone.xyz:443/rpc"
contractInfoKey=$(echo -n "contract_info" | xxd -p -u) # 636F6E74726163745F696E666F (https://github.com/CosmWasm/cw-minus/blob/main/packages/cw2/README.md)
for code_id in $(
axoned query wasm list-code --node "$node" -o json \
| jq -r ".code_infos[].code_id"
); do
@ccamel
ccamel / bech32_convert.md
Last active February 27, 2025 19:39
A collection of handy one-liners leveraging the Axoned CLI for interacting with the Axone blockchain

Convert an Address from one HRP to another using Axoned's Logic 'ask' command

This one-liner converts an address from one HRP to another using Axoned's logic ask command.

(
  # Define the input address and target HRP
  addr='axone17sc02mcgjzdv5l4jwnzffxw7g60y5ta4zwy04g'
  to_hrp='stars'
@ccamel
ccamel / katAI-graph-wizard.sh
Last active October 4, 2024 12:13
Simple magical one-line bash command to graph KatAI contributions over time (https://katai.xyz)
( export NODE="https://api.dentrite.axone.xyz:443/rpc"; \
export CONTRACT="axone1xa8wemfrzq03tkwqxnv9lun7rceec7wuhh8x3qjgxkaaj5fl50zsmj8u0n"; \
axoned query wasm contract-state smart \
"$CONTRACT" \
'{
"select": {
"query": {
"prefixes": [],
"select": [
{ "variable": "date" }
@ccamel
ccamel / dependabot-approve.sh
Created September 15, 2024 16:12
A bash script to automatically approve and politely ask Dependabot to merge its own PRs, because I’m a bit lazy and happy to let the bots handle the hard part (if the CI behaves)!
#!/bin/bash
set -euo pipefail
REVIEWER=$(gh api user --jq '.login' 2>/dev/null)
APPROVAL_MESSAGES=(
"Dependency update approved! ✅"
"Nice upgrade, Dependabot! 🚀"
"LGTM on the upgrade! 👍"
"Ready to roll with this update! 😃"
"Dependencies look solid. 👌"
@ccamel
ccamel / plot-dendrite-1-onboarding.sh
Created September 2, 2024 08:19
dendrite-1 testnet validators onboarding
gh pr list \
--state closed \
--search "label:\"chain: ⛓️ dentrite-1\" label:register-validator sort:created-asc" \
--limit 150 --json "createdAt,mergedAt" \
--template '{{ printf "%s\n" "# date count" }}{{ range . }}{{ if .mergedAt }}{{ printf "%s %d\n" .createdAt 1}}{{ end }}{{ end }}' \
-R axone-protocol/networks \
| gnuplot \
-p \
-e 'set terminal dumb size 150, 30; set autoscale; set xdata time; set timefmt "%Y-%m-%dT%H:%M:%S"; set title "dendrite-1 Validators onboarding"; set xlabel "Date"; set ylabel "Count"; cumulative_sum(x)=(count=count+x,count); count=0; plot "-" using 1:(cumulative_sum($2)) title "" with lines;'
@ccamel
ccamel / plot-druid-registration.sh
Last active December 5, 2022 10:58
nemeton-1 druid registration progress
gh pr list \
--search "label:register-validator sort:created-asc" \
--limit 150 --json "createdAt" \
--template '{{ printf "%s\n" "# date count" }}{{ range . }}{{ printf "%s %d\n" .createdAt 1}}{{ end }}' \
-R okp4/networks \
| gnuplot \
-p \
-e 'set terminal dumb size 150, 30; set autoscale; set xdata time; set timefmt "%Y-%m-%dT%H:%M:%S"; set title "Druids registration"; set xlabel "Date"; set ylabel "Count"; cumulative_sum(x)=(count=count+x,count); count=0; plot "-" using 1:(cumulative_sum($2)) title "" with lines;'
@ccamel
ccamel / #my-configuration-files.md
Last active January 6, 2025 21:48
🗂 My various configuration files

Various configuration files for my working environment

Note

My configuration files have retired gracefully and found a new home at chez-ccamel. They’re now managed with the delightful chezmoi config tool.

@ccamel
ccamel / dsm-event.md
Last active September 15, 2024 16:23
The Daily Sync: A 15-Minute Power-Up for the TechTeam

15-minutes time-boxed event by the TechTeam for the TechTeam in order to synchronize activities for the next 24 hours.

Few commandments:

📆 Be on time.

It's a mandatory meeting that the entire TechTeam needs to attend

⏳ Keep it short.

10 to 15 minutes