Eine Python-Bibliothek, die mit Bitcoin- und Altcoin-Netzwerken interagieren kann. Ich denke, es ist üblich, Bitcoin Core zu installieren, um eine Verbindung zu einem Bitcoin-Netzwerk herzustellen, aber es ist ein ziemlicher Aufwand. Mit Pycoin können Sie ganz einfach eine Verbindung zu Ihrem Bitcoin-Netzwerk herstellen. Es gibt auch nützliche Befehlszeilentools namens KU und TX. In diesem Artikel erfahren Sie, wie Sie dieses Befehlszeilentool verwenden und Umgebungsvariablen für die Verbindung mit Bitcoin Testnet festlegen.
Pycoin kann nicht nur mit Bitcoin umgehen, sondern auch mit relativ bekannten Altcoin wie Litecoin, Dogecoin, Dash und anderen Münzen, von denen Sie noch nie gehört haben. Es unterstützt Python 2.7 und 3.3 oder höher. https://github.com/richardkiss/pycoin
Sie können es mit pip installieren. Lassen Sie uns eine virtuelle Umgebung mit venv usw. erstellen und installieren.
$ pip install pycoin
Testnet wird normalerweise für die Bitcoin-Entwicklung verwendet. Es gibt keinen Grund, echtes BTC für die Entwicklung zu verwenden. Die Produktion heißt Mainnet, aber Testnet wurde für Entwickler entwickelt.
Dieser Artikel ist detailliert. Anwendungstestumgebung mit Bitcoin http://techmedia-think.hatenablog.com/entry/2015/05/10/123243
Münzen auf Testnet haben keinen Wert und sind bei Faucet erhältlich. https://tpfaucet.appspot.com/
Sie können Testnet hier überprüfen. https://testnet.blockexplorer.com/
Pycoin verfügt über nützliche Befehlszeilentools namens KU und TX. https://github.com/richardkiss/pycoin/blob/master/COMMAND-LINE-TOOLS.md
KU ist ein "Schlüssel-Dienstprogramm" und laut Entwickler Richard Kiss wie ein "Schweizer Taschenmesser" zur Manipulation von Schlüsseln. Ist das so bequem?
TX ist ein Tool zum Überprüfen und Bearbeiten von Transaktionen auf menschliche Lesbarkeit.
Geben Sie ku create ein, das sich auch im Beispielcode befindet. BIP32-Schlüssel, die als Standard für HD-Geldbörsen gelten, werden nach dem Zufallsprinzip ausgegeben.
$ ku create
warning: can't open gpg, can't use as entropy source
input : create
network : Bitcoin mainnet
netcode : BTC
wallet key : xprv9s21ZrQH143K2K5pPUoMrx8g8B3xSeJuAAXtt7XP6Gs1w9WWCRibNaMiEUjN9j\
YpXaejADY9GGE3KyKX4oztPCt7bCZwVTw8fuyr7rPcVp3
public version : xpub661MyMwAqRbcEoAHVWLNE65QgCtSr72kXPTVgVvzecPzowqejy2qvNgC5mofRo\
PR2QT7xC4XY9pxtP2H3EoLbB2urCPgvD6FBMm1LXEBope
tree depth : 0
fingerprint : 9a087148
parent f'print : 00000000
child index : 0
chain code : 1980c24d0593ce4a42f3dae1991cb7617f8cbac03df219a796be5392775ff361
private key : yes
secret exponent : 62147175208710988790827765505072286205595207768729086914666605171876233295603
hex : 89660dfd51eb4720adb856375cb0273222b6aaccf34d48ec3abbcc3e865936f3
wif : L1po7g8b8xtn7w7ukg8Gv6j3sEQykCS2NcWwLRZD1tDAUMMVYJ5Y
uncompressed : 5JroFCatgsGovgT2z2AMNYf5GutCVpT4V1LvYb7PfGEBJdEbts1
public pair x : 68090829527568288081052782941849647349285350892240776672153772254112346326898
public pair y : 51301029354091858472661926463670541630631183134816042193916222104982852838049
x as hex : 968a0b34e401a041c684d7a675857ad7b9b1ed1936d056e43b01ac6a0180c772
y as hex : 716b5a882afdc55f901d07dfe5c769106dead6710a70858e51fe51a15039a2a1
y parity : odd
key pair as sec : 03968a0b34e401a041c684d7a675857ad7b9b1ed1936d056e43b01ac6a0180c772
uncompressed : 04968a0b34e401a041c684d7a675857ad7b9b1ed1936d056e43b01ac6a0180c772\
716b5a882afdc55f901d07dfe5c769106dead6710a70858e51fe51a15039a2a1
hash160 : 9a087148075e0ae4cd68fd4019e63f2df521572c
uncompressed : 017773ac09011e42b64ede8701f67a15056455ed
Bitcoin address : 1F3TB8yLpkDxRZ8jsX9o7FPCF99VDcZsg5
Bitcoin address uncompressed : 18kmrPFEDGxXiUjr5GYsw2TxCzqqUiZ5F
Bitcoin segwit address : p2y8WmmTAGv9XjWT8bjjyuZemZFrUz5xA7oY
Sie können den Netzwerknamen angeben, indem Sie -n als Argument verwenden. -NXTN, um das Testnet von Bitcoin anzugeben.
ku -nXTN 1
input : 1
network : Bitcoin testnet3
netcode : XTN
secret exponent : 1
hex : 1
wif : cMahea7zqjxrtgAbB7LSGbcQUr1uX1ojuat9jZodMN87JcbXMTcA
uncompressed : 91avARGdfge8E4tZfYLoxeJ5sGBdNJQH4kvjJoQFacbgwmaKkrx
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 address : mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8r
Bitcoin address uncompressed : mtoKs9V381UAhUia3d7Vb9GNak8Qvmcsme
Bitcoin segwit address : QWz8QvrJz5QmWegmBv9tXP447AdU7JQtyakg
Sie können das Netzwerk nicht nur über die Befehlszeile, sondern natürlich auch über eine Datei angeben.
Wenn Sie nichts angeben, werden Sie grundsätzlich mit Bitcoin Mainnet verbunden.
Ich habe es versehentlich auf Mainnet gemacht! Ich mag das nicht, deshalb zeige ich Ihnen, wie Sie Umgebungsvariablen auf Ihrem Terminal festlegen und das Netzwerk standardmäßig angeben.
Dieses Mal verwenden wir standardmäßig Bitcoin Testnet.
Legen Sie die Einstellungen für die Umgebungsvariablen fest. Der Netzcode, der angegeben werden kann, wird in all.pylegacy_network.py von Netzwerken geschrieben.
$ export PYCOIN_DEFAULT_NETCODE="XTN"
Lass uns nachsehen.
sample.py
from pycoin.networks import default
default_netcode = default._netcode_for_env()
print(default_netcode)
Es ist in Ordnung, wenn Sie dies tun und der angegebene Netcode angezeigt wird.
Da Netcode als Argument wie das Erstellen eines Schlüssels verwendet werden kann, ist es in Ordnung, wenn Sie ihn zu diesem Zeitpunkt angeben. Probieren Sie es auf Testnet aus und reflektieren Sie es auf Mainnet! Ich dachte, es wäre praktisch, weil ich nur die Einstellungen der Umgebungsvariablen ändern musste.
Es ist einfach, aber ich habe Ihnen gezeigt, wie Sie mit Pycoin eine Verbindung zu Bitcoin Testnet herstellen können. Das nächste Mal möchte ich mit Testnet einen Schlüssel erstellen, eine Transaktion erstellen und Bitmünzen umtauschen.
Recommended Posts