Ukázky kódu

Vybrané části jednoduchých skriptů -někdy i lehce detailněji
Začínáme čistě Linuxovým shellem, postupně je něco i v Pythonu nebo Go.

HASH (SHA256)

http://www.abclinuxu.cz/clanky/decentralizovana-kryptomena-bitcoin
2011 – psáno pro Linuxáky a trochu programátory

 ~$ echo -n „AgamaPoint“ | sha256sum  
 29b5a9c21f25fcc7c015fee558aa15dd28341487e76ac744583adb37eda1e2f7 

Hledání „nonce“ jako základ miningu (proof of work), jako hledání „malého čísla“ HASHe (začíná několika nulami, podle obtížnosti):

 ~$ i=0; while ! (echo -n "Agama Point $i" | sha256sum | tr -d "\n"; echo " (nonce=$i)")|grep -E "^00"; do let i++; done
 
(chvíle počítání) 

00999ac48b71fc267a67f78bb379d554020d062343d344269d62d4b9f55b90b1  - (nonce=263)  


.:.


ssss – Shamir’s Secret Sharing Scheme

K dešifrování zprávy, potřebujeme alespoň t klíčů z n vygenerovaných.

 ~$ sudo apt install ssss

...

 ~$ ssss-split -t 3 -n 5
Generating shares using a (3,5) scheme with dynamic security level.
 Enter the secret, at most 128 ASCII characters: Using a 144 bit security level.
 1-ba1e20615599c30c26b6827e8646a9197d48
 2-136052b42a8d1dfc73706718be73da51181e
 3-c51f643028f8ed820561cc1ae7211245b714
 4-dd9f3b224b0557a528d9d43752d3ba62146b
 5-0be00da64970a7db5ec87f350b817276bb73

...

~$ ssss-combine -t 3
 Enter 3 shares separated by newlines:
 Share [1/3]: 1-ba1e20615599c30c26b6827e8646a9197d48
 Share [2/3]: 3-c51f643028f8ed820561cc1ae7211245b714
 Share [3/3]: 5-0be00da64970a7db5ec87f350b817276bb73
 Resulting secret: kobyla ma maly bok

Transaction

Input: Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6 Index: 0 scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10 90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501 
Output: Value: 5000000000 scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d OP_EQUALVERIFY OP_CHECKSIG 

BIP / Python

https://github.com/blockstack/pybitcoin
https://pypi.org/project/python-bitcoin-tools/
https://github.com/petertodd/python-bitcoinlib

>>>

sr-gi/bitcoin_toolshttps://github.com/sr-gi/bitcoin_tools (má i testnet)

>>>



zdroj BTC „core“ na githubu: https://github.com/bitcoin/bitcoin


Bitcoin in Go: https://github.com/btcsuite