GithubHelp home page GithubHelp logo

nttcom / metemcyber Goto Github PK

View Code? Open in Web Editor NEW
22.0 16.0 3.0 3.94 MB

Decentralized Cyber Threat Intelligence Kaizen Framework

License: Apache License 2.0

Makefile 0.34% Solidity 8.35% Shell 0.02% JavaScript 23.04% Python 67.00% HTML 0.46% CSS 0.79%
cyber-threat-intelligence threat-intelligence threat-intel ethereum smart-contracts

metemcyber's People

Contributors

dependabot[bot] avatar hyagi96 avatar kojima520 avatar mshim03 avatar nitky avatar ppyv avatar sohtsubo6 avatar soulbayou avatar soum-kazuaki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metemcyber's Issues

プライベートカタログでのエラー処理の改善

プライベートカタログで許可されていないアカウントが購入すると revert されるが、revert で発生するエラーが接続している Ethereum Provider によって異なる。

  • pricom では HTTPError (Bad Request)
  • besu では ValueError
  • ganache では SolidityError (ValueError のサブクラス)

現状では SolidityError を想定した実装になっているため、少なくとも pricom で正しく処理できるように改修する。

コードのリファクタリング

CIをパスするようにリファクタリングを行う

Run pipenv run isort metemcyber --diff --check-only
************* Module metemcyber.core.ngrok
metemcyber/core/ngrok.py:105:16: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
************* Module metemcyber.core.solver
metemcyber/core/solver.py:89:73: E1136: Value 'AttributeDict' is unsubscriptable (unsubscriptable-object)
metemcyber/core/solver.py:99:39: E1136: Value 'AttributeDict' is unsubscriptable (unsubscriptable-object)
metemcyber/core/solver.py:106:59: E1136: Value 'AttributeDict' is unsubscriptable (unsubscriptable-object)
************* Module metemcyber.core.seeker
metemcyber/core/seeker.py:202:8: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
************* Module metemcyber.core.bc.eventlistener
metemcyber/core/bc/eventlistener.py:52:45: E1136: Value 'AttributeDict' is unsubscriptable (unsubscriptable-object)
metemcyber/core/bc/eventlistener.py:53:8: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
metemcyber/core/bc/eventlistener.py:66:8: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
metemcyber/core/bc/eventlistener.py:75:57: E1136: Value 'AttributeDict' is unsubscriptable (unsubscriptable-object)
metemcyber/core/bc/eventlistener.py:76:8: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
metemcyber/core/bc/eventlistener.py:82:8: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
metemcyber/core/bc/eventlistener.py:114:12: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
metemcyber/core/bc/eventlistener.py:140:12: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
Error: Process completed with exit code 10.

Web3.py v5.20.0 does not work

Web3.py(v5.20.0) sends a transaction with invalid parameters.

rpcnode_1   | 2021-06-17 06:41:44.588+00:00 | vert.x-worker-thread-17 | DEBUG | JsonRpcHttpService | JSON-RPC request -> eth_estimateGas
rpcnode_1   | 2021-06-17 06:41:44.588+00:00 | vert.x-worker-thread-17 | DEBUG | JsonRpcHttpService | Invalid Params
rpcnode_1   | org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters: Invalid json rpc parameter at index 0
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonRpcParameter.optional(JsonRpcParameter.java:74)
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonRpcParameter.required(JsonRpcParameter.java:39)
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest.getRequiredParameter(JsonRpcRequest.java:133)
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext.getRequiredParameter(JsonRpcRequestContext.java:64)
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.EthEstimateGas.response(EthEstimateGas.java:58)
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcHttpService.process(JsonRpcHttpService.java:602)
rpcnode_1   |   at org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcHttpService.lambda$handleJsonSingleRequest$10(JsonRpcHttpService.java:473)
rpcnode_1   |   at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313)
rpcnode_1   |   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
rpcnode_1   |   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
rpcnode_1   |   at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
rpcnode_1   |   at java.base/java.lang.Thread.run(Unknown Source)
rpcnode_1   | Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "nonce" (class org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter), not mark
ed as ignorable (8 known properties: "gasPrice", "value", "gasLimit", "gas", "from", "to", "payload", "data"])
rpcnode_1   |  at [Source: (String)"{"value":"0x8ac7230489e80000","to":"0xC1814B834E1be7DeE7611fD5F747535369B8683e","from":"0xBF72d1e828308B03b02031d5b648E17328900000","data":"0x36cd0a8e000000000000000000000000168dd
95472ceaf5c28447c8b07a593e205e92a12000000000000000000000000c8a07a3a2c168e5c94164762cb6b43ac841aa89f0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x3"}"; line: 1, column: 359] (through re
ference chain: org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter["nonce"])

既存のパッケージをsrc配下に移動

simple projectを参考にsrc配下に移動させる。
https://packaging.python.org/tutorials/packaging-projects/

src配下の方が良いらしい。
https://blog.ionelmc.ro/2014/05/25/python-packaging/

The src directory is a better approach because:

You get import parity. The current directory is implicitly included in sys.path; but not so when installing & importing from site-packages. Users will never have the same current working directory as you do.

This constraint has beneficial implications in both testing and packaging:

You will be forced to test the installed code (e.g.: by installing in a virtualenv). This will ensure that the deployed code works (it's packaged correctly) - otherwise your tests will fail. Early. Before you can publish a broken distribution.
You will be forced to install the distribution. If you ever uploaded a distribution on PyPI with missing modules or broken dependencies it's because you didn't test the installation. Just beeing able to successfuly build the sdist doesn't guarantee it will actually install!

Release v1.0.0 Stable

I'd like to have a solid plan for getting v1.

Overview

An_overview_of_Metemcyber
Intelligence_Cycle_on_Metemcyber

TODO

  • metemctl new
  • metemctl ix
    • show
    • use
    • cancel
    • search
    • buy
    • bulk-buy
    • extract
    • catalog
      • show
      • enable
      • disable
    • issue
      • add
      • remove
      • list
    • vote
  • metemctl run
  • metemctl check
  • metemctl publish
  • metemctl discontinue
  • metemctl contract
    • token
      • create
      • publish
      • mint
      • burn
      • set-editable
    • operator
      • show
      • create
    • broker
      • show
      • create
      • serve
      • takeback
    • catalog
      • show
      • create
  • metemctl account
    • show
    • create
    • airdrop
  • metemctl misp
    • event
    • open
    • pull
    • push
  • metemctl config
    • show
    • edit
  • metemctl external-link
  • metemctl seeker
    • start
    • status
    • stop
  • metemctl solver (コマンド体系見直した方が良さそう?)
    • support
    • obsolete
    • enable
    • disable
    • link
    • put
    • remove
    • start
    • status
    • stop
  • metemctl open-app-dir
  • metemctl issue
  • metemctl asset_manager (_はあとで修正)
    • start
    • status
    • stop
  • metemctl workspace
    • create
    • destroy
    • switch
    • list
    • copy

GUIの提供

コマンドラインの操作が苦手な人向けにGUIを提供すると良いと考えました。
ぜひ、ご検討をお願いいたします。

コントラクト関数の返り値取得手法の確立

コントラクト関数の実行結果をブロックチェーン外から取得するには、返り値を call() でエミュレートするか、返り値をイベントとして emit するしかない(はず?)。ほとんどの場合は call() で問題ないが、ひとつのブロックに同じ関数のトランザクションが複数取り込まれた場合、期待する値が得られない可能性がある。

  • web3 の call() ではブロックを番号・ハッシュで指定できるが、transactionIndex は指定できない。すなわち、当該ブロックで最も若いトランザクションの結果しか得られない。

現在の実装では、トランザクションを投入した後は waitForTransactionReceipt() を実行しており、投入したトランザクションがブロックに取り込まれるまで待機している。したがって、クライアント単体では問題は発生しない。しかしながら、複数クライアントが稼働する現状において、上記の問題は発生しうる。

この問題に抵触しそうな機能として「チャレンジ実行後のタスク番号取得」が挙げられる。ただ、この機能で取得するデータは(やや語弊があるが)アカウント毎に独立しているため、現実に不具合が生じることはないと考えられる。とは言え、今後の改修で単一アカウントで複数プログラムを並列実行するようなことになれば、上記の問題が発現する可能性がある。

コントラクト関数を実行して返り値を取得する、という手法の確立が望まれる。

  • 補足
    チャレンジ開始はコントラクト関数でなく、ERC777Recipient を利用した「トークンの送付」をトリガーとして開始される。単なる関数実行とは、また少し違った対応が必要と思われる。

configのロード順序の整理

読み込みの順番(番号が大きいものほど設定を優先)

  1. デフォルトコンフィグ
  2. metemctl.ini
  3. workspace/config.ini
  4. 各種他の設定(workspace/misp/misp.ini など)

https://exchange.metemcyber.ntt.comにアクセスした結果、Access Deniedが返される

起きた事象

  • 新規CTIトークンの配布、チャレンジ受付を開始後
    https://exchange.metemcyber.ntt.com curlでアクセスした結果、Access Deniedが返される。
    ブラウザでアクセスした場合も同様。
$ curl https://exchange.metemcyber.ntt.com 
{"error":"Access Denied"}

期待する動作

  • 成功したかどうか判断がつくレスポンスメッセージが得られること。
  • Access Debuedの場合、どのようなアクションを起こすべきか判断が出来る情報。

実行環境(ホスト)

  • OS
SystemDirectory : C:\Windows\system32
Organization    :
BuildNumber     : 19041
RegisteredUser  : owner
Version         : 10.0.19041

実行環境(Hypter-V ゲスト)

  • OS
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

gitハッシュ値

$ git rev-parse HEAD
a50f7e82d068828c1f8bca7276c51cbaad9414a0

ログ等

事象発生時のブラウザ

$ curl https://exchange.metemcyber.ntt.com 
{"error":"Access Denied"}

ハンズオンの内容をmetemctlを使わずにやる

metemctl 実装のために、ハンズオンの一連の作業を手動で行う

  • sandbox情報を取得
  • マルウェアの情報を調査
  • マルウェア解析環境の構築
  • マルウェア実行の根拠情報の取得
  • レポートの作成

Bad Request受信後、クライアント(metemcyber_ctl.sh)が落ちる

区分

  • バグ
  • 改善要望

起きた事象

CTIトークンの購入メニューで 1 を入力しENTER、
requests.exceptions.HTTPError: 400 Client Error: Bad Requestを受信後スクリプトが停止する。

期待する動作

  • 何らかのエラーメッセージが出力され、メニューが再表示される。
  • ユーザーは継続して次の操作が行える。
  • エラーメッセージからユーザーが取るべきアクションが分かる。
    • hint、tips、READMEへの誘導など。

実行環境(ホスト)

  • OS
    • Windows10 pro 2004
  • バージョン
    • 19041.630
  • その他
    • Hypter-V上でUbuntuを起動

実行環境(ゲスト)

  • OS
    • Ubuntu
  • バージョン
    • 20.04.1 LTS (Focal Fossa)

gitハッシュ値

umaki@metmecyber:~/metemcyber$ git rev-parse HEAD
dea7cec41d572d186533e13cf793262915c53d00

ログ等

事象発生時のターミナル画面

OSINT - Rise of One More Mirai Worm Variantを購入しますか
[1]購入する
[2]キャンセル
1
Traceback (most recent call last):
  File "src/client.py", line 599, in <module>
    main(ARGS)
  File "src/client.py", line 562, in main
    controller.menu()
  File "src/client.py", line 135, in menu
    getattr(self, self.state)()
  File "src/client.py", line 154, in shopping
    self.model.buy(address)
  File "/usr/src/myapp/src/client_model.py", line 378, in buy
    self.inventory.buy(token_address, allow_cheaper=True)
  File "/usr/src/myapp/src/inventory.py", line 174, in buy
    self.broker.buy(
  File "/usr/src/myapp/src/inventory.py", line 439, in buy
    self.ctibroker.buy_token(
  File "/usr/src/myapp/src/ctibroker.py", line 54, in buy_token
    tx_hash = func.transact({'value': wei})
  File "/usr/local/lib/python3.8/dist-packages/web3/contract.py", line 993, in transact
    return transact_with_contract_function(
  File "/usr/local/lib/python3.8/dist-packages/web3/contract.py", line 1588, in transact_with_contract_function
    txn_hash = web3.eth.sendTransaction(transact_transaction)
  File "/usr/local/lib/python3.8/dist-packages/web3/module.py", line 54, in caller
    (method_str, params), response_formatters = method.process_params(module, *args, **kwargs)  # noqa: E501
  File "/usr/local/lib/python3.8/dist-packages/web3/method.py", line 176, in process_params
    params = self.input_munger(module, args, kwargs)
  File "/usr/local/lib/python3.8/dist-packages/web3/method.py", line 168, in input_munger
    root_munger(module, *args, **kwargs),
  File "/usr/local/lib/python3.8/dist-packages/web3/eth.py", line 383, in send_transaction_munger
    get_buffered_gas_estimate(self.web3, transaction),
  File "/usr/local/lib/python3.8/dist-packages/web3/_utils/transactions.py", line 127, in get_buffered_gas_estimate
    gas_estimate = web3.eth.estimateGas(gas_estimate_transaction)
  File "/usr/local/lib/python3.8/dist-packages/web3/module.py", line 58, in caller
    result = w3.manager.request_blocking(method_str, params, error_formatters)
  File "/usr/local/lib/python3.8/dist-packages/web3/manager.py", line 154, in request_blocking
    response = self._make_request(method, params)
  File "/usr/local/lib/python3.8/dist-packages/web3/manager.py", line 133, in _make_request
    return request_func(method, params)
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/signing.py", line 150, in middleware
    return make_request(method, params)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/formatting.py", line 76, in apply_formatters
    response = make_request(method, params)
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/gas_price_strategy.py", line 34, in middleware
    return make_request(method, params)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/formatting.py", line 74, in apply_formatters
    response = make_request(method, formatted_params)
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/attrdict.py", line 33, in middleware
    response = make_request(method, params)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/formatting.py", line 74, in apply_formatters
    response = make_request(method, formatted_params)
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/normalize_errors.py", line 25, in middleware
    result = make_request(method, params)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/formatting.py", line 74, in apply_formatters
    response = make_request(method, formatted_params)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/formatting.py", line 74, in apply_formatters
    response = make_request(method, formatted_params)
  File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/formatting.py", line 76, in apply_formatters
    response = make_request(method, params)
  File "/usr/local/lib/python3.8/dist-packages/web3/middleware/exception_retry_request.py", line 104, in middleware
    return make_request(method, params)
  File "/usr/local/lib/python3.8/dist-packages/web3/providers/rpc.py", line 92, in make_request
    raw_response = make_post_request(
  File "/usr/local/lib/python3.8/dist-packages/web3/_utils/request.py", line 40, in make_post_request
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://rpc.metemcyber.ntt.com/
umaki@metmecyber:~/metemcyber$

デフォルトコンフィグの状態だとSeekerとSolverが通信できない

デフォルトの状態だとsolverに対して 127.0.0.1:xxxx へ通信するよう指示するため、メッセージ送信先のURLがローカルホストになっています。

READMEではngrokの使用を指示していますが、デフォルト状態ではngrokの起動が有効(ngrok = 1)になっていません。

[seeker]
downloaded_cti_path = ...
listen_address = 127.0.0.1
listen_port = 0
ngrok = 0

また、エラーメッセージをみても、この問題の発生について検知が困難な状態になっています。

Windows環境でも開発貢献できるようにしたい

起きた事象

pip install web3[tester] のパッケージインストールでエラー。

試したこと

  • python-3.8.5-amd64 をインストール
  • Visual Studio Community 2019 をインストール
  • 「C++によるデスクトップ開発」をインストール
    • 厳密には Windows 10 SDK(10.0 18362.0) をインストール
  • pip install -r requirements\common.txt を実行

期待すること

  • WindowsOSでもリポジトリの開発環境を整えたい。
  • Widnows開発者向けのガイドラインが欲しい。

gitハッシュ値

(.venv) C:\gits\github\metemcyber>git rev-parse HEAD
200608fac78d3abeff3c7364d0c93e340b7cacfc

実行環境

  • OS(Windows)
PS C:\Windows\system32> Get-WmiObject Win32_OperatingSystem


SystemDirectory : C:\Windows\system32
Organization    :
BuildNumber     : 19041
RegisteredUser  : owner
Version         : 10.0.19041
  • visual studio
    image

  • Python

(.venv) C:\gits\github\metemcyber>python -V
Python 3.8.5

ログ等

エラーログ

(.venv) C:\gits\github\metemcyber>pip install web3[tester]
Collecting web3[tester]
  Using cached web3-5.13.1-py3-none-any.whl (466 kB)
Requirement already satisfied: requests<3.0.0,>=2.16.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.25.0)
Requirement already satisfied: eth-hash[pycryptodome]<1.0.0,>=0.2.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.0)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.1)
Requirement already satisfied: jsonschema<4.0.0,>=3.2.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (3.2.0)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-abi<3.0.0,>=2.0.0b6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.1.1)
Requirement already satisfied: protobuf<4,>=3.10.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (3.14.0)
Requirement already satisfied: eth-tester[py-evm]==v0.5.0-beta.3 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.5.0b3)
Requirement already satisfied: parsimonious<0.9.0,>=0.8.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-abi<3.0.0,>=2.0.0b6->web3[tester]) (0.8.1)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Collecting eth-account<0.6.0,>=0.5.3
  Using cached eth_account-0.5.4-py3-none-any.whl (94 kB)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.1)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-keys!=0.3.2,<0.4.0,>=0.2.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (0.3.3)
Requirement already satisfied: rlp<3,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (2.0.1)
Requirement already satisfied: eth-abi<3.0.0,>=2.0.0b6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.1.1)
Collecting bitarray<1.3.0,>=1.2.1
  Using cached bitarray-1.2.2.tar.gz (48 kB)
Requirement already satisfied: pycryptodome<4,>=3.6.6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-hash[pycryptodome]<1.0.0,>=0.2.0->web3[tester]) (3.9.9)
Collecting eth-keyfile<0.6.0,>=0.5.0
  Using cached eth_keyfile-0.5.1-py3-none-any.whl (8.3 kB)
Requirement already satisfied: cytoolz<1.0.0,>=0.9.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-keyfile<0.6.0,>=0.5.0->eth-account<0.6.0,>=0.5.3->web3[tester]) (0.11.0)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: pycryptodome<4,>=3.6.6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-hash[pycryptodome]<1.0.0,>=0.2.0->web3[tester]) (3.9.9)
Requirement already satisfied: eth-keys!=0.3.2,<0.4.0,>=0.2.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (0.3.3)
Requirement already satisfied: toolz>=0.8.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from cytoolz<1.0.0,>=0.9.0->eth-keyfile<0.6.0,>=0.5.0->eth-account<0.6.0,>=0.5.3->web3[tester]) (0.11.1)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Collecting eth-rlp<2,>=0.1.2
  Using cached eth_rlp-0.2.1-py3-none-any.whl (5.0 kB)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.1)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: rlp<3,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (2.0.1)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-keys!=0.3.2,<0.4.0,>=0.2.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (0.3.3)
Requirement already satisfied: semantic-version<3.0.0,>=2.6.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (2.8.5)
Requirement already satisfied: eth-abi<3.0.0,>=2.0.0b6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.1.1)
Requirement already satisfied: rlp<3,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (2.0.1)
Requirement already satisfied: eth-hash[pysha3]<1.0.0,>=0.1.4 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (0.2.0)
Requirement already satisfied: pysha3<2.0.0,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-hash[pysha3]<1.0.0,>=0.1.4->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (1.0.2)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-keys!=0.3.2,<0.4.0,>=0.2.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (0.3.3)
Requirement already satisfied: semantic-version<3.0.0,>=2.6.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (2.8.5)
Requirement already satisfied: eth-abi<3.0.0,>=2.0.0b6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.1.1)
Requirement already satisfied: rlp<3,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (2.0.1)
Requirement already satisfied: cytoolz<1.0.0,>=0.9.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-keyfile<0.6.0,>=0.5.0->eth-account<0.6.0,>=0.5.3->web3[tester]) (0.11.0)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Collecting ipfshttpclient==0.7.0a1
  Using cached ipfshttpclient-0.7.0a1-py3-none-any.whl (231 kB)
Requirement already satisfied: requests<3.0.0,>=2.16.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.25.0)
Requirement already satisfied: pyrsistent>=0.14.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (0.17.3)
Requirement already satisfied: attrs>=17.4.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (20.3.0)
Requirement already satisfied: setuptools in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (51.0.0)
Requirement already satisfied: six>=1.11.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (1.15.0)
Collecting lru-dict<2.0.0,>=1.1.6
  Using cached lru-dict-1.1.6.tar.gz (9.4 kB)
Collecting multiaddr>=0.0.7
  Using cached multiaddr-0.0.9-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: varint in c:\gits\github\metemcyber\.venv\lib\site-packages (from multiaddr>=0.0.7->ipfshttpclient==0.7.0a1->web3[tester]) (1.0.2)
Requirement already satisfied: netaddr in c:\gits\github\metemcyber\.venv\lib\site-packages (from multiaddr>=0.0.7->ipfshttpclient==0.7.0a1->web3[tester]) (0.8.0)
Requirement already satisfied: base58 in c:\gits\github\metemcyber\.venv\lib\site-packages (from multiaddr>=0.0.7->ipfshttpclient==0.7.0a1->web3[tester]) (2.0.1)
Requirement already satisfied: six>=1.11.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (1.15.0)
Requirement already satisfied: six>=1.11.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (1.15.0)
Requirement already satisfied: six>=1.11.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from jsonschema<4.0.0,>=3.2.0->web3[tester]) (1.15.0)
Collecting py-evm==0.3.0a20
  Using cached py_evm-0.3.0a20-py3-none-any.whl (242 kB)
Requirement already satisfied: cached-property<2,>=1.5.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (1.5.2)
Requirement already satisfied: rlp<3,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (2.0.1)
Requirement already satisfied: eth-keys!=0.3.2,<0.4.0,>=0.2.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (0.3.3)
Requirement already satisfied: mypy-extensions<1.0.0,>=0.4.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (0.4.3)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: trie==2.0.0-alpha.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (2.0.0a5)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Collecting blake2b-py<0.2,>=0.1.2
  Using cached blake2b_py-0.1.3-cp38-none-win_amd64.whl (159 kB)
Collecting eth-bloom<2.0.0,>=1.0.3
  Using cached eth_bloom-1.0.3-py3-none-any.whl (5.4 kB)
Collecting py-ecc<5.0.0,>=1.4.7
  Using cached py_ecc-4.1.0-py3-none-any.whl (41 kB)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: mypy-extensions<1.0.0,>=0.4.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (0.4.3)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Requirement already satisfied: cached-property<2,>=1.5.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (1.5.2)
Collecting py-geth<3,>=2.4.0
  Using cached py_geth-2.4.0-py3-none-any.whl (23 kB)
Requirement already satisfied: semantic-version<3.0.0,>=2.6.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (2.8.5)
Collecting pyethash<1.0.0,>=0.1.27
  Using cached pyethash-0.1.27.tar.gz (38 kB)
Collecting pypiwin32>=223
  Using cached pypiwin32-223-py3-none-any.whl (1.7 kB)
Requirement already satisfied: pywin32>=223 in c:\gits\github\metemcyber\.venv\lib\site-packages (from pypiwin32>=223->web3[tester]) (300)
Requirement already satisfied: chardet<4,>=3.0.2 in c:\gits\github\metemcyber\.venv\lib\site-packages (from requests<3.0.0,>=2.16.0->web3[tester]) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from requests<3.0.0,>=2.16.0->web3[tester]) (2.10)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\gits\github\metemcyber\.venv\lib\site-packages (from requests<3.0.0,>=2.16.0->web3[tester]) (1.26.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\gits\github\metemcyber\.venv\lib\site-packages (from requests<3.0.0,>=2.16.0->web3[tester]) (2020.12.5)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: typing-extensions<4,>=3.7.4 in c:\gits\github\metemcyber\.venv\lib\site-packages (from trie==2.0.0-alpha.5->py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (3.7.4.3)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: sortedcontainers<3,>=2.1.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from trie==2.0.0-alpha.5->py-evm==0.3.0a20->eth-tester[py-evm]==v0.5.0-beta.3->web3[tester]) (2.3.0)
Requirement already satisfied: rlp<3,>=1.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from eth-account<0.6.0,>=0.5.3->web3[tester]) (2.0.1)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.1)
Requirement already satisfied: requests<3.0.0,>=2.16.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.25.0)
Requirement already satisfied: eth-hash[pycryptodome]<1.0.0,>=0.2.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.0)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (0.2.1)
Requirement already satisfied: jsonschema<4.0.0,>=3.2.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (3.2.0)
Requirement already satisfied: eth-typing<3.0.0,>=2.0.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.2.2)
Requirement already satisfied: eth-utils<2.0.0,>=1.9.5 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (1.9.5)
Requirement already satisfied: eth-abi<3.0.0,>=2.0.0b6 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (2.1.1)
Requirement already satisfied: protobuf<4,>=3.10.0 in c:\gits\github\metemcyber\.venv\lib\site-packages (from web3[tester]) (3.14.0)
Collecting websockets<9.0.0,>=8.1.0
  Using cached websockets-8.1-cp38-cp38-win_amd64.whl (66 kB)
Using legacy 'setup.py install' for bitarray, since package 'wheel' is not installed.
Using legacy 'setup.py install' for lru-dict, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pyethash, since package 'wheel' is not installed.
Installing collected packages: pyethash, py-ecc, multiaddr, lru-dict, eth-rlp, eth-keyfile, eth-bloom, blake2b-py, bitarray, websockets, pypiwin32, py-evm, ipfshttpclient, eth-account, web3, py-geth
    Running setup.py install for pyethash ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\gits\github\metemcyber\.venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\owner\\AppData\\Local\\Temp\\pip-install-71g6utt7\\pyethash_2821beedb0294453a9693f45fa68c00a\\setup.py'"'"'; __file__='"'"'C:
\\Users\\owner\\AppData\\Local\\Temp\\pip-install-71g6utt7\\pyethash_2821beedb0294453a9693f45fa68c00a\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'
"'exec'"'"'))' install --record 'C:\Users\owner\AppData\Local\Temp\pip-record-e8usjydf\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\gits\github\metemcyber\.venv\include\site\python3.8\pyethash'
         cwd: C:\Users\owner\AppData\Local\Temp\pip-install-71g6utt7\pyethash_2821beedb0294453a9693f45fa68c00a\
    Complete output (71 lines):
    running install
    running build
    running build_ext
    building 'pyethash' extension
    creating build
    creating build\temp.win-amd64-3.8
    creating build\temp.win-amd64-3.8\Release
    creating build\temp.win-amd64-3.8\Release\src
    creating build\temp.win-amd64-3.8\Release\src\python
    creating build\temp.win-amd64-3.8\Release\src\libethash
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\gits\github\metemcyber\.venv\include -IC:\Users\owner\AppData\Local\Programs\Python\Python38\include -IC:\U
sers\owner\AppData\Local\Programs\Python\Python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\include
" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0
.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcsrc/python/core.c /Fobuild\temp.win-amd64-3.8\Release\src/python/core.obj -Isrc/ -std=gnu99 -Wall
    cl : コマンド ライン warning D9002 : 不明なオプション '-std=gnu99' を無視します。
    core.c
    C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt\corecrt_io.h(49): warning C4820: '_finddata32i64_t': '4' バイトのパディングを データ メンバー 'name' の後に追加しました。
    C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt\corecrt_io.h(54): warning C4820: '_finddata64i32_t': '4' バイトのパディングを データ メンバー 'attrib' の後に追加しました。
    C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt\corecrt_io.h(64): warning C4820: '__finddata64_t': '4' バイトのパディングを データ メンバー 'attrib' の後に追加しました。
    C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt\corecrt_io.h(69): warning C4820: '__finddata64_t': '4' バイトのパディングを データ メンバー 'name' の後に追加しました。
    C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt\time.h(36): warning C4820: '_timespec64': '4' バイトのパディングを データ メンバー 'tv_nsec' の後に追加しました。
    C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt\time.h(43): warning C4820: 'timespec': '4' バイトのパディングを データ メンバー 'tv_nsec' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\object.h(182): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'slot' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\object.h(190): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'flags' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/object.h(212): warning C4820: '_typeobject': '4' バイトのパディングを データ メンバー 'tp_flags' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/object.h(256): warning C4820: '_typeobject': '4' バイトのパディングを データ メンバー 'tp_version_tag' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\pytime.h(123): warning C4115: 'timeval': 関数の仮引数リストで構造体、共用体、列挙型の定義に使われました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\bytearrayobject.h(30): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'ob_exports' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\bytesobject.h(41): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'ob_sval' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\bytesobject.h(165): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'small_buffer' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/unicodeobject.h(221): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'state' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/unicodeobject.h(625): warning C4820: '<unnamed-tag>': '2' バイトのパディングを データ メンバー 'readonly' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\longintrepr.h(88): warning C4820: '_longobject': '4' バイトのパディングを データ メンバー 'ob_digit' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\memoryobject.h(45): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'flags' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\memoryobject.h(62): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'flags' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\methodobject.h(56): warning C4820: 'PyMethodDef': '4' バイトのパディングを データ メンバー 'ml_flags' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\moduleobject.h(63): warning C4820: 'PyModuleDef_Slot': '4' バイトのパディングを データ メンバー 'slot' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(16): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー '_type' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(19): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'exitcode' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(202): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'parse_argv' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(357): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'legacy_windows_stdio' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(367): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'pathconfig_warnings' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(374): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'module_search_paths_set' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/initconfig.h(393): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'skip_source_first_line' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pystate.h(65): warning C4820: '_ts': '2' バイトのパディングを データ メンバー 'recursion_critical' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pystate.h(73): warning C4820: '_ts': '4' バイトのパディングを データ メンバー 'use_tracing' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pystate.h(96): warning C4820: '_ts': '4' バイトのパディングを データ メンバー 'gilstate_counter' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pystate.h(130): warning C4820: '_ts': '4' バイトのパディングを データ メンバー 'coroutine_origin_tracking_depth' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\genobject.h(35): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'gi_running' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\genobject.h(55): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'cr_running' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\genobject.h(72): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'ag_running' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\genobject.h(85): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'ag_running_async' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\descrobject.h(29): warning C4820: 'wrapperbase': '4' バイトのパディングを データ メンバー 'offset' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\descrobject.h(33): warning C4820: 'wrapperbase': '4' バイトのパディングを データ メンバー 'flags' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\structseq.h(20): warning C4820: 'PyStructSequence_Desc': '4' バイトのパディングを データ メンバー 'n_in_sequence' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(19): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(23): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(33): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(40): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(49): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(54): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\cpython/pyerrors.h(66): warning C4820: '<unnamed-tag>': '7' バイトのパディングを データ メンバー 'suppress_context' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\modsupport.h(97): warning C4820: '_PyArg_Parser': '4' バイトのパディングを データ メンバー 'max' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\code.h(32): warning C4820: '<unnamed-tag>': '4' バイトのパディングを データ メンバー 'co_firstlineno' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\code.h(69): warning C4820: '<unnamed-tag>': '3' バイトのパディングを データ メンバー 'co_opcache_size' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\import.h(138): warning C4820: '_frozen': '4' バイトのパディングを データ メンバー 'size' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\fileutils.h(73): warning C4820: '_Py_stat_struct': '4' バイトのパディングを データ メンバー 'st_dev' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\fileutils.h(75): warning C4820: '_Py_stat_struct': '2' バイトのパディングを データ メンバー 'st_mode' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\fileutils.h(79): warning C4820: '_Py_stat_struct': '4' バイトのパディングを データ メンバー 'st_rdev' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\fileutils.h(82): warning C4820: '_Py_stat_struct': '4' バイトのパディングを データ メンバー 'st_atime_nsec' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\fileutils.h(84): warning C4820: '_Py_stat_struct': '4' バイトのパディングを データ メンバー 'st_mtime_nsec' の後に追加しました。
    C:\Users\owner\AppData\Local\Programs\Python\Python38\include\fileutils.h(88): warning C4820: '_Py_stat_struct': '4' バイトのパディングを データ メンバー 'st_reparse_tag' の後に追加しました。
    src/python/core.c(2): fatal error C1083: include ファイルを開けません。'alloca.h':No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\gits\github\metemcyber\.venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\owner\\AppData\\Local\\Temp\\pip-install-71g6utt7\\pyethash_2821beedb0294453a9693f45fa68c00a
\\setup.py'"'"'; __file__='"'"'C:\\Users\\owner\\AppData\\Local\\Temp\\pip-install-71g6utt7\\pyethash_2821beedb0294453a9693f45fa68c00a\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close()
;exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\owner\AppData\Local\Temp\pip-record-e8usjydf\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\gits\github\metemcyber\.venv\include\site\python3.8\pye
thash' Check the logs for full command output.

READMEの修正

fix typo

sudo apt add-apt-repository -y ppa:ethereum/ethereum
aptが不要。

modify

このとき、先ほど作成した鍵ファイル
鍵ファイルのパスが分かりづらいので明記する。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.