I hereby claim:
- I am prestwich on github.
- I am frdwrd (https://keybase.io/frdwrd) on keybase.
- I have a public key whose fingerprint is 46D3 0F12 AEF7 DB4F 306F 65DF 519E 010A 7902 8CCC
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
Verifying that +prestwich is my blockchain ID. https://onename.com/prestwich
from riemann import simple | |
outpoint = simple.outpoint(tx_id, index) | |
# Spend a P2PKH output: | |
tx_ins = [simple.unsigned_input(outpoint)] | |
# Spend a P2SH output | |
tx_ins += [simple.unsigned_input( | |
outpoint=outpoint, |
import riemann | |
from riemann.encoding import addresses | |
# Switch to Litecoin | |
riemann.select_network('litecoin_main') | |
addresses.make_p2pkh_address(pubkey_bytes) | |
# Switch to Bitcoin Cash | |
riemann.select_network('bitcoin_cash_main') | |
addresses.make_p2pkh_address(pubkey_bytes) |
from riemann.script import serialization | |
p2pkh_pk_script = 'OP_DUP OP_HASH160 {} OP_EQUALVERIFY OP_CHECKSIG' | |
script = p2pkh_script.format(pubkey_hash_hex) | |
stack_script = '{} {}'.format(sig_hex, pubkey_hex) | |
stack_script = serialization.serialize(stack_script) |
import riemann | |
from riemann import networks | |
from riemann.script import examples | |
from riemann.encoding import addresses | |
pubkey_0 = '00' * 33 | |
pubkey_1 = '11' * 33 | |
msig = examples.msig_two_two | |
msig = msig.format(pk0=pubkey_0, pk1=pubkey_1) |
# I do not recommend using pyethereum, as it is broken on windows | |
# I do not recommend web3.py as it sucks :) | |
# $ pip install eth_abi | |
# $ pip install pycryptodomex | |
import json | |
import eth_abi | |
from Cryptodome.Hash import keccak |
// This is an alpha contract designed to be proxied | |
// It is NOT production ready | |
contract Nonfungiblizer { | |
bool initDone; | |
address owner; | |
address asset; | |
uint256 value; |
import riemann | |
from riemann import simple, utils | |
from riemann.encoding import addresses as addr | |
riemann.select_network('zcash_sapling_main') | |
# Needs a 32 byte hash, alice's pubkey, a timeout, and bob's pubkey | |
htlc_redeem_script = ( | |
'OP_IF ' |
Bitcoin legacy transactions (and Zcash transparent sends) use "ScriptSigs" to prove authorization. A ScriptSig contains the user's signature andm maybe some other information. They let the protocol check that the tx came from someone allowed to spend those Bitcoin. Most users never interact with them directly, and with the advent of SegWit, they're slowly being phased out of Bitcoin. But it's still worth knowing how they work.