成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

web3公測(cè)版本教程(一)-ETH公有鏈節(jié)點(diǎn)同步

flybywind / 3738人閱讀

摘要:將返回進(jìn)程碼查看實(shí)時(shí)查看日志關(guān)閉殺死進(jìn)程同步節(jié)點(diǎn)結(jié)論目前來(lái)說(shuō)和都是可以同步成功節(jié)點(diǎn)完全可以放在國(guó)外,同步速度會(huì)很快,使用連接執(zhí)行腳本就好有特殊需求國(guó)內(nèi)阿里云也可以同步成功。

ETH公有鏈節(jié)點(diǎn)同步

最近區(qū)塊鏈公司很多都會(huì)搞發(fā)糖果活動(dòng),一般都能吸引幾萬(wàn)粉絲,這就來(lái)了一個(gè)需求,給人家發(fā)糖果。主流的geth,parity,甚至imtoken錢(qián)包只能輸入地址一筆筆交易,幾萬(wàn)筆交易人工根本無(wú)法完成,于是開(kāi)始研究使用web3腳本群發(fā)交易。

在2017年7月25號(hào),web3就已經(jīng)發(fā)布web3v1.0.0-beta.9公測(cè)版本,但國(guó)內(nèi)甚至國(guó)外大部分教程還停留在早期的版本,其中的坑不言而喻,只看這些文章是根本跑不通的,作者就是深受其害,最后參考官網(wǎng)文檔,github issue才最終完成。

web3原理

通過(guò)RPC 調(diào)用與本地節(jié)點(diǎn)通信。web3可以與任何暴露了RPC接口的以太坊節(jié)點(diǎn)連接。

web3種類(lèi)

web3在github分為web3.js,web3j,web3.py,分別對(duì)應(yīng)node,java,python三門(mén)語(yǔ)言,要數(shù)node star人數(shù)最多,作者接下來(lái)教程也是web3.js。

web3.js使用前置條件

安裝node 最好使用v8.1,公測(cè)版web3使用大量異步操作,使用async等語(yǔ)法比較方便。

使用npm安裝web3,npm install web3 --save

linux或者mac環(huán)境(window環(huán)境下web3一直報(bào)錯(cuò),錢(qián)包問(wèn)題也很大)

web3是與本地節(jié)點(diǎn)通信(遠(yuǎn)程其實(shí)也行),所以必須同步一個(gè)以太坊節(jié)點(diǎn)

前三點(diǎn)相對(duì)比較容易,接下來(lái)主要講同步一個(gè)以太坊節(jié)點(diǎn)。

ETH公有鏈節(jié)點(diǎn)同步

目前來(lái)說(shuō)搞一個(gè)可用的以太坊節(jié)點(diǎn)有三種辦法

同步一個(gè)geth節(jié)點(diǎn)

同步一個(gè)parity節(jié)點(diǎn)

使用他人(包括節(jié)點(diǎn)服務(wù)商)同步的節(jié)點(diǎn)

第一次嘗試同步節(jié)點(diǎn)

首先使用geth錢(qián)包下載直接同步,結(jié)果400w塊左右后永遠(yuǎn)到不了終點(diǎn),現(xiàn)在回想cpu,內(nèi)存,硬盤(pán)網(wǎng)絡(luò)都有問(wèn)題,想同步簡(jiǎn)直做夢(mèng)。過(guò)后論壇尋找原因,是因?yàn)閲?guó)內(nèi)節(jié)點(diǎn)少網(wǎng)絡(luò)環(huán)境差,解決方法發(fā)現(xiàn)國(guó)內(nèi)有個(gè)星火節(jié)點(diǎn)的列表,教程大家可以搜索下,也成功配置但效果并不明顯,就不多說(shuō)這個(gè)。
失敗原因:以太坊節(jié)點(diǎn)對(duì)內(nèi)存,cpu,硬盤(pán)速度,網(wǎng)絡(luò)狀況要求都比較高,星火節(jié)點(diǎn)也只有36個(gè)節(jié)點(diǎn),很多還沒(méi)能同步到最新塊,所以大家有條件還要多多參與,攜手共建區(qū)塊鏈美好未來(lái)。

第二次嘗試同步節(jié)點(diǎn)

接下來(lái)逛論壇發(fā)現(xiàn)錢(qián)包不只有g(shù)eth還有parity輕錢(qián)包聽(tīng)說(shuō)國(guó)內(nèi)效果不錯(cuò),換來(lái)臺(tái)i5處理器,8g內(nèi)存,120g固態(tài)的電腦去同步,一天左右就同步成功了,但一直很不穩(wěn)定,過(guò)一會(huì)節(jié)點(diǎn)就會(huì)被遠(yuǎn)程節(jié)點(diǎn)拉開(kāi)距離,無(wú)法被web3使用。
失敗原因:使用任務(wù)管理器看cpu經(jīng)常到99%,配置還低,加上公司網(wǎng)絡(luò)也不穩(wěn)定。還有parity在windows環(huán)境下可能運(yùn)行也不是很穩(wěn)定。

第三次嘗試同步節(jié)點(diǎn)

發(fā)糖果日期漸漸到來(lái),由于不確定節(jié)點(diǎn)是放在本地還是服務(wù)器好,服務(wù)器放國(guó)內(nèi)還是國(guó)外好,geth還是parity,沖冠一怒得砸錢(qián),于是在阿里云上配置了兩臺(tái)服務(wù)器,配置同為8g 4核 500ssd 百兆帶寬是剛需,由于之前經(jīng)驗(yàn)還選擇了高計(jì)算型,一臺(tái)在華東部署parity節(jié)點(diǎn),另一臺(tái)部署geth節(jié)點(diǎn)在硅谷。結(jié)果都完成了華東的parity用了2天半,美國(guó)的geth用了一天半。

所用命令:
geth --fast --cache=2048 --rpc --rpcapi personal,web3,eth,net
--ws --wsorigins "*"

--fast 使用快速同步模式
--cache= 增大內(nèi)存使用
--rpc --rpcapi personal,web3,eth,net
開(kāi)啟rpc接口和personal等操作api,后邊rpcapi一定要寫(xiě)這也是遇到的一個(gè)坑,如果沒(méi)有后期能使用基礎(chǔ)web3函數(shù),但不能使用personal等API
--ws --wsorigins "*" 允許所有人使用ws連接

parity 官方提供了一個(gè)配置生成器,由于最后沒(méi)有在parity上開(kāi)發(fā),好用配置項(xiàng)目可以自行添加

問(wèn)題:

linux服務(wù)器geth,parity命令后如何退出ssh繼續(xù)執(zhí)行,退出自動(dòng)殺死執(zhí)行的進(jìn)程,使用nohup不掛斷的運(yùn)行命令,同時(shí)log輸出到output.log,修改命令如下。

nohup geth --fast --cache=2048 --rpc --rpcapi personal,web3,eth,net --ws --wsorigins "*" >> output.log 2>&1 & //將返回進(jìn)程碼
tail -f output.log //查看實(shí)時(shí)查看日志
kill processNum //關(guān)閉geth殺死進(jìn)程
同步節(jié)點(diǎn)結(jié)論

目前來(lái)說(shuō)parity和geth都是可以同步成功

節(jié)點(diǎn)完全可以放在國(guó)外,同步速度會(huì)很快,使用ssh連接執(zhí)行web3腳本就好有特殊需求國(guó)內(nèi)阿里云也可以同步成功。

配置至少4核 8g 300G固態(tài)

geth使用fast模式,parity使用warp模式,都是快速同步,完全可以用于web3開(kāi)發(fā)。這兩個(gè)模式默認(rèn)也是開(kāi)啟的為了保險(xiǎn)才加上參數(shù)。

同步時(shí)候總會(huì)有一些錯(cuò)誤,訣竅就是死等,geth同步完成后還會(huì)去重頭處理1000w多的數(shù)據(jù)不要驚慌等。geth偶爾會(huì)丟失異步失敗一些節(jié)點(diǎn)只要進(jìn)程不停就死等。parity后期會(huì)很慢因?yàn)楹筮厖^(qū)塊交易多也不要驚慌死等。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23975.html

相關(guān)文章

  • web3公測(cè)版本教程(三)-不用自己同步以太坊節(jié)點(diǎn),直接發(fā)起簽名交易

    摘要:最后毅然決然的選擇自己同步節(jié)點(diǎn)的苦逼之路。三用連接發(fā)起智能合約交易要發(fā)起交易首先要解決的就是問(wèn)題一,不可以用。自己同步節(jié)點(diǎn)就可以先解鎖在簽名交易,然后發(fā)送交易給其他節(jié)點(diǎn)。 一.前言 前文提到目前有一些公司提供公共的以太坊對(duì)外服務(wù),就是以你可以調(diào)用他的web3接口,之前一直被兩個(gè)問(wèn)題困擾,一個(gè)是覺(jué)得別人的節(jié)點(diǎn)不安全,還有初步嘗試后發(fā)現(xiàn)Infura節(jié)點(diǎn)沒(méi)有開(kāi)放賬戶(hù)相關(guān)的方法。沒(méi)法使用web...

    The question 評(píng)論0 收藏0
  • web3公測(cè)版本教程(二)-基礎(chǔ)異步語(yǔ)法,交易,簽名交易,ganache-cli

    摘要:可以解鎖,也可以將交易代碼寫(xiě)函數(shù)內(nèi)。簽名交易同理封裝一個(gè)異步函數(shù),實(shí)際上簽名交易分為兩個(gè)步驟簽名一個(gè)交易發(fā)送這個(gè)簽名的交易到區(qū)塊鏈。 一.開(kāi)發(fā)環(huán)境安裝及其搭建 1.安裝node 最好v8的可以使用ES6語(yǔ)法2.安裝ganacheganache介紹:雖說(shuō)真實(shí)發(fā)布必須要使用前文說(shuō)到的三種方法geth,parity,或其它服務(wù)商,但是測(cè)試開(kāi)發(fā)環(huán)境下,有一款本地基于內(nèi)存的錢(qián)包,不需要等待確認(rèn)交...

    Martin91 評(píng)論0 收藏0
  • python和flask框架開(kāi)發(fā)以太坊智能合約

    摘要:是以太坊開(kāi)發(fā)的個(gè)人區(qū)塊鏈,可用于部署合約,開(kāi)發(fā)應(yīng)用程序和運(yùn)行測(cè)試。安裝是一個(gè)用于與以太坊交互的庫(kù)。啟動(dòng)以太坊測(cè)試區(qū)塊鏈服務(wù)器要部署智能合約,我們應(yīng)該啟動(dòng)測(cè)試以太坊服務(wù)器。最后,你將在以太坊合約中設(shè)置調(diào)用用戶(hù)對(duì)象時(shí)獲得的值。 將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中是任何軟件應(yīng)用程序不可或缺的一部分。無(wú)論如何控制該數(shù)據(jù)庫(kù)都有一個(gè)該數(shù)據(jù)的主控。區(qū)塊鏈技術(shù)將數(shù)據(jù)存儲(chǔ)到區(qū)塊鏈網(wǎng)絡(luò)內(nèi)的區(qū)塊中。因此,只要某個(gè)節(jié)點(diǎn)與網(wǎng)...

    enrecul101 評(píng)論0 收藏0
  • python和flask框架開(kāi)發(fā)以太坊智能合約

    摘要:是以太坊開(kāi)發(fā)的個(gè)人區(qū)塊鏈,可用于部署合約,開(kāi)發(fā)應(yīng)用程序和運(yùn)行測(cè)試。安裝是一個(gè)用于與以太坊交互的庫(kù)。啟動(dòng)以太坊測(cè)試區(qū)塊鏈服務(wù)器要部署智能合約,我們應(yīng)該啟動(dòng)測(cè)試以太坊服務(wù)器。最后,你將在以太坊合約中設(shè)置調(diào)用用戶(hù)對(duì)象時(shí)獲得的值。 將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中是任何軟件應(yīng)用程序不可或缺的一部分。無(wú)論如何控制該數(shù)據(jù)庫(kù)都有一個(gè)該數(shù)據(jù)的主控。區(qū)塊鏈技術(shù)將數(shù)據(jù)存儲(chǔ)到區(qū)塊鏈網(wǎng)絡(luò)內(nèi)的區(qū)塊中。因此,只要某個(gè)節(jié)點(diǎn)與網(wǎng)...

    UnixAgain 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<