Python Web3.py 設定託管以太坊節點(Windows)

geeker發表於2018-11-01

如果你想與以太坊區塊鏈進行互動以獲取最新區塊的詳細資訊,可以使用乙太網節點、本地節點或託管節點連線到以太坊區塊鏈的交易資訊或傳送交易。由於有許多第三方外掛和應用程式可用於執行此操作,你可能會認為我們為什麼需要一個節點。如果要部署智慧合約或使用指令碼自動與智慧合約互動,則需要設定節點,而當前的第三方外掛或應用程式可能無法實現這一點。

如果你選擇使用像geth這樣的客戶端設定本地節點,它會將區塊鏈同步到你的計算機,這將佔用你的磁碟儲存空間。但是,這可以通過設定託管節點來解決這個問題,其中有人控制節點,但你可以自由連線到以太坊區塊鏈並使用它。Infura就是一種有助於建立本地節點的服務。

在這裡,我將解釋如何為64位Windows作業系統設定本地節點。請注意,本教程適用於64位Windows 8.1版本。但是,我相信其他Windows版本(如Windows 10,Windows 8,Windows 7和Windows Vista)可能沒有太大差異。

首先,我將列出假設你尚未安裝NPM和Python等依賴項的步驟。程式碼和詳細的解釋在本文稍後部分提到。

  • 1.安裝CMDER(非強制性)
  • 2.安裝Node.js和NPM
  • 3.安裝Windows構建工具
  • 4.安裝Python最新版本
  • 5.安裝Web3.py
  • 6.安裝iPython
  • 7.建立infura.io帳戶
  • 8.能夠與以太坊區塊鏈互動

讓我們開始詳細說明,包括程式碼。

第1步:安裝CMDER

實際上,這是傳統Windows命令提示符的替代品。我個人不喜歡命令提示符,因為它缺乏選項和缺乏吸引力的使用者介面。如果你願意,可以繼續使用命令提示符或將CMDER下載到C驅動器中的任何資料夾。

訪問http://cmder.net/下載CMDER。

下載後,只需雙擊cmder.exe檔案即可開啟CMDER(它不是安裝檔案,而是一個程式)。當你第一次執行CMDER時,系統會要求你授予在計算機中進行更改的許可權。只是授予許可權,然後你就可以使用CMDER了。

第2步:安裝Node.js和NPM

轉到官方Node.js網站並下載Node.js.然後安裝它。NPM將與Node.js一起自動安裝。NPM將幫助我們下載和安裝Windows構建工具。此外,Node.js和NPM將幫助我們使用以太坊區塊鏈(如構建指令碼)做很多事情。

Node.js網站:https://nodejs.org/en/

安裝完成後,開啟CMDER並輸入以下程式碼檢查它們是否正常工作。

node -v

npm -v

你應該能夠看到每個程式的版本號作為命令輸出的結果。

大多數時候,你得到的NPM版本可能會過時,因為這會經常更新。因此,請在CMDER中使用以下命令將NPM升級到最新版本。

npm install npm@latest -g

第3步:安裝Windows構建工具

通過安裝Windows構建工具,你將能夠建立執行web3.py的必要環境,這有助於與以太坊區塊鏈進行互動。所以我們這樣做吧。首先使用管理員模式開啟Windows Powershell。(不要使用命令提示符或CMDER,因為它會提示你有錯誤)

現在我們需要輸入以下程式碼並按Enter鍵以安裝這些Windows構建工具。

npm install --global --production windows-build-tools

這可能需要幾分鐘才能完成。

NPM將在此步驟中安裝Python 2.7。但是,我們需要Python 3.5或更高版本才能使用Web3.py。

第4步:安裝Python最新版本

轉到官方Python網站並下載適用於Windows的最新3.x可執行版本並執行安裝檔案。

Python下載頁面:https://www.python.org/downloads/windows/

勾選在Python安裝步驟中為所有使用者選項新增Python到PATH選項和安裝啟動程式。

在下一步中勾選pip和py啟動器選項並安裝Python。

Python和pip都應該正常工作了,這樣繼續Web3.py安裝。因此,請檢查在CMDER中輸入以下命令:

python -v

它將執行Python,並應顯示如下所示。

你可以使用以下程式碼退出Python:

exit()

現在讓我們看看pip是否正常工作。

使用CMDER中的以下程式碼:

pip -v

如果你得到如下所示的響應,它可以正常工作。

第5步:安裝Web3.py

你可以在CMDER中使用以下命令輕鬆安裝web3.py:

pip install web3

第6步:安裝iPython

我們需要一個python直譯器,如ipython來執行web3.py程式碼。我們來安裝吧。

在CMDER中輸入以下命令:

pip install ipython

第7步:建立Infura帳戶

現在我們需要在Infura建立一個帳戶才能連線到以太坊區塊鏈。

訪問infura.io並免費註冊一個帳戶。驗證完電子郵件地址後,就可以登入主頁面了。現在只需要在ENDPOINT部分下可用的URL即可。如果需要連線到主網路,請選擇該選項並複製該URL。

第8步:啟用與以太坊區塊鏈互動

從Infura獲得URL後。現在開啟CMDER並輸入以下程式碼:

ipython

from web3 import Web3

web3 = Web3(Web3.HTTPProvider("https://mainnet.infura.io/xxxxxxxxxxxxxxxxx"))

將URL替換為您的個人infura URL

如果在修改上述命令後沒有發生錯誤,那現在可以歡呼,你可以與以太坊區塊鏈進行互動。

讓我們測試一下我們是否真可以與以太坊區塊鏈進行互動。

讓我們輸入以下程式碼以獲取最新的塊編號:

web3.eth.blockNumber

你應該獲得最新的塊編號,如下所示:

這意味著你現在可以與以太坊區塊鏈進行互動。

你可以使用以下命令退出ipython

exit()

請注意,每次重新執行ipython時,都必須再次使用此步驟的前三個命令。

我希望本教程介紹了通過Infura在Windows作業系統中設定託管以太坊節點的基本步驟。

分享個以太坊區塊鏈相關的互動式線上程式設計實戰教程:

python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。

這裡是python 以太坊 web3j

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章