パッケージライブラリPyGeth Pythonのゲス

PyGethは、子プロセスのGETHとして実行するPythonラッパーライブラリです。

システムが依存しています

ライブラリには、実行可能ファイルをゲスする必要があります。

インストール

ピップPY-GETHをインストール

クイックスタート

操作的に接続されています mainnetgeth

>>> から GETH インポートLiveGethProcess
 >>> GETH = LiveGethProcess()
 >>> geth.start()

テスト用やプライベートローカルブロックチェーン。これは、あなたがそれらに名前を付けることが必要です。

>>> から GETH インポートDevGethProcess
 >>> GETH = DevGethProcess(' テスト'  >>> geth.start()

デフォルトでは、 デフォルトの使用は   、テストチェーンを設定します。あなたは、テストチェーンの場所を変更したい場合は、代替手段を指定することができます  DevGethProcessgethdatadirbase_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 

 最後に、見るため、感謝をありがとう!

おすすめ

転載: www.cnblogs.com/pypypy/p/12040938.html