1. 程式人生 > >Python在Windows中設定託管以太坊節點使用類庫Web3.py和Infura

Python在Windows中設定託管以太坊節點使用類庫Web3.py和Infura

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

如果你選擇使用像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 [email protected] -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作業系統中設定託管以太坊節點的基本步驟。

======================================================================

分享一些以太坊、EOS、比特幣等區塊鏈相關的互動式線上程式設計實戰教程:

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

  • java以太坊開發教程,主要是針對java和android程式設計師進行區塊鏈以太坊開發的web3j詳解。
  • php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智慧合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智慧合約開發與互動、過濾器和交易等。
  • EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智慧合約開發與部署、使用程式碼與智慧合約互動等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Java程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈儲存、去中心化共識機制、金鑰與指令碼、交易與UTXO等,同時也詳細講解如何在Php程式碼中整合比特幣支援功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。

匯智網原創翻譯,轉載請標明出處。這裡是原文Python Web3.py和Infura Windows中設定託管以太坊節點