Skip to content

Instantly share code, notes, and snippets.

@kdmukai
kdmukai / README.md
Last active October 1, 2024 17:46
SeedSigner "firmware" isn't what you think it is

SeedSigner "firmware" isn't what you think it is

On Rabbit Hole Recap #320, ODELL said:

"If you are using a SeedSigner in single sig you have to make sure that that device never leaves your sight. If someone gets access to it, they can put malicious firmware on it. [...] And this idea that you're going to share it among communities in single sig is batshit crazy. That is not a good trust model."

This was a few weeks back. Things have gotten spicier since.

My goal here is to LOWER the temperature.

@kdmukai
kdmukai / README.md
Last active August 17, 2024 12:40
SeedSigner v0.8.0 Release Notes

SeedSigner v0.8.0 Release Notes


Quick Highlights:

Addtional legacy signing support:

  • P2PKH (bip44): Legacy format dating back to 2014.
  • P2SH multisig (bip45): Legacy multisig (also 2014).
@kdmukai
kdmukai / README.md
Last active September 22, 2024 13:20
Run Proxmox Backup Server (PBS) on a Proxmox VE host

Run Proxmox Backup Server (PBS) on a Proxmox VE host

Rather than set up even more infrastructure, I run Proxmox Backup Server on the same machine that's running a Proxmox VE host.

Install Proxmox Backup Server

Open a shell on your Proxmox VE host. We'll be installing PBS alongside Proxmox VE at the OS level. We will NOT run PBS inside a container.

@kdmukai
kdmukai / README.md
Last active June 16, 2024 01:56
Create basic Proxmox Debian 12 CT

Create new CT

General

  • CT ID: I keep these sequential and mappable to their LAN ip (e.g.: CT ID 201 -> 19.2.168.1.201)
  • Hostname: what Proxmox will call it (e.g. "bitcoind")
  • Password: VM's root password

Template

Use the standard Debian 12 template. If you haven't already downloaded it:

@kdmukai
kdmukai / README.md
Last active September 13, 2024 06:16
Create a Bitcoin Core node in Proxmox

Create a Bitcoin Core Node CT in Proxmox

Create the CT:

  • Debian 12 image
  • 4GB system disk in local-lvm
  • 6GB RAM, 0 swap

Add a data disk mount point

In the CT's "Resources" > "Add" > "Mount point":

  • Storage: "Directory" disk from above
@kdmukai
kdmukai / bip352_bip39_tests.json
Created May 16, 2024 00:47
SeedSigner BIP-352 Silent Payments test vectors
[
{
"mnemonic": "initial tilt corn easily leave weather strategy return topple gesture sad day",
"coin_type": 1, // testnet
"payment_addr": "tsp1qqfvn9pmvmz0ewpnp7w302lxqmnue2kgtpne2p38nuunun883sw36yq48ny7n2jl0nx9ljhmdnrgvpee6aufmg9wfvqfcr6c02at6r4u4xsegph7a",
"scanning_pubkey": "tpubDGKfZBg8TCWpqcESqPXfCpNxVwHcsDEH1cfGFrQR4ZTGJwtTDveKWvkyZjbMg95W68bbPeDwHj3YY6xZaRvpDMt7noL6GjvstTKwqQqjzfe",
"signing_privkey": "tprv8k426VmqsFqWYycmJQxDqzFN9iaz15uB5k1vtWtgTCb5oWzWEGJFE1VnKjZFzomKiszEFBgrMLRixhqy5iBVY4gCn2UbU7TimV22mMWqMT2",
},
{
"mnemonic": "tongue vanish post gentle fever figure kangaroo select infant blur phrase relief",
@kdmukai
kdmukai / README.md
Last active June 28, 2024 19:43
Keith's Proxmox Notes
@kdmukai
kdmukai / README.md
Last active February 12, 2024 00:18
How to generate vanity seed fingerprints, bitcoin addresses, and txids

How to generate vanity seed fingerprints, bitcoin addresses, and txids

Note: This is all just for educational / fun purposes. Do not use this code to generate a real seed that you intend to store real value on!!

Setup

Create a python3 virtualenv and install the one dependency:

pip install embit
@kdmukai
kdmukai / example.py
Last active January 24, 2024 15:44
Extract and reuse outputs from a psbt using `embit`
from binascii import a2b_base64, unhexlify
from copy import deepcopy
from io import BytesIO
from embit.networks import NETWORKS
from embit.psbt import PSBT, OutputScope
# one input, one external recipient + change
psbt_base64 = "cHNidP8BAHECAAAAAU4T/0aX9mmNZHyKh+0AHYY+EtdJxndMRra0gn4QPCZdAQAAAAD9////Auj88QUAAAAAFgAUrME0Bwnpt7q+/5IYBvBXDGUr0FiQ0AMAAAAAABYAFGc8e3PH4CM45A3Z1h7cB0AEaAmTcAAAAE8BBDWHzwNXmUmVgAAAANRFa7R5gYD84Wbha3d1QnjgfYPOBw87on6cXS32WoyqAsPFtPxB7PRTdbujUnBPUVDh9YUBtwrl4nc0OcRNGvIyEA+4gv9UAACAAQAAgAAAAIAAAQCIAgAAAAHVNy3baqUJbmJM5kN9epW7oIqXB1O2s+Fs8julxND8ZQEAAAAXFgAUI+kCxhZQ0mdMSs6OSgKGdDKUanr9////As0uGh4BAAAAFgAUjiVTkQBkiXD8ylfqveCHXOprMQ4A4fUFAAAAABYAFFiMuj7Djc1P7mvOA8I27Lv2VmMObgAAAAEBHwDh9QUAAAAAFgAUWIy6PsONzU/ua84Dwjbsu/ZWYw4BAwQBAAAAIgYC9duqeSZYNc80SQfOc/SXZUUWqXZamBfjbIPdn18lj/cYD7iC/1QAAIABAACAAAAAgAAAAAADAAAAACICAiwV79CMgipih/G0K2ww7M7UfxxUhMPn1y52gKMFiT0nGA+4gv9UAACAAQAAgAAAAIABAAAAAAAAAAAA"
psbt = PSBT.parse(a2b_base64(psbt_base64))
@kdmukai
kdmukai / README.md
Last active June 20, 2024 12:35
Create a mempool.space instance in Proxmox

Create a mempool.space instance in Proxmox

Assumes you've already set up a bitcoind and Fulcrum instance.

Create the CT

  • Debian 12 image
  • 4 CPU cores
  • 8GB disk in local-lvm
  • 4096 MB RAM, 0 MB swap