[PYTHON] Stellen Sie mit Pycoin eine Verbindung zu Bitcoin Testnet her

Was ist Pycoin?

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

Umgebung

Sie können es mit pip installieren. Lassen Sie uns eine virtuelle Umgebung mit venv usw. erstellen und installieren.

$ pip install pycoin

Was ist Testnet?

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/

KU und TX

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

Stellen Sie über die Befehlszeile eine Verbindung zu Testnet her

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

Legen Sie Umgebungsvariablen fest und stellen Sie eine Verbindung zu Testnet her

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

Stellen Sie mit Pycoin eine Verbindung zu Bitcoin Testnet her
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit GO eine Verbindung zu Postgresql her
Stellen Sie mit Pycoin (Python Cryptocoin Utili) eine Verbindung zum Bitcoin-Netzwerk her.
Stellen Sie mit boto eine Verbindung zu Elastic MQ her
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Stellen Sie über einen Remotedesktop eine Verbindung zu GNU / Linux her
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Stellen Sie mit dem Python-Interpreter von PEPPER Mac eine Verbindung zu Pfeffer her
Verwendung von SQLAlchemy / Connect mit aiomysql
Stellen Sie eine Verbindung zu MySQL her
Ich habe eine einfache Brieftasche aus Bitcoin mit Pycoin gemacht
Verbinden Sie Xillybus und Benutzerlogik ganz einfach mit cReComp
Stellen Sie mit Pybitcoin-Tools eine Verbindung zu einem Bitcoin-Netzwerk her
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Verbinden Sie Python mit MySQL
Stellen Sie mit ssh-Verbindung vom Mac aus eine Verbindung zu centos6 auf der Virtualbox her
Verbinden Sie den Jupyter Notebook-Kernel mit aktiviertem Jupytext mit Spyder
Verbinden Sie Raspberry Pi mit "Python" mit der Alibaba Cloud IoT Platform
Versuchen Sie, den Boden durch Rekursion herauszufordern
Post to Slack mit Python 3
Einführung in RDB mit sqlalchemy Ⅰ
Machen Sie es mit der Syntax einfach
Verbinden Sie MySQL von Vagrant mit MySQL Workbench
Um gym_torcs mit ubutnu16 auszuführen
Wie man mit Theano besetzt
Wie mit SQLAlchemy ändern?
Stellen Sie von Python aus eine Verbindung zu SQLite her
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
So trennen Sie Zeichenfolgen mit ','
Stellen Sie eine Verbindung zur Tokio-Region von s3 her
Wie man RDP auf Fedora31 macht
2 Möglichkeiten, mit SessionNotCreatedException umzugehen
Wie lösche ich mit SQLAlchemy?
Herstellen einer Verbindung zum Cloud Firestore über Google Cloud-Funktionen mit Python-Code