This repository contains organization-wide configuration, templates, and utilities for blockchain-related operations.
- Git Key-Pairs Guide - Comprehensive overview of SSH and GPG key-pairs for Git authentication and commit signing
- Connecting to GitHub with SSH - Complete guide for setting up SSH authentication with GitHub
- GPG Key Management - Comprehensive guide for managing GPG keys, signing commits, and refreshing keys from keyservers
- Git POW Verification - Verify Git commit signatures using GPG with secure practices
- Cryptocurrency Consolidation - Automated workflows for safely consolidating crypto assets to kushmanmb.base.eth
- Transaction Hash Verification - Verify blockchain transaction hashes with private data protection using .gitignore
- Address Labels Configuration - Best practices for configuring blockchain address labels and metadata
- Blockchain JSON-RPC Server - JSON-RPC 2.0 server for blockchain transaction operations (Electrum protocol)
- Multisig Wallet ABI - Documentation for Ethereum multisignature wallet smart contract
- Etherscan Token Balance API - Guide for querying ERC-20 token balances using Etherscan API v2
- Bitcoin Difficulty Adjustment API - Example HTML page for fetching Bitcoin difficulty adjustment data using mempool.space API
- Bash Configuration - Custom bash functions including foundryup (Foundry installer), cwhois (bgp.tools whois wrapper), and lastcall (Ethereum address transaction query)
- git_pow_verifier.py - Verify Git commit signatures using GPG (Proof of Work verification)
- verify_tx_hash.py - Verify blockchain transaction hashes (Ethereum and Bitcoin formats)
- blockchain_rpc_server.py - JSON-RPC server for blockchain.transaction.get_merkle
- blockchain_rpc_client.py - Client for testing the JSON-RPC server
- api-test.sh - Simple script to test Etherscan API v2 endpoint connectivity
- query-token-balance.sh - Bash script for querying token balances
- query-token-balance.py - Python script for querying token balances
- query-token-balance.js - JavaScript/Node.js script for querying token balances
- validate-address-labels.py - Python script for validating address labels configuration
- address-labels.json - Address labeling configuration with metadata
- address-labels.example.json - Example address labels configuration with multiple entries
- address-labels.schema.json - JSON schema for address labels validation
- blockchain-address.json - Blockchain address information
- multisig-wallet.abi.json - ABI definition for multisig wallet contract
- mempool-difficulty-adjustment.html - HTML example for fetching Bitcoin difficulty adjustment data
⚠️ Security Warning: Never commit API keys, private keys, or sensitive credentials to version control. Use environment variables or gitignored local configuration files. See Security Best Practices for detailed guidance.
Verify Git commit signatures using GPG to ensure commit authenticity:
# Verify a single commit (current HEAD)
./git_pow_verifier.py --commit HEAD
# Verify a specific commit by SHA
./git_pow_verifier.py --commit abc123def456
# Verify multiple commits from a file
./git_pow_verifier.py --file commits-example.json
# Output as JSON with details
./git_pow_verifier.py --commit HEAD --json --pretty --infoPrivate Data Protection: Verification configuration files are automatically excluded from version control using .gitignore patterns. Store sensitive verification policies in:
verification-data/directorycommits.jsonfiles (not example files)verification-config.*files
For detailed usage and GPG setup, see GIT_POW_VERIFICATION.md.
Verify blockchain transaction hashes with automatic protection for private data:
# Verify a single transaction hash (Ethereum format)
./verify_tx_hash.py --hash 0x0000000000000000000000000000000000000000000000000000000000000000
# Verify a Bitcoin transaction hash
./verify_tx_hash.py --hash 08901b81e39bc61d632c93241c44ec3763366bd57444b01494481ed46079c898
# Verify multiple hashes from a file
./verify_tx_hash.py --file tx-hashes-example.json
# Output as JSON
./verify_tx_hash.py --hash 0x000...000 --json --prettyPrivate Data Protection: Transaction data files are automatically excluded from version control using .gitignore patterns. Store sensitive transaction data in:
tx-data/directorytx-hashes.jsonfiles (not example files)transaction-data.*files
For detailed usage and examples, see TX_HASH_VERIFICATION.md.
Start a JSON-RPC server for blockchain transaction operations:
# Start the server (default: 127.0.0.1:8332)
python3 blockchain_rpc_server.py
# Test with the client
python3 blockchain_rpc_client.py \
--tx 08901b81e39bc61d632c93241c44ec3763366bd57444b01494481ed46079c898 \
--height 172165 \
--pretty
# Or test with curl
curl -X POST http://127.0.0.1:8332 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "blockchain.transaction.get_merkle",
"params": ["08901b81e39bc61d632c93241c44ec3763366bd57444b01494481ed46079c898", 172165]
}'For detailed usage and API documentation, see BLOCKCHAIN_RPC.md.
You can query ERC-20 token balances for any Ethereum address using the provided scripts.
./query-token-balance.sh --apikey YOUR_API_KEY./query-token-balance.py --apikey YOUR_API_KEY --prettynode query-token-balance.js --apikey YOUR_API_KEY --prettycurl --request GET \
--url https://api.etherscan.io/v2/apiOr use the provided test script:
./api-test.shcurl "https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokenbalance&address=0x983e3660c0bE01991785F80f266A84B911ab59b0&page=1&offset=100&apikey=YourApiKeyToken"For detailed usage and examples, see ETHERSCAN_TOKEN_BALANCE.md.
Manage and validate blockchain address labels with metadata:
# Validate address labels configuration
python3 validate-address-labels.py address-labels.json
# Use the example configuration as a template
cp address-labels.example.json my-labels.json
# Edit my-labels.json with your addresses
python3 validate-address-labels.py my-labels.jsonThe address labels configuration follows Etherscan API response format and supports:
- Address identification and categorization
- Custom labels and reputation scores
- URL associations for projects and organizations
- JSON schema validation
For detailed documentation, see ADDRESS_LABELS.md.
View Bitcoin network difficulty adjustment data using the mempool.space API:
# Open the HTML file in your browser
open mempool-difficulty-adjustment.html
# Or on Linux:
xdg-open mempool-difficulty-adjustment.htmlThe page will automatically fetch and display current Bitcoin difficulty adjustment information including progress percentage, difficulty change, estimated retarget date, and remaining blocks.
For detailed usage and API documentation, see MEMPOOL_DIFFICULTY.md.
Automated workflows for safely consolidating crypto assets across multiple chains:
# Monitor balances across all chains
gh workflow run balance-monitor.yml
# Consolidate funds (dry run first)
gh workflow run crypto-consolidation.yml \
--field sourceChain=base \
--field amount=1.0 \
--field dryRun=true
# Verify a transaction after consolidation
gh workflow run tx-verification.yml \
--field txHash=0x... \
--field chain=baseTarget Consolidation Address: kushmanmb.base.eth
The consolidation system supports:
- Multi-chain balance monitoring (Ethereum, Base, Polygon, Arbitrum, Optimism)
- Secure transaction workflows with multi-signature approval
- Automated verification and audit trails
- Gas optimization strategies
For detailed setup and usage instructions, see CRYPTO_CONSOLIDATION.md.
- Primary Consolidation Address:
kushmanmb.base.eth - Token Balance Query Address:
0x983e3660c0bE01991785F80f266A84B911ab59b0 - Multisig Wallet Owner:
0x6B834a2f2a24ae7e592AA0843aa2bDF58157bee7 - Labeled Address (kushmanmb10):
0xa9d1e08c7793af67e9d92fe308d5697fb81d3e43
- Code of Conduct
- Contributing Guide
- Support
- Security Policy
- Security Best Practices - Guidelines for protecting API keys and sensitive data
- Funding Information
The workflow-templates/ directory contains GitHub Actions workflow templates for:
- JavaScript/TypeScript Projects: Build, lint, and test workflows (Node.js)
- Go Projects: Build, lint, and test workflows with Makefile support (for repositories like ethpandaops/eth-beacon-genesis)
- Ruby Projects: Build, lint, and test workflows with Bundler support
- Cryptocurrency Operations: Balance monitoring and consolidation workflows
- Release creation and publishing
See individual files for licensing information.