Alpha Casper FFG 測試網(wǎng)指南

歡迎來到基于 pyethereum的第一個 alpha Casper FFG 測試網(wǎng)版本。該測試網(wǎng)彰顯了在加密經(jīng)濟(jì)學(xué) POS 上數(shù)年的工作成果,以及客戶端幾個月以來的緊密開發(fā)鞋囊。這是一個功能齊全,完全可用的網(wǎng)絡(luò)指郁,用戶可以發(fā)送交易挂脑,挖礦和成為驗(yàn)證人。但是景醇,距離網(wǎng)絡(luò)完全可以上線臀稚,仍然還有一些距離。一些參數(shù)與最終設(shè)置不同三痰,此外吧寺,比起其他使用更快語言實(shí)現(xiàn)的客戶端,目前唯一可用的客戶端 pyethereum散劫,在處理容量上相對要低得多稚机。因此,為了保證網(wǎng)絡(luò)的可持續(xù)性获搏,網(wǎng)絡(luò)參數(shù)將會嚴(yán)格受限赖条。千萬不要期待測試網(wǎng)的性能可以比得上 Geth 和 Parity 這樣優(yōu)秀的客戶端

什么是 Casper FFG,它是如何工作的

這個話題已經(jīng)超出了本文內(nèi)容纬乍,你可以在下面的鏈接中找到更多信息:

本文接下來的部分碱茁,將假定您對 Casper FFG 已經(jīng)有了一定的了解。

前言

如果你想要直接運(yùn)行節(jié)點(diǎn)仿贬,可以直接進(jìn)入下一節(jié)(“運(yùn)行節(jié)點(diǎn)”)纽竣。

在這里查看 ethstats :http://34.203.42.208:3000/

此外,你也可以使用 web3 (通過 sudo pip3 install web3 進(jìn)行安裝)茧泪,像下面這樣連接到一個節(jié)點(diǎn)(假設(shè)使用 Python 3):

> from web3 import Web3, HTTPProvider
> web3 = Web3(HTTPProvider('http://52.87.179.32:8545'))
> web3.eth.getBlock('latest')
# This should return the head of the chain

然后:

> import urllib.request, json

# This may take a while depending on your internet connection
> casper_abi = json.load(urllib.request.urlopen( "https://gist.githubusercontent.com/vbuterin/868a6213b058fb4f1fdfcf64e54f0e91/raw/33fc177da3863ec320d1ebf95816ba52ffbffbe8/casper_abi"))
> casper = web3.eth.contract(abi=casper_abi, address='0xbd832b0cd3291c39ef67691858f35c71dfb3bf21').call()

# This should return the current epoch
> casper.get_current_epoch()

通過查詢 Casper 合約 蜓氨,你可以看到可以調(diào)用的所有函數(shù)。任何公共變量(public variable)都有一個相對應(yīng)的 getter 方法队伟,比如语盈,如果變量 x 是公開的,那么就會有一個相對應(yīng)的 getter 方法 get_x()缰泡;關(guān)于有哪些 getter 的更多信息刀荒,可以查看 Viper 文檔。

運(yùn)行一個節(jié)點(diǎn)

為了運(yùn)行一個節(jié)點(diǎn)棘钞,按照下列指引下載并運(yùn)行一個 Docker 實(shí)例:

在 Ubuntu 上安裝 docker(如果你還沒有安裝的話):

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

該步完成后缠借,記得一定要退出重新登錄。

如果是 macOS宜猜,按照以下指引:https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac泼返。

獲取測試網(wǎng)節(jié)點(diǎn)的 docker 鏡像(注意,這會有幾百兆的下載):

$ git clone http://github.com/karlfloersch/docker-pyeth-dev
$ cd docker-pyeth-dev
$ make new-account
?? Creating keystore directory at ./validator/data/config/keystore
?? Enter a new password to encrypt your account:
?? Your password is stored at ./validator/data/config/password.txt
?? Pyethapp container is creating new address for you, might take few seconds:

運(yùn)行:

$ make run-node bootstrap_node=enode://d3260a710a752b926bb3328ebe29bfb568e4fb3b4c7ff59450738661113fb21f5efbdf42904c706a9f152275890840345a5bc990745919eeb2dfc2c481d778ee@54.167.247.63:30303

如果 encode 不成功的話姨拥,試一下這個:enode://a120401858c93f0be73ae7765930174689cad026df332f7e06a047ead917cee193e9210e899c3143cce55dd991493227ecea15de42aa05b9b730d2189e19b567@52.87.179.32:30303绅喉。

如果正在運(yùn)行一個節(jié)點(diǎn),那么你可以使用 web3.py 來接入它:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                            NAMES
20a0dfe1d9e2        casper-validator    "sh /root/start.sh p…"   18 minutes ago      Up 18 minutes       8545/tcp, 30303/tcp, 30303/udp   validator
$ docker exec -it 20a0dfe1d9e2 python

運(yùn)行 docker ps叫乌,用輸出中出現(xiàn)的 container ID 替換 20a0dfe1d9e2柴罐。然后在出現(xiàn)的 Python console 里面重復(fù)上面的 web3 指引,不過要用
Web3(HTTPProvider('http://localhost:8545')) 來替換遠(yuǎn)端節(jié)點(diǎn)(remote node)憨奸。

要挖礦的話:

$ make run-node mine_percent=90 bootstrap_node=enode://d3260a710a752b926bb3328ebe29bfb568e4fb3b4c7ff59450738661113fb21f5efbdf42904c706a9f152275890840345a5bc990745919eeb2dfc2c481d778ee@54.167.247.63:30303

如果出現(xiàn)下面的錯誤:

docker: Error response from daemon: Conflict. The container name "/validator" is already in use...

那么革屠,運(yùn)行 docker rm validator 即可解決。

運(yùn)行一個驗(yàn)證者

首先排宰,要成為一個驗(yàn)證人似芝,你需要有足夠的測試網(wǎng) ETH。你可以通過挖礦板甘,或是向我們要 ETH(faucet 也會很快有的)党瓮。

如果向我們要 ETH 的話,你需要有一個 ETH 地址盐类∧椋可以使用自己已經(jīng)生成的一個 keystore 文件痕寓,比如使用 geth 或者 pyeth_keys,或者是使用 docker 工具來生成一個地址蝇闭。

通過運(yùn)行上面的 make new-account 命令呻率,以一個驗(yàn)證人的身份登錄,運(yùn)行:

make run-node validate=true deposit=2000 bootstrap_node=enode://d3260a710a752b926bb3328ebe29bfb568e4fb3b4c7ff59450738661113fb21f5efbdf42904c706a9f152275890840345a5bc990745919eeb2dfc2c481d778ee@54.167.247.63:30303

將 2000 改為你想要存入的任意數(shù)目 ETH (最低 1500)呻引。

隨后礼仗,讓 docker 節(jié)點(diǎn)保持運(yùn)行即可。注意逻悠,從登錄到進(jìn)入活躍的驗(yàn)證人集合并開始投票元践,將會花費(fèi)大概 1.5 代(dynasty)(通常 30 分鐘左右)的時間。

檢查狀態(tài)

除了 web3 路由童谒,你可以通過 Python console 進(jìn)行節(jié)點(diǎn)的不同玩法单旁。在 Python console 中輸入 Ctrl+C,你會看到一個提示:Hit [ENTER], to launch console; [Ctrl+C] again to quit! [0s]饥伊。再次輸入 Ctrl+C象浑,你就會進(jìn)入 console 了。

在 Python console 中琅豆,你可以使用 eth.chain 來獲取 pyethereum Chain 對象(文檔在 這里)愉豺。使用 eth.services.accounts.accounts[0].address 來獲得你的驗(yàn)證人地址,地址同樣也可以作為驗(yàn)證者的一種 ID茫因。你也可以創(chuàng)建一個 Python 對象來調(diào)用 Casper 合約的命令:

>> import urllib.request, json
>> casper_abi = casper_abi = json.load(urllib.request.urlopen( "https://gist.githubusercontent.com/vbuterin/868a6213b058fb4f1fdfcf64e54f0e91/raw/33fc177da3863ec320d1ebf95816ba52ffbffbe8/casper_abi"))
>> from ethereum.tools import tester
>> casper = tester.ABIContract(tester.State(eth.chain.state), casper_abi, '0xbd832b0cd3291c39ef67691858f35c71dfb3bf21')
>> casper.get_current_epoch()
# This should return the current epoch number

獲取自身數(shù)據(jù):

>> my_index = casper.get_validator_indexes(eth.services.accounts.accounts[0].address)
>> 
# This should return your current deposit size
>> casper.get_deposit_size(my_index)
>> 
# This should return the current dynasty, and your validator's start and end dynasty
>> casper.get_dynasty(), casper.get_validators__start_dynasty(my_index), casper.get_validators__end_dynasty(my_index)

使用 eth.app.services.chain.broadcast_transaction(tx) 來廣播一筆交易蚪拦。

輸入 Ctrl+D 來退出 pyethapp。

退出

你可以使用下面的命令退出:

make run-node validate=true logout=true bootstrap_node=enode://d3260a710a752b926bb3328ebe29bfb568e4fb3b4c7ff59450738661113fb21f5efbdf42904c706a9f152275890840345a5bc990745919eeb2dfc2c481d778ee@54.167.247.63:30303

然后任由驗(yàn)證人運(yùn)行冻押,當(dāng)撤銷階段(withdrawal period )結(jié)束驰贷,它會自動發(fā)送另外一筆交易來撤銷你的驗(yàn)證人身份。

注意洛巢,通常來說括袒,保持在線是很重要的。作為一個驗(yàn)證人狼渊,只有當(dāng)你的在線時長超過普通情況的一半箱熬,才可能盈利类垦。如果很多其他驗(yàn)證人離線狈邑,那么你可能需要幾乎保持時刻在線,才能夠不招致?lián)p失蚤认。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末米苹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子砰琢,更是在濱河造成了極大的恐慌蘸嘶,老刑警劉巖良瞧,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異训唱,居然都是意外死亡褥蚯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門况增,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赞庶,“玉大人,你說我怎么就攤上這事澳骤∑缜浚” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵为肮,是天一觀的道長摊册。 經(jīng)常有香客問我,道長颊艳,這世上最難降的妖魔是什么茅特? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮棋枕,結(jié)果婚禮上温治,老公的妹妹穿的比我還像新娘。我一直安慰自己戒悠,他們只是感情好熬荆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绸狐,像睡著了一般卤恳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寒矿,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天突琳,我揣著相機(jī)與錄音,去河邊找鬼符相。 笑死拆融,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的啊终。 我是一名探鬼主播镜豹,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蓝牲!你這毒婦竟也來了趟脂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤例衍,失蹤者是張志新(化名)和其女友劉穎昔期,沒想到半個月后已卸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡硼一,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年累澡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片般贼。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡永乌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出具伍,到底是詐尸還是另有隱情翅雏,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布人芽,位于F島的核電站望几,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏萤厅。R本人自食惡果不足惜橄抹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惕味。 院中可真熱鬧楼誓,春花似錦、人聲如沸名挥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禀倔。三九已至榄融,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間救湖,已是汗流浹背愧杯。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鞋既,地道東北人力九。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像邑闺,于是被迫代替她去往敵國和親跌前。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 以下原文轉(zhuǎn)載于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend閱讀 7,548評論 0 17
  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件检吆?Google Compute Engi...
    ahohoho閱讀 15,511評論 15 147
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一舒萎、Docker 簡介 Docke...
    極客圈閱讀 10,476評論 0 120
  • 一周七天,最快樂的是周五和周六蹭沛,周日沉浸在即將到來的周一臂寝。如今,為了獲得自己想要的結(jié)果摊灭,已經(jīng)分不清到底是工作日還是...
    雨霽初晴閱讀 559評論 0 3
  • 皮膚過敏給人造成很大的困擾咆贬,有效日常護(hù)理可以減輕這個問題具體怎樣呢? 要進(jìn)行皮膚敏感測試 對于過敏體質(zhì)的人...
    蘇州浪花閱讀 893評論 0 50