喜迎國(guó)慶期間,比原鏈在自己的移動(dòng)端錢包Bycoin(下載地址)和google插件錢byone中推出了紅包應(yīng)用胸私,在國(guó)慶期間深受大家好評(píng)缔俄。
那我們今天就來大概介紹一下比原紅包,以及基于比原鏈開發(fā)dapp應(yīng)用的一些流程梳理踪区。
我們知道絕大多數(shù)公有區(qū)塊鏈項(xiàng)目的TPS都只有幾十上百。所以像紅包這種及時(shí)到賬的應(yīng)用在公鏈上實(shí)現(xiàn)還是有一定的技術(shù)難度吊骤,但是比原鏈卻在自己的側(cè)鏈上率先推出了紅包應(yīng)用缎岗。比原側(cè)鏈的TPS有數(shù)十萬,整個(gè)紅包應(yīng)用程序的并發(fā)量有將近2000白粉。所以在國(guó)慶期間數(shù)萬人同時(shí)搶紅包都完全沒出現(xiàn)任何問題传泊,這足以說明比原鏈側(cè)鏈性能優(yōu)越,適合開發(fā)區(qū)塊鏈應(yīng)用蜗元。下面我們來看一下整個(gè)紅包的實(shí)現(xiàn)過程或渤。
下圖是整個(gè)紅包的架構(gòu)圖:
由于紅包是基于側(cè)鏈的應(yīng)用,如果你是主鏈資產(chǎn)奕扣。要通過federation進(jìn)行資產(chǎn)跨鏈薪鹦,資產(chǎn)跨鏈到側(cè)鏈就可以使用紅包應(yīng)用。整個(gè)紅包應(yīng)用有四大模塊組成惯豆,第一個(gè)模塊是Blockcenter池磁,你可以把看成一個(gè)與比原側(cè)鏈交互的中間件。第二個(gè)模塊就是智能合約楷兽,第三個(gè)模塊是整個(gè)紅包應(yīng)用的服務(wù)端和存儲(chǔ)模塊使用的Mysql和Redis地熄,最后一個(gè)模塊是前端應(yīng)用,主要包括移動(dòng)端的Bycoin和網(wǎng)頁端的Byone芯杀。
對(duì)整個(gè)紅包框架做一個(gè)大概的拆分以后端考,我們就能明白整個(gè)紅包應(yīng)用的開發(fā)流程就是我們的Bapp開發(fā)流程。那我們首先從Bapp的前端來看揭厚,基于Google插件錢包的網(wǎng)頁應(yīng)用和Bycoin上的應(yīng)用都屬于Bapp的前端却特。這個(gè)模塊都是一些基本的功能,主要是收紅包筛圆,發(fā)紅包裂明,以及紅包記錄等幾個(gè)頁面。
紅包的智能合約模塊使用了猜謎合約太援,這個(gè)模塊的實(shí)現(xiàn)需要參考合約的開發(fā)流程闽晦,將合約部署好以后的參數(shù)配置在后端服務(wù)器。為什么使用猜謎合約呢提岔?其實(shí)發(fā)紅包的過程就是發(fā)起一個(gè)猜謎合約仙蛉,紅包口令就是謎底,用戶領(lǐng)取紅包的時(shí)候唧垦,輸入的口令其實(shí)就是謎底捅儒,然后資產(chǎn)就可以自動(dòng)轉(zhuǎn)移,就是領(lǐng)取紅包的這個(gè)過程。
下面我們來介紹一下Server模塊做的事情巧还,整個(gè)Server是紅包的核心業(yè)務(wù)邏輯和數(shù)據(jù)處理模塊,數(shù)據(jù)存儲(chǔ)則是存放在Mysql和Redis中鞭莽。同是Server也和Blockcenter相互調(diào)用(Blockcenter管理了BUTXO和一些主側(cè)鏈的接口封裝,可以看成中間件)麸祷,和比原的側(cè)鏈進(jìn)行交互澎怒。
通過我們對(duì)整個(gè)紅包應(yīng)用的模塊拆分,我們就能很清楚看到阶牍,Bapp的開發(fā)是多個(gè)模塊組合喷面,技術(shù)社區(qū)已經(jīng)將一些標(biāo)準(zhǔn)的模塊進(jìn)行封裝,做成中間件方便開發(fā)者調(diào)用走孽。開發(fā)其他類似的Bapp應(yīng)用就可以參考這個(gè)流程惧辈。
對(duì)紅包應(yīng)用的基礎(chǔ)介紹就這些,如果你想了解詳細(xì)的過程磕瓷,開發(fā)流程盒齿,以及某個(gè)模塊的具體實(shí)現(xiàn),可以在開源庫中查看源碼困食,和相關(guān)接口文檔边翁。如果有技術(shù)問題可以加微信:pymgdsb1314