若是你想與以太坊區塊鏈進行交互以獲取最新區塊的詳細信息,可使用以太網節點、本地節點或託管節點鏈接到以太坊區塊鏈的交易信息或發送交易。因爲有許多第三方插件和應用程序可用於執行此操做,你可能會認爲咱們爲何須要一個節點。若是要部署智能合約或使用腳本自動與智能合約交互,則須要設置節點,而當前的第三方插件或應用程序可能沒法實現這一點。php
若是你選擇使用像geth這樣的客戶端設置本地節點,它會將區塊鏈同步到你的計算機,這將佔用你的磁盤存儲空間。可是,這能夠經過設置託管節點來解決這個問題,其中有人控制節點,但你能夠自由鏈接到以太坊區塊鏈並使用它。Infura就是一種有助於創建本地節點的服務。java
在這裏,我將解釋如何爲64位Windows操做系統設置本地節點。請注意,本教程適用於64位Windows 8.1版本。可是,我相信其餘Windows版本(如Windows 10,Windows 8,Windows 7和Windows Vista)可能沒有太大差別。node
首先,我將列出假設你還沒有安裝NPM和Python等依賴項的步驟。代碼和詳細的解釋在本文稍後部分提到。python
讓咱們開始詳細說明,包括代碼。android
實際上,這是傳統Windows命令提示符的替代品。我我的不喜歡命令提示符,由於它缺少選項和缺少吸引力的用戶界面。若是你願意,能夠繼續使用命令提示符或將CMDER下載到C驅動器中的任何文件夾。程序員
訪問http://cmder.net/下載CMDER。web
下載後,只需雙擊cmder.exe文件便可打開CMDER(它不是安裝文件,而是一個程序)。當你第一次運行CMDER時,系統會要求你授予在計算機中進行更改的權限。只是授予權限,而後你就可使用CMDER了。mongodb
轉到官方Node.js網站並下載Node.js.而後安裝它。NPM將與Node.js一塊兒自動安裝。NPM將幫助咱們下載和安裝Windows構建工具。此外,Node.js和NPM將幫助咱們使用以太坊區塊鏈(如構建腳本)作不少事情。shell
Node.js網站:https://nodejs.org/en/npm
安裝完成後,打開CMDER並輸入如下代碼檢查它們是否正常工做。
node -v npm -v
你應該可以看到每一個程序的版本號做爲命令輸出的結果。
大多數時候,你獲得的NPM版本可能會過期,由於這會常常更新。所以,請在CMDER中使用如下命令將NPM升級到最新版本。
npm install npm@latest -g
經過安裝Windows構建工具,你將可以建立運行web3.py的必要環境,這有助於與以太坊區塊鏈進行交互。因此咱們這樣作吧。首先使用管理員模式打開Windows Powershell。(不要使用命令提示符或CMDER,由於它會提示你有錯誤)
如今咱們須要輸入如下代碼並按Enter鍵以安裝這些Windows構建工具。
npm install --global --production windows-build-tools
這可能須要幾分鐘才能完成。
NPM將在此步驟中安裝Python 2.7。可是,咱們須要Python 3.5或更高版本才能使用Web3.py。
轉到官方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
若是你獲得以下所示的響應,它能夠正常工做。
你能夠在CMDER中使用如下命令輕鬆安裝web3.py:
pip install web3
咱們須要一個python解釋器,如ipython來運行web3.py代碼。咱們來安裝吧。
在CMDER中輸入如下命令:
pip install ipython
如今咱們須要在Infura建立一個賬戶才能鏈接到以太坊區塊鏈。
訪問infura.io並免費註冊一個賬戶。驗證完電子郵件地址後,就能夠登陸主頁面了。如今只須要在ENDPOINT部分下可用的URL便可。若是須要鏈接到主網絡,請選擇該選項並複製該URL。
從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中設置以太坊託管節點