Skip to content

Instantly share code, notes, and snippets.

@billythedummy
billythedummy / float_to_atomics.py
Last active December 30, 2024 09:51
float_to_atomics.py
# float_to_atomics(39.8319163, 9) = '39831916300'
# Does not handle integers e.g. 5000
def float_to_atomics(n, atomics=9):
[w, d] = str(n).split(".")
if len(d) > atomics:
raise f"{n} atomics > {atomics}"
return "".join([w, d.ljust(atomics, '0')])
@billythedummy
billythedummy / base64_to_base58.py
Created November 29, 2024 08:57
base64_to_base58.py
import base58
import base64
B64 = "<BASE64-STRING-TO-CONVERT>"
base58.b58encode(base64.b64decode(B64))
@billythedummy
billythedummy / create-tokenkeg-mint-with-seed.py
Last active February 17, 2025 16:00
create-tokenkeg-mint-with-seed.py
'''
Tested with:
- solana==0.34.3
- solders==0.21.0
Pre-requisites:
- grind out desired pubkey with base set to BASE and owner set to tokenkeg program
using a tool like https://github.com/cavemanloverboy/vanity
- set PAYER const to path to signing keypair file
- set BASE const to path to signing keypair file that the pubkey is derived from
- set MINT to desired pubkey and SEED to found seed
@billythedummy
billythedummy / run-with-ts-node.ts
Last active March 4, 2024 22:21
solana realms.today (spl-governance) ts script to generate base64-encoded custom instruction
import { type TransactionInstruction } from "@solana/web3.js";
import { serializeInstructionToBase64 } from "@solana/spl-governance";
const IX: TransactionInstruction = ...; // TODO by user
console.log(serializeInstructionToBase64(IX));
@billythedummy
billythedummy / notes.md
Last active June 28, 2022 13:00
building solana tool suite for aarch64
@billythedummy
billythedummy / windows-git-bash-is-stupid.md
Last active January 22, 2024 06:11
Windows git bash is stupid

Problem

Assuming you've installed git with default settings on Windows 10, and you have your ssh keys in ~/.ssh (where ~ expands to something like C:/Users/user) as something like id_rsa and id_rsa.pub, you'll be unable to use the git bash to clone repos with git clone [email protected]:user/project.git. The git bash will always output some error log like

Cloning into 'project'...
\302\226\302\[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights