Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am gregdhill on github.
  • I am gregdhill (https://keybase.io/gregdhill) on keybase.
  • I have a public key ASAHrMRF7KSlX2ItCUv8T6iTVcuHD4CsV5WlGI8TNiefawo

To claim this, I am signing this object:

@gregdhill
gregdhill / kgn.sh
Created October 24, 2018 13:27
Point to your kube context's namespace.
kgn () {
current_namespace=$(kubectl config get-contexts --no-headers | awk '{print $5}')
kubectl get namespaces | awk '{if ($0 ~ /'"$current_namespace"'/) { print $0, "\t<-----" } else { print $0 }}'
}
@gregdhill
gregdhill / pi-display.sh
Last active November 18, 2018 10:08
Raspberry Pi Display
#!/bin/bash
# Instructions
# ------------
# 1) Install Raspbian w/ LXDE
# 2) Boot Image
# 3) Configure Auto-Login
# 4) `curl ${RAW_GIST_URL} | bash`
# 5) Reboot & Attach Media
@gregdhill
gregdhill / secret-santa.sh
Created December 3, 2018 10:11
Bash script to automate a secret santa name draw.
#! /bin/bash
# Instructions:
# Create two files names 'emails' and 'names'.
# Add your friends!
# Run this script in a terminal: `./secret-santa.sh`
is_mixed () {
while read -r a && read -r b <&3;
do
@gregdhill
gregdhill / docker-compose.yaml
Created February 18, 2020 10:39
Multi-Node Burrow Chain
# burrow spec -v4 | burrow configure -s- --pool --json
# jq 'del(.Logging)' burrow000.json > burrow.tmp && mv burrow.tmp burrow000.json
# jq 'del(.Logging)' burrow001.json > burrow.tmp && mv burrow.tmp burrow001.json
# jq 'del(.Logging)' burrow002.json > burrow.tmp && mv burrow.tmp burrow002.json
# jq 'del(.Logging)' burrow003.json > burrow.tmp && mv burrow.tmp burrow003.json
version: '3'
services:
node1:
image: &burrow hyperledger/burrow:0.29.8
@gregdhill
gregdhill / burrow.toml
Created March 6, 2020 15:01
Hyperledger Global Forum (2020) - Workshop
BurrowDir = ".burrow"
[GenesisDoc]
GenesisTime = 2020-03-04T17:18:48Z
ChainName = "BurrowChain_365586"
[GenesisDoc.Params]
ProposalThreshold = 3
[GenesisDoc.GlobalPermissions]
[GenesisDoc.GlobalPermissions.Base]
Perms = "send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | hasRole"
import AppBtc from "@ledgerhq/hw-app-btc";
import Transport from '@ledgerhq/hw-transport-u2f';
import * as bitcoin from 'bitcoinjs-lib';
import {toBufferLE} from 'bigint-buffer';
const OPEN_TIMEOUT = 10000;
const LISTENER_TIMEOUT = 300;
const NETWORK = bitcoin.networks.testnet;
async function main() {
@gregdhill
gregdhill / log.txt
Created March 9, 2021 07:31
jsonrpsee-v1 background https conn over ws
Finished dev [unoptimized + debuginfo] target(s) in 0.38s
Running `target/debug/vault --bitcoin-rpc-url 'http://localhost:18332' --bitcoin-rpc-user rpcuser --bitcoin-rpc-pass rpcpassword --keyfile keyfile.json --keyname polkabtcvault --auto-register-with-faucet-url 'https://beta.polkabtc.io/api/faucet' --polka-btc-url 'wss://beta.polkabtc.io/' --network=testnet`
[2021-03-09T07:31:10Z INFO vault] Command line arguments: Opts { polka_btc_url: "wss://beta.polkabtc.io/", http_addr: "[::0]:3031", rpc_cors_domain: "*", auto_register_with_collateral: None, auto_register_with_faucet_url: Some("https://beta.polkabtc.io/api/faucet"), no_auto_auction: false, no_auto_replace: false, no_startup_collateral_increase: false, no_issue_execution: false, no_api: false, max_collateral: 1000000, collateral_timeout_ms: 5000, btc_confirmations: None, account_info: ProviderUserOpts { keyring: None, keyfile: Some("keyfile.json"), keyname: Some("polkabtcvault") }, bitcoin: BitcoinOpts { bitcoin_rpc_url: "http://localhost:183
@gregdhill
gregdhill / config.json
Created April 8, 2021 13:32
Polkadot Launch Config - BTC-Parachain
{
"relaychain": {
"bin": "./bin/polkadot",
"chain": "rococo-local",
"nodes": [
{
"name": "alice",
"wsPort": 9944,
"port": 30444
},
@gregdhill
gregdhill / staking.py
Last active June 25, 2021 13:46
Staking Distribution
class StakingDistribution:
def __init__(self):
self.total_stake = 0
self.reward_per_token = 0
self.stake = {}
self.reward_tally = {}
self.total_current_stake = 0
self.slash_per_token = 0
self.slash_tally = {}