Mastering Bitcoin

Mastering Bitcoin


Apéndice C: pycoin, ku, y tx

Página 95 de 98

Apéndice C: pycoin, ku, y tx

La librería Python pycoin, originalmente escrita y mantenida por Richard Kiss, es una librería basada en Python que soporta manipulación de transacciones y llaves bitcoin, incluso soportando suficientemente el lenguaje de scripting para lidiar apropiadamente con transacciones no estándar.

La librería pycoin soporta ambas Python 2 (2.7x) y Python 3 (después de la 3.3), y viene con varias utilidades de linea de comandos, ku y tx.

Utilidad de claves (KU)

La utilidad de linea de comando ku («key utility») es una navaja suiza para manipular llaves. Soporta llaves BIP32, WIF y direcciones (bitcoin y altcoins). Enseguida se ven algunos ejemplos.

Crear una clave BIP32 utilizando las fuentes de entropía por defecto de GPG y /dev/random:

$ ku create

input : create

network : Bitcoin

wallet key : xprv9s21ZrQH143K3LU5ctPZTBnb9kTjA5Su9DcWHvXJemiJBsY7VqXUG7hipgdWaU

m2nhnzdvxJf5KJo9vjP2nABX65c5sFsWsV8oXcbpehtJi

public version : xpub661MyMwAqRbcFpYYiuvZpKjKhnJDZYAkWSY76JvvD7FH4fsG3Nqiov2CfxzxY8

DGcpfT56AMFeo8M8KPkFMfLUtvwjwb6WPv8rY65L2q8Hz

tree depth : 0

fingerprint : 9d9c6092

parent f'print : 00000000

child index : 0

chain code : 80574fb260edaa4905bc86c9a47d30c697c50047ed466c0d4a5167f6821e8f3c clave privada: sí

secret exponent :

112471538590155650688604752840386134637231974546906847202389294096567806844862

hex : f8a8a28b28a916e1043cc0aca52033a18a13cab1638d544006469bc171fddfbe wif : L5Z54xi6qJusQT42JHA44mfPVZGjyb4XBRWfxAzUWwRiGx1kV4sP

uncompressed : 5KhoEavGNNH4GHKoy2Ptu4KfdNp4r56L5B5un8FP6RZnbsz5Nmb

public pair x :

76460638240546478364843397478278468101877117767873462127021560368290114016034

public pair y :

59807879657469774102040120298272207730921291736633247737077406753676825777701

x as hex : a90b3008792432060fa04365941e09a8e4adf928bdbdb9dad41131274e379322

y as hex : 843a0f6ed9c0eb1962c74533795406914fe3f1957c5238951f4fe245a4fcd625

y parity : odd

par de claves como sec :

03a90b3008792432060fa04365941e09a8e4adf928bdbdb9dad41131274e379322

uncompressed : 04a90b3008792432060fa04365941e09a8e4adf928bdbdb9dad41131274e379322

843a0f6ed9c0eb1962c74533795406914fe3f1957c5238951f4fe245a4fcd625

hash160 : 9d9c609247174ae323acfc96c852753fe3c8819d

uncompressed : 8870d869800c9b91ce1eb460f4c60540f87c15d7

Bitcoin address : 1FNNRQ5fSv1wBi5gyfVBs2rkNheMGt86sp

uncompressed : 1DSS5isnH4FsVaLVjeVXewVSpfqktdiQAM

Crear una clave BIP32 desde una contraseña:

La contraseña en este ejemplo es muy facil de adivinar.

$ ku P:foo

input : P:foo

network : Bitcoin

clave de cartera : xprv9s21ZrQH143K31AgNK5pyVvW23gHnkBq2wh5aEk6g1s496M8ZMjxncCKZKgb5j ZoY5eSJMJ2Vbyvi2hbmQnCuHBujZ2WXGTux1X2k9Krdtq

public version : xpub661MyMwAqRbcFVF9ULcqLdsEa5WnCCugQAcgNd9iEMQ31tgH6u4DLQWoQayvtS

VYFvXz2vPPpbXE1qpjoUFidhjFj82pVShWu9curWmb2zy

tree depth : 0

fingerprint : 5d353a2e

parent f'print : 00000000

child index : 0

chain code : 5eeb1023fd6dd1ae52a005ce0e73420821e1d90e08be980a85e9111fd7646bbc clave privada : sí

secret exponent :

65825730547097305716057160437970790220123864299761908948746835886007793998275

hex : 91880b0e3017ba586b735fe7d04f1790f3c46b818a2151fb2def5f14dd2fd9c3

wif : L26c3H6jEPVSqAr1usXUp9qtQJw6NHgApq6Ls4ncyqtsvcq2MwKH

uncompressed : 5JvNzA5vXDoKYJdw8SwwLHxUxaWvn9mDea6k1vRPCX7KLUVWa7W

public pair x :

81821982719381104061777349269130419024493616650993589394553404347774393168191

public pair y :

58994218069605424278320703250689780154785099509277691723126325051200459038290

x as hex : b4e599dfa44555a4ed38bcfff0071d5af676a86abf123c5b4b4e8e67a0b0b13f y as hex : 826d8b4d3010aea16ff4c1c1d3ae68541d9a04df54a2c48cc241c2983544de52

paridad y : par

par de claves como sec :

02b4e599dfa44555a4ed38bcfff0071d5af676a86abf123c5b4b4e8e67a0b0b13f

Descomprimidas : 04b4e599dfa44555a4ed38bcfff0071d5af676a86abf123c5b4b4e8e67a0b0b13f 826d8b4d3010aea16ff4c1c1d3ae68541d9a04df54a2c48cc241c2983544de52

hash160 : 5d353a2ecdb262477172852d57a3f11de0c19286

Descomprimidas : e5bd3a7e6cb62b4c820e51200fb1c148d79e67da

Dirección Bitcoin : 19Vqc8uLTfUonmxUEZac7fz1M5c5ZZbAii

Descomprimida : 1MwkRkogzBRMehBntgcq2aJhXCXStJTXHT

Obtener información como JSON:

$ ku P:foo -P -j

{

"y_parity": "even",

"public_pair_y_hex":

"826d8b4d3010aea16ff4c1c1d3ae68541d9a04df54a2c48cc241c2983544de52",

"private_key": "no",

"parent_fingerprint": "00000000",

"tree_depth": "0",

"network": "Bitcoin",

"btc_address_uncompressed": "1MwkRkogzBRMehBntgcq2aJhXCXStJTXHT",

"key_pair_as_sec_uncompressed":

"04b4e599dfa44555a4ed38bcfff0071d5af676a86abf123c5b4b4e8e67a0b0b13f826d8b4d3010aea16ff4c1

c1d3ae68541d9a04df54a2c48cc241c2983544de52",

"public_pair_x_hex":

"b4e599dfa44555a4ed38bcfff0071d5af676a86abf123c5b4b4e8e67a0b0b13f",

"wallet_key":

"xpub661MyMwAqRbcFVF9ULcqLdsEa5WnCCugQAcgNd9iEMQ31tgH6u4DLQWoQayvtSVYFvXz2vPPpbXE1qpjoUFi dhjFj82pVShWu9curWmb2zy",

"chain_code": "5eeb1023fd6dd1ae52a005ce0e73420821e1d90e08be980a85e9111fd7646bbc",

"child_index": "0",

"hash160_uncompressed": "e5bd3a7e6cb62b4c820e51200fb1c148d79e67da",

"btc_address": "19Vqc8uLTfUonmxUEZac7fz1M5c5ZZbAii",

"fingerprint": "5d353a2e",

"hash160": "5d353a2ecdb262477172852d57a3f11de0c19286",

"input": "P:foo",

"public_pair_x":

"81821982719381104061777349269130419024493616650993589394553404347774393168191",

"public_pair_y":

"58994218069605424278320703250689780154785099509277691723126325051200459038290",

"key_pair_as_sec":

"02b4e599dfa44555a4ed38bcfff0071d5af676a86abf123c5b4b4e8e67a0b0b13f"

}

Clave BIP32 pública:

$ ku -w -P P:foo

xpub661MyMwAqRbcFVF9ULcqLdsEa5WnCCugQAcgNd9iEMQ31tgH6u4DLQWoQayvtSVYFvXz2vPPpbXE1qpjoUFid hjFj82pVShWu9curWmb2zy

Generar una subclave:

$ ku -w -s3/2 P:foo

xprv9wTErTSkjVyJa1v4cUTFMFkWMe5eu8ErbQcs9xajnsUzCBT7ykHAwdrxvG3g3f6BFk7ms5hHBvmbdutNmyg6i ogWKxx6mefEw4M8EroLgKj

Subclave reforzada:

$ ku -w -s3/2H P:foo

xprv9wTErTSu5AWGkDeUPmqBcbZWX1xq85ZNX9iQRQW9DXwygFp7iRGJo79dsVctcsCHsnZ3XU3DhsuaGZbDh8iDk BN45k67UKsJUXM1JfRCdn1

WIF

$ ku -W P:foo

L26c3H6jEPVSqAr1usXUp9qtQJw6NHgApq6Ls4ncyqtsvcq2MwKH

Dirección

$ ku -a P:foo

19Vqc8uLTfUonmxUEZac7fz1M5c5ZZbAii

Generar un montón de subclaves

$ ku P:foo -s 0/0-5 -w

xprv9xWkBDfyBXmZjBG9EiXBpy67KK72fphUp9utJokEBFtjsjiuKUUDF5V3TU8U8cDzytqYnSekc8bYuJS8G3bhX

xKWB89Ggn2dzLcoJsuEdRK

xprv9xWkBDfyBXmZnzKf3bAGifK593gT7WJZPnYAmvc77gUQVej5QHckc5Adtwxa28ACmANi9XhCrRvtFqQcUxt8r UgFz3souMiDdWxJDZnQxzx

xprv9xWkBDfyBXmZqdXA8y4SWqfBdy71gSW9sjx9JpCiJEiBwSMQyRxan6srXUPBtj3PTxQFkZJAiwoUpmvtrxKZu 4zfsnr3pqyy2vthpkwuoVq

xprv9xWkBDfyBXmZsA85GyWj9uYPyoQv826YAadKWMaaEosNrFBKgj2TqWuiWY3zuqxYGpHfv9cnGj5P7e8EskpzK

L1Y8Gk9aX6QbryA5raK73p

xprv9xWkBDfyBXmZv2q3N66hhZ8DAcEnQDnXML1J62krJAcf7Xb1HJwuW2VMJQrCofY2jtFXdiEY8UsRNJfqK6DAd yZXoMvtaLHyWQx3FS4A9zw

xprv9xWkBDfyBXmZw4jEYXUHYc9fT25k9irP87n2RqfJ5bqbjKdT84Mm7Wtc2xmzFuKg7iYf7XFHKkSsaYKWKJbR5

4bnyAD9GzjUYbAYTtN4ruo

Generar las direcciones correspondientes:

$ ku P:foo -s 0/0-5 -a

1MrjE78H1R1rqdFrmkjdHnPUdLCJALbv3x

1AnYyVEcuqeoVzH96zj1eYKwoWfwte2pxu

1GXr1kZfxE1FcK6ZRD5sqqqs5YfvuzA1Lb

116AXZc4bDVQrqmcinzu4aaPdrYqvuiBEK

1Cz2rTLjRM6pMnxPNrRKp9ZSvRtj5dDUML

1WstdwPnU6HEUPme1DQayN9nm6j7nDVEM

Generar los WIFs correspondientes:

$ ku P:foo -s 0/0-5 -W

L5a4iE5k9gcJKGqX3FWmxzBYQc29PvZ6pgBaePLVqT5YByEnBomx

Kyjgne6GZwPGB6G6kJEhoPbmyjMP7D5d3zRbHVjwcq4iQXD9QqKQ

L4B3ygQxK6zH2NQGxLDee2H9v4Lvwg14cLJW7QwWPzCtKHdWMaQz

L2L2PZdorybUqkPjrmhem4Ax5EJvP7ijmxbNoQKnmTDMrqemY8UF

L2oD6vA4TUyqPF8QG4vhUFSgwCyuuvFZ3v8SKHYFDwkbM765Nrfd

KzChTbc3kZFxUSJ3Kt54cxsogeFAD9CCM4zGB22si8nfKcThQn8C

Compruebe que funciona eligiendo una cadena BIP32 (la correspondiente a la subclave 0/3): $ ku -W

xprv9xWkBDfyBXmZsA85GyWj9uYPyoQv826YAadKWMaaEosNrFBKgj2TqWuiWY3zuqxYGpHfv9cnGj5P7e8EskpzK

L1Y8Gk9aX6QbryA5raK73p

L2L2PZdorybUqkPjrmhem4Ax5EJvP7ijmxbNoQKnmTDMrqemY8UF

$ ku -a

xprv9xWkBDfyBXmZsA85GyWj9uYPyoQv826YAadKWMaaEosNrFBKgj2TqWuiWY3zuqxYGpHfv9cnGj5P7e8EskpzK

L1Y8Gk9aX6QbryA5raK73p

116AXZc4bDVQrqmcinzu4aaPdrYqvuiBEK

Sí, parece familiar.

Del exponente secreto:

$ ku 1

input : 1

network : Bitcoin

secret exponent : 1

hex : 1

wif : KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn uncompressed : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf

public pair x :

55066263022277343669578718895168534326250603453777594175500187360389116729240

public pair y :

32670510020758816978083085130507043184471273380659243275938904335757337482424

x as hex : 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

y as hex : 483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

paridad y : par

key pair as sec : 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

uncompressed : 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

hash160 : 751e76e8199196d454941c45d1b3a323f1433bd6

uncompressed : 91b24bf9f5288532960ac687abb035127b1d28a5

Bitcoin address : 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH

uncompressed : 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm

Versión Litecoin:

$ ku -nL 1

input : 1

Red : Litecoin

exponente secreto : 1

hex : 1

wif : T33ydQRKp4FCW5LCLLUB7deioUMoveiwekdwUwyfRDeGZm76aUjV

descomprimida : 6u823ozcyt2rjPH8Z2ErsSXJB5PPQwK7VVTwwN4mxLBFrao69XQ

par publico x :

55066263022277343669578718895168534326250603453777594175500187360389116729240

par publico y :

32670510020758816978083085130507043184471273380659243275938904335757337482424

x como hex : 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

y como hex : 483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

paridad y : par

par de llaves como sec :

0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

descomprimida : 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

hash160 : 751e76e8199196d454941c45d1b3a323f1433bd6

descomprimida : 91b24bf9f5288532960ac687abb035127b1d28a5

Dirección Litecoin : LVuDpNCSSj6pQ7t9Pv6d6sUkLKoqDEVUnJ

descomprimida : LYWKqJhtPeGyBAw7WC8R3F7ovxtzAiubdM

Dogecoin WIF:

$ ku -nD -W 1

QNcdLVw8fHkixm6NNyN6nVwxKek4u7qrioRbQmjxac5TVoTtZuot

De par público (en red de pruebas):

$ ku -nT

55066263022277343669578718895168534326250603453777594175500187360389116729240,even entrada :

550662630222773436695787188951685343262506034537775941755001873603

89116729240, par

network : Bitcoin testnet

public pair x :

55066263022277343669578718895168534326250603453777594175500187360389116729240

public pair y :

32670510020758816978083085130507043184471273380659243275938904335757337482424

x as hex :

79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

y as hex :

483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

y parity : even

key pair as sec :

0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

uncompressed :

0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

hash160 : 751e76e8199196d454941c45d1b3a323f1433bd6

uncompressed : 91b24bf9f5288532960ac687abb035127b1d28a5

Bitcoin testnet address : mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8r

uncompressed : mtoKs9V381UAhUia3d7Vb9GNak8Qvmcsme

De hash160

$ ku 751e76e8199196d454941c45d1b3a323f1433bd6

input : 751e76e8199196d454941c45d1b3a323f1433bd6

network : Bitcoin

hash160 : 751e76e8199196d454941c45d1b3a323f1433bd6

Bitcoin address : 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH

Como dirección de dogecoin:

$ ku -nD 751e76e8199196d454941c45d1b3a323f1433bd6

input : 751e76e8199196d454941c45d1b3a323f1433bd6

network : Dogecoin

hash160 : 751e76e8199196d454941c45d1b3a323f1433bd6

Dogecoin address : DFpN6QqFfUm3gKNaxN6tNcab1FArL9cZLE

Utilidad de transacción (TX)

La utilidad de linea de comandos tx desplegara transacciones de manera humanamente comprensible, extraerá transacciones base del cache de transacciones pycoin’s o de servicios web (actualmente soportados blockchain.info, blockr.io, and biteasy.com), combinara transacciones, agregara o eliminara entradas o salidas y firmara transacciones.

Los siguientes son algunos ejemplos.

Ver la famosa transacción de la «pizza» [PIZZA]:

$ tx 49d2adb6e476fa46d8357babf78b1b501fd39e177ac7833124b3f67b17c40c2a Advertencia: considera establecer la variable de entorno

PYCOIN_CACHE_DIR=~/.pycoin_cache a las transacciones cache extraídas vía servicios web advertencia: no se encontraron proveedores de servicios para get_tx; considera establecer la variable de entorno

PYCOIN_SERVICE_PROVIDERS=BLOCKR_IO:BLOCKCHAIN_INFO:BITEASY:BLOCKEXPLORER

uso: tx [-h] [-t VERSION_DE_LA_TRANSACCION] [-l TIEMPO_DE_BLOQUEO] [-n RED] [-a]

[-i dirección] [-f ruta-a-claves-privadas] [-g GPG_ARGUMENT]

[--remove-tx-in tx_in_index_to_delete]

[--remove-tx-out tx_out_index_to_delete] [-F transaction-fee] [-u]

[-b BITCOIND_URL] [-o ruta-al-archivo-de-salida]

argument [argumento …]

tx: error: no se puede encontrar Tx con id

49d2adb6e476fa46d8357babf78b1b501fd39e177ac7833124b3f67b17c40c2a

¡Huy! No tenemos servicios web configurados. Hagámoslo ahora:

$ PYCOIN_CACHE_DIR=~/.pycoin_cache

$ PYCOIN_SERVICE_PROVIDERS=BLOCKR_IO:BLOCKCHAIN_INFO:BITEASY:BLOCKEXPLORER

$ export PYCOIN_CACHE_DIR PYCOIN_SERVICE_PROVIDERS

No se hace automáticamente asi que una herramienta de linea de comando no dejara escapar información privada acerca de las transacciones en las que estas interesado a un sitio web de terceros.

Si no te importa, tu puedes agregar estas lineas en tu .profile.

Intentémoslo de nuevo:

$ tx 49d2adb6e476fa46d8357babf78b1b501fd39e177ac7833124b3f67b17c40c2a Versión: 1 tx hash 49d2adb6e476fa46d8357babf78b1b501fd39e177ac7833124b3f67b17c40c2a 159 bytes

TxIn count: 1; TxOut count: 1

Tiempo de bloqueo: 0 (válido en cualquier momento)

Entrada:

0: (desconocido) desde

1e133f7de73ac7d074e2746a3d6717dfc99ecaa8e9f9fade2cb8b0b20a5e0441:0

Salida:

0: 1CZDM6oTttND6WPdt3D6bydo7DYKzd9Qik recibe 10000000.00000 mBTC

Salida total 10000000.00000 mBTC

incluyendo no gastadas en volcado hexadecimal ya que la transacción no esta completamente firmada

010000000141045e0ab2b0b82cdefaf9e9a8ca9ec9df17673d6a74e274d0c73ae77d3f131e000000004a4

93046022100a7f26eda874931999c90f87f01ff1ffc76bcd058fe16137e0e63fdb6a35c2d78022100a61e 9199238eb73f07c8f209504c84b80f03e30ed8169edd44f80ed17ddf451901ffffffff010010a5d4e8000

0001976a9147ec1003336542cae8bded8909cdd6b5e48ba0ab688ac00000000

** no se puede validar la transacción debido a transacciones fuente faltantes

Aparece la linea final porque para validar las firmas de las transacciones, tu técnicamente necesitas las transacciones fuente. Asi que agreguemos -a para incrementar las transacciones con información fuente:

$ tx -a 49d2adb6e476fa46d8357babf78b1b501fd39e177ac7833124b3f67b17c40c2a Advertencia: las recomendaciones de calculo y estimación de las comisiones por transacción pueden ser incorrectas

Advertencia: Si la comisión de la transacción es mas baja que el valor esperado de 0,1 MBTC, la transacción no se podría propagar

Versión: 1 tx hash 49d2adb6e476fa46d8357babf78b1b501fd39e177ac7833124b3f67b17c40c2a 159 bytes

TxIn count: 1; TxOut count: 1

Tiempo de bloqueo: 0 (válido en cualquier momento)

Entrada:

0: 17WFx2GQZUmh6Up2NDNCEDk3deYomdNCfk de

1e133f7de73ac7d074e2746a3d6717dfc99ecaa8e9f9fade2cb8b0b20a5e0441:0 10000000.00000

mBTC sig ok

Salida:

0: 1CZDM6oTttND6WPdt3D6bydo7DYKzd9Qik recibe 10000000.00000 mBTC

Entrada total 10000000.00000 mBTC

Salida total 10000000.00000 mBTC

Comisiones totales 0.00000 mBTC

010000000141045e0ab2b0b82cdefaf9e9a8ca9ec9df17673d6a74e274d0c73ae77d3f131e000000004a4

93046022100a7f26eda874931999c90f87f01ff1ffc76bcd058fe16137e0e63fdb6a35c2d78022100a61e 9199238eb73f07c8f209504c84b80f03e30ed8169edd44f80ed17ddf451901ffffffff010010a5d4e8000

0001976a9147ec1003336542cae8bded8909cdd6b5e48ba0ab688ac00000000

todos los valores de transacción entrantes validados

Ahora, veamos una salida no gastada para una dirección especifica (UTXO). En el bloque #1, vemos una transacción coinbase a 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX. Usemos fetch_unspent para encontrar todas las monedas en esta dirección:

$ fetch_unspent 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX

a3a6f902a51a2cbebede144e48a88c05e608c2cce28024041a5b9874013a1e2a/0/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/333000

cea36d008badf5c7866894b191d3239de9582d89b6b452b596f1f1b76347f8cb/31/76a914119b098e2e9

80a229e139a9ed01a469e518e6f2688ac/10000

065ef6b1463f552f675622a5d1fd2c08d6324b4402049f68e767a719e2049e8d/86/76a914119b098e2e9

80a229e139a9ed01a469e518e6f2688ac/10000

a66dddd42f9f2491d3c336ce5527d45cc5c2163aaed3158f81dc054447f447a2/0/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/10000

ffd901679de65d4398de90cefe68d2c3ef073c41f7e8dbec2fb5cd75fe71dfe7/0/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/100

d658ab87cc053b8dbcfd4aa2717fd23cc3edfe90ec75351fadd6a0f7993b461d/5/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/911

36ebe0ca3237002acb12e1474a3859bde0ac84b419ec4ae373e63363ebef731c/1/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/100000

fd87f9adebb17f4ebb1673da76ff48ad29e64b7afa02fda0f2c14e43d220fe24/0/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/1

dfdf0b375a987f17056e5e919ee6eadd87dad36c09c4016d4a03cea15e5c05e3/1/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/1337

cb2679bfd0a557b2dc0d8a6116822f3fcbe281ca3f3e18d3855aa7ea378fa373/0/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/1337

d6be34ccf6edddc3cf69842dce99fe503bf632ba2c2adb0f95c63f6706ae0c52/1/76a914119b098e2e98

0a229e139a9ed01a469e518e6f2688ac/2000000

0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098/0/410496b538e853519c 726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e622947

21166bf621e73a82cbf2342c858eeac/5000000000

Ir a la siguiente página

Report Page