PyGethは、子プロセスのGETHとして実行するPythonラッパーライブラリです。
システムが依存しています
ライブラリには、実行可能ファイルをゲスする必要があります。
インストール
ピップPY-GETHをインストール
クイックスタート
操作的に接続されています mainnet
geth
>>> から GETH インポートLiveGethProcess >>> GETH = LiveGethProcess() >>> geth.start()
テスト用やプライベートローカルブロックチェーン。これは、あなたがそれらに名前を付けることが必要です。
>>> から GETH インポートDevGethProcess >>> GETH = DevGethProcess(' テスト' ) >>> geth.start()
デフォルトでは、 デフォルトの使用は 、テストチェーンを設定します。あなたは、テストチェーンの場所を変更したい場合は、代替手段を指定することができます 。DevGethProcess
geth
datadir
base_dir
>>> GETH = DevGethProcess(' テスト'、' / TMP /一部、他の塩基DIR / ' ) >>> geth.start()
各インスタンスは、便利なプロパティの数を持っています。
>>> geth.data_dir " 〜/ .ethereum " >>> geth.rpc_port 8545 >>> geth.ipc_path " 〜/ .ethereum / geth.ipc " >>> geth.accounts [ ' 0xd3cda913deb6f67967b99d67acdfa1712c293601 ' ] >>> GETH .is_alive 偽 >>> geth.is_running 偽 >>> geth.is_stopped 偽 >>> geth.startを() >>> geth.is_alive 真 #表示子进程尚未退出 >>> GETH。is_running 真の #を表示调用了)(開始、但是没有停止() >>> geth.is_stopped 偽 >>> geth.stop() >>> geth.is_alive 偽 >>> geth.is_running 偽 >>> geth.is_stopped 真を
テストでは、良い眺め geth
プロセスがログ出力を生成します。py-geth
提供する mixin
クラスを、それを使用することができます stdout
し、 stderr
ログファイルに出力。
>>> から GETH インポートLoggingMixin、DevGethProcess >>> クラスMyGeth(LoggingMixin、DevGethProcess): ... パス >>> GETH = MyGeth() >>> geth.start()
すべてのログは、現在のディレクトリに書き込まれ./logs/
たログファイルに。
基礎となる geth
プロセスがオープンRPCまたはIPC接続に追加の時間を必要とするかもしれない、とあなたは掘り始めるDAGを生成する必要がある場合。あなたは、インターフェイスの準備ができているかどうかをクエリに次のインタフェースを使用することができます。
>>> geth.is_rpc_ready 真 (タイムアウト= 30)>>> geth.wait_for_rpc #は、RPC接続をオープンするために、30秒まで待ちます。 >>> geth.is_ipc_ready 真 >>> geth.wait_for_ipc(= 30タイムアウト) #IPCオープンソケットのために30秒まで待ちます。 >>> geth.is_dag_generated 真 >>> geth.is_mining 真 >>> geth.wait_for_dag(タイムアウト= 600) #DAGを生成するように、10分まで待ちます。
DAGは、現在エポック0でのみ利用可能です。
GETHの特定のバージョンをインストールします。
この機能は実験的なものと著しく変更されることがあります。
あなたは、プラットフォーム上に記載されているPY-GETH GETHバージョンをインストールし、次のいずれかを使用することができます。
v1.5.6
(Linuxの/ OSX)v1.5.7
(Linuxの/ OSX)v1.5.8
(Linuxの/ OSX)v1.5.9
(Linuxの/ OSX)v1.6.0
(Linuxの/ OSX)v1.6.1
(Linuxの/ OSX)v1.6.2
(Linuxの/ OSX)v1.6.3
(Linuxの/ OSX)v1.6.4
(Linuxの/ OSX)v1.6.5
(Linuxの/ OSX)v1.6.6
(Linuxの/ OSX)v1.6.7
(Linuxの/ OSX)v1.7.0
(Linuxの/ OSX)v1.7.2
(Linuxの/ OSX)v1.8.1
(Linuxの/ OSX)
インストールは、コマンドラインから行うことができます。
$ pythonの-m geth.install v0.4.12
または使用して install_geth
のpythonからのインストールの機能を。
>>> から GETH 輸入install_geth install_geth(>>> ' v1.7.0 ')
インストール済みのバイナリができます $HOME/.py-geth
ディレクトリの下にあります。v1.7.0
バイナリファイルが配置されています $HOME/.py-geth/geth-v1.7.0/bin/geth
。
IT技術グループの開発に関連のpython:887 934 385
DevGethProcessについて
DevGethProcess
テストを促進するために設計されています。次のようにこの点で、それは事前に設定されています。
- アカウントを作成し、10億のイーサネットを割り当てます。
- では
rpc
とipc
のインターフェイスは、すべてのAPIで有効になっています。 - 0アカウントのロックを解除します。
- ネットワークは、検索または任意のピアに接続しないように。
- 使用
1234
のnetworkid
。 - エクステントセットのテスト
5
(DEBUG) - 採掘を有効にするには、シングルスレッドを使用しました。
- RPCインターフェイスは8545にバインドしようとしますが、このポートが使用できない場合は、開いているポートを見つけます。
- DevP2Pインターフェイスは30303にバインドしようとしますが、このポートが使用できない場合は、開いているポートを見つけます。
落とし穴
あなたが有効にした場合 mining
である場合(の操作 DevGethProcess
デフォルト設定を、その後、手動でDAGを生成する必要があるかもしれません。そうしないと、あなたが最初のプロセスを実行すると、それはいくつかの時間がかかるだろう自動的に生成されます。
それを手動で生成するには:
$ GETH makedag 0〜/ .ethash
これは、あなたのプロセスは、製造中にタイムアウトすることがあります。その場合にはトラビス-CI CIような環境、などが特に重要です。
開発
クローンリポジトリと実行:
ピップ-eをインストールします。-r要件-dev.txt
テストを実行
あなたは、テストを実行するには、次のコマンドを使用することができます。
py.testテスト
それとも、インストールすることができ tox
、完全なテストスイートを実行します。
解除
PyPIに正しくレンダリングするための正しい形式に値下げREADMEを変換するPandocの必要性。
同様のDebianシステム:
aptのインストールpandoc
またはOSX上:
醸造pandocをインストール
新しいバージョンを公開するには:
メイクリリースバンプ= $$ $$ VERSION_PART_TO_BUMP
バージョンをバンプする方法
レポは、の形式のこのバージョン {major}.{minor}.{patch}
、安定を示す{major}.{minor}.{patch} {major}.{minor}.{patch}-{stage}.{devnum}
不安定示すが(stage
アルファまたはベータであってもよいです)。
行の次のバージョンを解放するために、例えば、バンプ部分を指定する、 make release bump=minor
または make release bump=devnum
。
あなたはベータ版である場合、それは make release bump=stage
安定したバージョンに切り替わります。
現在の不安定なバージョンの安定版で発行されるためには、明らかに、例えば、新しいバージョンを指定してください make release bump="--new-version 4.0.0-alpha.1 devnum"
IT技術グループの開発に関連のpython:887 934 385
最後に、見るため、感謝をありがとう!