BAIC公鏈按照存儲(chǔ)空間大小收取手續(xù)費(fèi),其中的80%歸區(qū)塊打包者所有,20%歸獎(jiǎng)勵(lì)資金池所有,用戶年終分紅。目前打包的結(jié)構(gòu)是每一個(gè)一個(gè)區(qū)塊里面包含有多個(gè)事務(wù),每個(gè)事務(wù)可以包含多個(gè) action,每一個(gè)action對(duì)應(yīng)著一個(gè)智能合約的調(diào)用,目前收取手續(xù)費(fèi)是針對(duì)此次調(diào)用針對(duì)的在區(qū)塊鏈上所占的字節(jié)數(shù)進(jìn)行收費(fèi)。
收費(fèi)的標(biāo)準(zhǔn):
1. 按照事務(wù)的鏈存儲(chǔ)的字節(jié)數(shù)收取。
2. 我們也支持一個(gè)transaction包含了多個(gè)action,在這個(gè)情況下,則按照每個(gè)action 分別收費(fèi)。
在每個(gè)transaction提交的時(shí)候會(huì)針對(duì)每個(gè)action,加入交易手續(xù)費(fèi)的action。在區(qū)塊被同步到其他節(jié)點(diǎn)的時(shí)候,節(jié)點(diǎn)也驗(yàn)證該區(qū)塊內(nèi)部所有的節(jié)點(diǎn)的信息,這樣做的原因防止打包該取區(qū)塊的節(jié)點(diǎn)惡意修改代碼,收取超額的手續(xù)費(fèi),或者不收取手續(xù)費(fèi)。
測(cè)試內(nèi)容:
1. 區(qū)塊提交的時(shí)候交易手續(xù)費(fèi)。
3. 當(dāng)節(jié)點(diǎn)同步其他節(jié)點(diǎn)打包的區(qū)塊的時(shí)候,會(huì)驗(yàn)證交易手續(xù)費(fèi)的收取情況,如此正確,該節(jié)點(diǎn)會(huì)同步確認(rèn)該區(qū)塊,如果錯(cuò)誤,則應(yīng)該拒絕同步此區(qū)塊。
測(cè)試過(guò)程和結(jié)果:
其中1和2的正確性通過(guò)正常的業(yè)務(wù)來(lái)驗(yàn)證,并且增加了日志,可以從日志中看到執(zhí)行的action 的大小,來(lái)判斷手續(xù)費(fèi)的數(shù)目是否正確。
測(cè)試使用了智能合約發(fā)布和轉(zhuǎn)賬服務(wù)兩個(gè)場(chǎng)景,其中轉(zhuǎn)賬操作的占有的存儲(chǔ)比較少,測(cè)試使用了一個(gè)大小為 228 字節(jié),收取了0.228 DCNY 的手續(xù)費(fèi)。
執(zhí)行不同的action 的大小也不一樣。其中智能合約的發(fā)布占用的存儲(chǔ)比較多,在測(cè)試中發(fā)布的只能合約的大小為19014字節(jié),收取了19.0140 DCNY。
對(duì)于2的驗(yàn)證區(qū)塊的測(cè)試,需要修改某一個(gè)節(jié)點(diǎn)的代碼,把該節(jié)點(diǎn)惡意節(jié)點(diǎn),測(cè)試其他節(jié)點(diǎn)是否會(huì)拒絕同步該惡意節(jié)點(diǎn)的區(qū)塊。在測(cè)試過(guò)程中,修改了一個(gè)節(jié)點(diǎn)的代碼使得該節(jié)點(diǎn)收取了錯(cuò)誤數(shù)目的手續(xù)費(fèi),可以在有正確代碼的節(jié)點(diǎn)的日志中看到異常,該區(qū)塊并沒(méi)有被同步。
從BAIC公鏈的手續(xù)費(fèi)測(cè)試報(bào)告中可以看出,BAIC公鏈已完美通過(guò)了測(cè)試,下一篇測(cè)試報(bào)告也將在近日與大家見(jiàn)面。
編輯: