簡(jiǎn)介
如果是eos的普通用戶(hù)箭启,這段時(shí)間遇到的最大的問(wèn)題應(yīng)該是:“咦越走?cpu怎么又不夠發(fā)交易了?催享!”杭隙。繼ram之后,cpu又幫eos一次次的上了頭條因妙。其實(shí)痰憎,cpu資源緊缺的問(wèn)題,我們?cè)缭?月份就發(fā)現(xiàn)了并給官方提了issue攀涵,并第一次從官方口中得知了cpu資源分配的機(jī)制铣耘。下面,就跟大家講下cpu資源分配的原理以故。
CPU資源分配機(jī)制
其實(shí)蜗细,正如上面issue中block.one回復(fù)的,cpu資源分配的算法是動(dòng)態(tài)的怒详,遵循以下幾個(gè)原則:
1. 全網(wǎng)cpu的利用率分忙時(shí)和閑時(shí)炉媒,當(dāng)利用率超過(guò)一定閾值,即為忙時(shí)昆烁。這個(gè)閾值使用eosio.system的setparams方法修改吊骤,參數(shù)為target_block_cpu_usage_pct。目前静尼,eos主網(wǎng)的值為3000白粉,即cpu利用率為30%。
2. 每個(gè)區(qū)塊cpu總量=max_block_cpu_usage*target_block_cpu_usage_pct=200*0.3=60ms
3. 當(dāng)cpu利用率低于閾值鼠渺,單個(gè)賬戶(hù)最高可用的cpu=賬戶(hù)抵押的eos/全網(wǎng)抵押的eos*每個(gè)區(qū)塊cpu總量*1000倍鸭巴,倍數(shù)是動(dòng)態(tài)調(diào)整的,最高為1000
4. 當(dāng)cpu利用率高于閾值拦盹,單個(gè)賬戶(hù)可用cpu=賬戶(hù)抵押的eos/全網(wǎng)抵押的eos*每個(gè)區(qū)塊cpu總量鹃祖,嚴(yán)格的1:1分配
為了解決cpu不足的問(wèn)題,經(jīng)過(guò)兩次提案掌敬,target_block_cpu_usage_pct已經(jīng)由1000更改到了3000,最近一次提案詳情池磁。由此可見(jiàn)奔害,閑忙時(shí)期的cpu差異可能會(huì)非常大。閑時(shí)可用的cpu能發(fā)出一筆交易地熄,到忙時(shí)可能cpu就歸零了华临。更詳細(xì)的cpu問(wèn)題的解釋?zhuān)彝扑]斜杠大神的文章:"Dapp"你們走的太快了,請(qǐng)等等你們的"EOS",有興趣的親可以仔細(xì)讀讀端考。
CPU問(wèn)題解決方法
1. 賬戶(hù)加質(zhì)押
對(duì)于土豪來(lái)說(shuō)雅潭,加質(zhì)押當(dāng)然就能解決問(wèn)題揭厚,親測(cè)3000個(gè)eos質(zhì)押到cpu上,基本閑忙時(shí)都能cover住普通轉(zhuǎn)賬扶供。但是筛圆,不斷加質(zhì)押無(wú)疑是惡性循環(huán),最后eos成了富人的游戲椿浓,實(shí)際上eos全網(wǎng)的cpu利用率也并沒(méi)很高太援。
2. CPU租賃
針對(duì)cpu的諸多問(wèn)題,dapp們也是殫精竭慮的推出了很多解決方案扳碍。我就推薦幾家好用的cpu租賃dapp提岔,大家遇到問(wèn)題的時(shí)候可以自取。
1)bankofstaked
地址:https://eoslaomao.com/bankofstaked
出品方:超級(jí)節(jié)點(diǎn)eoslaomao
github:https://github.com/EOSLaoMao/BankofStaked-CE
之前笋敞,eoslaomao就在麒麟測(cè)試網(wǎng)號(hào)召中國(guó)的bp們參與cpu救濟(jì)行動(dòng)碱蒙,bankofstaked幾經(jīng)迭代,終于推出了穩(wěn)定的成品夯巷。無(wú)論從產(chǎn)品可用度赛惩,還是安全角度來(lái)說(shuō),都是非常過(guò)硬的鞭莽。這里分享一篇eoslaomao節(jié)點(diǎn)負(fù)責(zé)人趙余講解的bankofstaked設(shè)計(jì)思路坊秸,供感興趣的技術(shù)同學(xué)參考。
2)chintai
地址:https://eos.chintai.io/exchange/EOS7D
出品方:超級(jí)節(jié)點(diǎn)eos42
使用方法詳見(jiàn)eos42官方博文澎怒,chintai的年化收益率最高達(dá)到20%左右褒搔,不僅是cpu救急,屯幣的同學(xué)也可以選擇當(dāng)個(gè)包租公/婆穩(wěn)穩(wěn)的幸福即可喷面。
3)meetone錢(qián)包
地址:https://dapp.ethte.com/eostools/meetonestake
出品方:meetone錢(qián)包
假如星瘾,你只有一個(gè)賬號(hào)cpu告急,沒(méi)人來(lái)救你惧辈,或者手里沒(méi)有eos了琳状,但是有錢(qián)有支付寶,那meetone絕對(duì)是絕佳選擇盒齿。輸入賬號(hào)—付款—cpu即刻到賬—賬號(hào)活啦念逞。作為第一個(gè)通過(guò)apple store審核的eos錢(qián)包,meetone的產(chǎn)品體驗(yàn)和安全性也是絕對(duì)值得信賴(lài)的边翁。沒(méi)有eos賬號(hào)的同學(xué)翎承,也可以支付寶付款買(mǎi)一個(gè)eos賬號(hào),下載meetone錢(qián)包即可符匾。
后記
其實(shí)叨咖,上面說(shuō)的無(wú)論是改參數(shù),還是租賃,并沒(méi)有從根本上解決cpu緊缺的問(wèn)題甸各。最近垛贤,麒麟測(cè)試網(wǎng)的中國(guó)bp們也在召集eos的開(kāi)發(fā)者們研究源碼,希望從根本上解決cpu分配機(jī)制問(wèn)題趣倾。另外聘惦,eos官方也準(zhǔn)備推出rex市場(chǎng),可以將eos兌換成rex進(jìn)行cpu兌換誊酌,但感覺(jué)和官方錢(qián)包一樣會(huì)拖很久才面世部凑,可以先不考慮了。有才華的大家碧浊,也可以研究下eos源碼:cpu資源分配涂邀,官方是很樂(lè)意接受pr的。