4月12日,Qtum量子鏈全節(jié)點激勵計劃發(fā)布,瓜分百萬大獎!活動正式啟動截止目前為止獎勵持續(xù)發(fā)出了32個,社區(qū)熱度持續(xù)不減,但對于Qtum全節(jié)點如何去連接,為什么家庭網(wǎng)絡(luò)無法實現(xiàn)連接Qtum全節(jié)點?包括相關(guān)的端口設(shè)置卻知之甚少,因此奉上此篇社區(qū)教程幫助你更深入了解。在參加活動收獲獎勵的同時,也讓社區(qū)的朋友能夠成為Qtum技術(shù)專家。
傳統(tǒng)中心化的應(yīng)用程序有時僅需家庭網(wǎng)絡(luò)就可以很好的使用,但Qtum全節(jié)點設(shè)置會出現(xiàn)很多的狀況,例如你的防火墻、路由器、病毒軟件都會為自動阻止你。
隨時打開社交APP,你可以隨時向陌生人發(fā)起好友請求,本文就以 “好友請求”為例來講解Qtum節(jié)點的連接,就容易理解Qtum的節(jié)點是如何實現(xiàn)網(wǎng)絡(luò)協(xié)作的。
那么,究竟什么是Qtum全節(jié)點,節(jié)點網(wǎng)絡(luò)是如何相互連接的?如何設(shè)置這些內(nèi)置的防火墻和路由器?
為了解答以上的問題,我們有必要先了解端口和網(wǎng)絡(luò)協(xié)議基本概念,熟悉“netstat”這個工具。Qtum節(jié)點(核心錢包)會與多達125個節(jié)點相連接。前8個連接僅為出站連接:節(jié)點向外連接到其他8個節(jié)點。如果打開路由器和家庭網(wǎng)絡(luò)的端口3888,節(jié)點將接受其他9到125個節(jié)點的接入連接。具有接入連接的節(jié)點會支持連接到網(wǎng)絡(luò)的新節(jié)點,并會上傳區(qū)塊從而同步那些新節(jié)點。具有8個出站連接的節(jié)點做不到這一點。
1. 節(jié)點、錢包、共識
開始之前,先回顧下節(jié)點、錢包和共識在區(qū)塊鏈中的作用。
· 節(jié)點:在計算機網(wǎng)絡(luò)中,節(jié)點是連接到網(wǎng)絡(luò)的端點應(yīng)用程序,為網(wǎng)絡(luò)提供數(shù)據(jù)接口。Qtum全節(jié)點會接入到Qtum網(wǎng)絡(luò),將區(qū)塊鏈同步到本地存儲空間,并實時驗證。Qtum節(jié)點可以增強具有這些功能的網(wǎng)絡(luò)的安全性,并有助于提高對該類網(wǎng)絡(luò)效率。
· 錢包:錢包持有用于管理交易、顯示賬戶余額等的私鑰。輕錢包(移動錢包、網(wǎng)絡(luò)錢包、硬件錢包等)具有此功能,但它們并不是全節(jié)點,因為它們不會管理區(qū)塊鏈賬本,也不會像全節(jié)點那樣對所有交易和區(qū)塊進行處理。相反,這些輕錢包會通過調(diào)用API連接到運行了全節(jié)點的主服務(wù)器上。
· 共識: “共識”就是一個協(xié)議達成的過程,用于確定下一個生產(chǎn)區(qū)塊的節(jié)點。所有礦工(或委托人)都遵循相同的共識協(xié)議。
那么你會意識到Qtum核心錢包具有以下三個功能:節(jié)點、錢包、共識,并且核心錢包應(yīng)用程序可以通過以下方式運行:
1. 僅一個節(jié)點(沒有QTUM)
2. 一個節(jié)點和一個錢包(有QTUM,但沒有被委托)
3. 一個節(jié)點、錢包和共識(有QTUM并且正處于委托狀態(tài))
2. Qtum 節(jié)點
根據(jù)設(shè)計,Qtum節(jié)點的前8個連接僅為外聯(lián)。你發(fā)起了好友請求,并與其他節(jié)點連接。這種“外聯(lián)”概念可能會讓人覺得困惑;節(jié)點總是與對等節(jié)點進行雙向通信,但對此的解釋是對于前8個連接,你的節(jié)點會主動向其他節(jié)點發(fā)起連接從而來啟動連接。
超過8個對等節(jié)點的連接都將是傳入連接(除非你使用的是“addnode”命令,該命令始終會發(fā)起好友請求)。同時,你的節(jié)點將接受來自其他節(jié)點的連接請求-遠程節(jié)點正在發(fā)送“好友請求”。具有傳入連接的節(jié)點在Qtum網(wǎng)絡(luò)上具有特殊功能:它們允許新節(jié)點接入網(wǎng)絡(luò),并將之前存儲的區(qū)塊上傳到這些新節(jié)點。正是因為它們,網(wǎng)絡(luò)就不能隨著新的節(jié)點而擴大。
下面我們將看到,節(jié)點接收傳入連接的能力取決于路由器和家庭網(wǎng)絡(luò)是否打開了端口3888,以便這些傳入的好友請求能夠到達節(jié)點。
3. 路由器和家庭網(wǎng)絡(luò)
大多數(shù)的家庭網(wǎng)絡(luò)是通過互聯(lián)網(wǎng)服務(wù)提供商(ISP)提供的網(wǎng)絡(luò)訪問設(shè)備連接到互聯(lián)網(wǎng)的,該設(shè)備可以是電纜調(diào)制解調(diào)器、DSL調(diào)制解調(diào)器或其他網(wǎng)絡(luò)接口設(shè)備。調(diào)制解調(diào)器通常有一個內(nèi)置的路由器,路由器提供從單個ISP到家庭網(wǎng)絡(luò)上多個內(nèi)部IP地址的地址轉(zhuǎn)換。這些內(nèi)部IP地址通常由UPNP(通用即插即用)等協(xié)議自動分配,需要了解的是路由器會將單個外部公共IP地址映射到多個內(nèi)部專用IP地址從而使得設(shè)備能接入家庭網(wǎng)絡(luò)。
讓我們來看一個在家庭網(wǎng)絡(luò)上運行的Qtum節(jié)點的簡化網(wǎng)絡(luò):
ISP為這個寬帶客戶提供的公共IP地址是123.24.67.89,互聯(lián)網(wǎng)上任何地方的計算機都可以向這個地址發(fā)送消息。運行Qtum節(jié)點的計算機A的內(nèi)部網(wǎng)絡(luò)IP地址為192.168.1.10,運行網(wǎng)絡(luò)瀏覽服務(wù)的計算機B的內(nèi)部網(wǎng)絡(luò)IP地址為192.168.1.11,計算機C也是如此。
若進行通訊,路由器知道如何將一個網(wǎng)頁請求發(fā)送回計算機B,以及將一個Qtum節(jié)點傳出的節(jié)點請求返回到計算機A。但是在Qtum節(jié)點與具有這些傳出的對等節(jié)點請求的前8個節(jié)點連接之后又會發(fā)生什么呢?
對于傳入的對等節(jié)點的請求,路由器并不能夠智能地自動將這些好友請求路由到計算機A中的節(jié)點。網(wǎng)絡(luò)上的其他對等節(jié)點可以看到IP地址123.45.67.89正在運行著一個Qtum節(jié)點,它們會發(fā)送好友請求(通過端口3888),但路由器不知道是否要將該消息發(fā)送到計算機A、B或C。好友請求會被忘記,因此無法建立傳入連接,計算機A中的Qtum對等節(jié)點永遠都交不到任何新朋友。
IP地址上的端口后綴將傳入消息導(dǎo)向特定應(yīng)用程序。例如,你的網(wǎng)絡(luò)可以接收發(fā)送到端口80或端口101或端口3888的消息。要將傳入的好友請求發(fā)送到節(jié)點,我們需要開放計算機A的端口3888來使用端口轉(zhuǎn)發(fā)功能。
在這里我們需要,要打開端口3888,我們將路由器配置為將端口3888的任何流量都轉(zhuǎn)發(fā)到IP地址192.168.1.10上,從而到達計算機A中的節(jié)點。根據(jù)你的網(wǎng)絡(luò)設(shè)置,你還可以從錢包中映射端口3888:選擇設(shè)置--選項-網(wǎng)絡(luò)-使用UPnP來映射端口。
4. 安全性說明
網(wǎng)絡(luò)上總是存在風(fēng)險的,并且不能100%保證安全性。請理解端口是如何進行轉(zhuǎn)發(fā)的,并確定它是否適合于你的網(wǎng)絡(luò)和安全配置。為了提高安全性,你可以使用VPN或TOR連接,并更新你的的所有路由器、防火墻、操作系統(tǒng)和錢包軟件。最大程度的保證加密貨幣的安全性的方式就是使用是硬件錢包或離線的冷錢包。
5. 端口轉(zhuǎn)發(fā)
要設(shè)置端口轉(zhuǎn)發(fā),你需要登錄到路由器,首先,讓我們獲取路由器在網(wǎng)絡(luò)上的IP地址。在待運行節(jié)點的計算機上(本例中的計算機A),打開Web瀏覽器并在URL地址欄中輸入地址192.168.1.1(路由器IP)。如果這樣打不開路由器的登錄頁面,請打開計算機上的終端或命令行窗口,然后在Mac/Linux上輸入“ifconfig”或在Windows上輸入“ipconfig”。你將看到家庭網(wǎng)絡(luò)上的設(shè)備列表。查找“默認網(wǎng)關(guān)”行從而獲取路由器的IP地址:
接下來,你需要登錄到路由器。如果你之前從來沒有更改過帳戶名和密碼,你可以在路由器文檔中查找信息,也可以在顯示默認路由器密碼的網(wǎng)站中獲取。
網(wǎng)站portforward.com有流程和屏幕截圖,教你如何在數(shù)百個路由器上配置端口轉(zhuǎn)發(fā)(只需點擊它們的廣告),過程基本上就是登錄到你的路由器,找到設(shè)置端口轉(zhuǎn)發(fā)的部分,然后填寫一個表,將TCP輸入端口3888分配給節(jié)點的本地IP地址。
6. Canyouseeme.Org
可以使用網(wǎng)站canyouseeme.org來確認端口3888是否已經(jīng)打開。這個網(wǎng)站的運行機制是將“好友請求”發(fā)送到本地計算機上的特定端口(正在運行canyouseme網(wǎng)頁的瀏覽器所在的計算機)。確保Qtum節(jié)點正在運行中,以便它能夠響應(yīng)請求。如果端口已經(jīng)打開并且節(jié)點正在運行,則該網(wǎng)站會返回下面這條提示消息:
7. Qtum-Qt錢包對等節(jié)點信息
你可以使用幫助-調(diào)試窗口…-對等節(jié)點 來查看Qtum-Qt錢包上的對等節(jié)點的連接情況。在這里,你可以看到出站對等節(jié)點連接旁邊有一個小的“向下箭頭”,在入站對等節(jié)點連接旁邊有一個小的“向上箭頭”?;蛘咧恍鑶螕魧Φ裙?jié)點來查看詳細信息,信息顯示如下:
通過使用帶有命令行接口的服務(wù)器錢包qtumd,你可以通過輸入命令“getconnectioncount”和“getpeerinfo”來查看對等節(jié)點連接情況。
8. Netstat實用程序
在本節(jié)中,我們介紹了一些網(wǎng)絡(luò)實用程序和診斷技術(shù)。通常情況下,家庭網(wǎng)絡(luò)允許Qtum節(jié)點自動開始同步,但如果不能自動同步的話,這些工具可能有助于排除故障。
要想監(jiān)控家庭網(wǎng)絡(luò),推薦使用netstat,它可以使用程序通過命令提示符來運行此工具。Mac和Windows系統(tǒng)是內(nèi)置該程序的,不過在Linux上你可能需要手動安裝它(#apt get install net tools)。參考文獻2中給出了netstat選項列表。
“netstat -n”命令將以數(shù)字的形式顯示網(wǎng)絡(luò)地址和端口,它會列出連接到遠程節(jié)點端口3888上的節(jié)點。這里的前3行顯示了連接到節(jié)點端口3888的傳入連接,其余8行顯示了路由器分配的隨機端口號的傳出連接,因此它可以知道哪個本地計算機應(yīng)該得到響應(yīng):
參考材料:
1. 只有輸出連接的節(jié)點才有助于網(wǎng)絡(luò)的運行,但由于不能接受新的對等節(jié)點或上傳區(qū)塊來幫助新的對等節(jié)點同步區(qū)塊鏈
2. netstat程序
評論