Skip to content

Instantly share code, notes, and snippets.

@AshwinSekar
AshwinSekar / check-tvc-votes.sh
Last active September 28, 2024 09:37
Check the current status of the TVC proposal on mainnet
#!/bin/bash
export LC_NUMERIC="en_US.UTF-8"
RPC_URL="https://api.mainnet-beta.solana.com"
MINT="tvcUX2gkQWsPYK2Uq7DeuX9ZJTFF9V3BGJ2isfLMgrg"
YES_ACCT="5ByopEuFqdd1AvXc6czKu6JQkCXdbWJwFMc4Bxe2dgYQ"
NO_ACCT="AhaUueUXYWEuksQdAJMjvjPGAbjnXhYdk2ZrBVtNA9YT"
ABSTAIN_ACCT="AYHPwv8WSNBKYStSQJ7NfgtWxMPz5WSw3MeDtc2Pww5r"
function fetch_vote_token_balance() {
if migration_status.is_ready_to_enable() && bank_forks.read().unwrap().is_bank_frozen(migration_status.genesis_block()) {
let genesis_bank = bank_forks.read().unwrap().get(migration_status.genesis_slot());
// Reset poh to the genesis block. This has to be done first before we can clear banks to
// avoid any inflight issues with transaction recording.
Self::reset_poh_recorder(
my_pubkey,
blockstore,
genesis_bank,
poh_controller,
@AshwinSekar
AshwinSekar / ag-community-cluster.md
Last active October 8, 2026 19:33 — forked from tigarcia/ag-community-cluster.md
Alpenglow Community Cluster Setup Instructions 9/4

The Alpenglow community cluster is ready for validators to join! The cluster is currently waiting for super majority to start. Validators will likely join over the next few days.

If you are a part of the initial genesis set please follow these instructions. If you are not part of the genesis set, follow https://docs.anza.xyz/operations/setup-a-validator#create-a-vote-account to create a vote account once the cluster has been started.

Operators should do the following to join the cluster:

  1. IMPORTANT: Stop any existing validator process and delete the ledger directory from the previous cluster run

  2. Checkout the v4.3.0 agave tag or v4.3.0-jito jito tag from the official github:

@AshwinSekar
AshwinSekar / gist:b26d2c30e39ba6a5e2cd9d0d7447f7ea
Last active June 1, 2026 23:45
Setting the BLS pubkey for existing or new validators

As part of alpenglow, all vote accounts must now specify a BLS Pubkey on their vote account. This is derived from your authorized voter keypair.

Remember to target the Alpenglow community cluster with these commands (specify -u http://64.130.37.11:8899)

NOTE about the VAT (validator admission ticket)

In alpenglow you no longer have to pay vote tx fees out of your identity account. Instead you will be charged 1.6 sol per epoch from your vote account.

If you do not have your BLS pubkey set, have 0 stake, or are missing the funds to pay the VAT, you will be unable to vote in the subsequent epoch,

e.g. at the start of epoch 5 your BLS pubkey & stake are checked and you are charged 1.6 sol for the privilege to vote and build blocks in epoch 6.

@AshwinSekar
AshwinSekar / restart.md
Last active September 8, 2026 14:27
Restarting community cluster 9/8

2026-09-08: Restart

The cluster was intentionally halted to test rollback from Alpenglow to TowerBFT.

Ensure that you have built agave-ledger-tool

# Agave
git clone -b v4.3.0-beta.5 https://github.com/AshwinSekar/solana.git agave
cd agave/
@AshwinSekar
AshwinSekar / check-bls-pubkey.sh
Created June 8, 2026 18:31
Check cluster to see what % of stake has set their BLS pubkey
#!/usr/bin/env bash
set -euo pipefail
SOLANA_BIN="${SOLANA_BIN:-$HOME/agave/bin/solana}"
RPC_URL="${RPC_URL:-l}"
shopt -s expand_aliases
alias solana="$SOLANA_BIN -u $RPC_URL"

2026-09-11: Restart

The cluster was intentionally halted to deactivate some features and test an Alpenglow -> Alpenglow restart.

Upgrade to the most recent official release

# Agave
git clone -b v4.3.0-rc.1 https://github.com/anza-xyz/agave agave
cd agave/