做為跨鏈互動(dòng)的基本,接口(API)是跨鏈服務(wù)平臺(tái)中重要一環(huán)?,F(xiàn)階段各種區(qū)塊鏈服務(wù)平臺(tái)帶來了充足的接口,這種接口是不是都需要在跨鏈服務(wù)平臺(tái)中再次完成?為了更好地完成普適性通用性的跨鏈服務(wù)平臺(tái),如何確定接口設(shè)計(jì)方案主旋律?為了更好地達(dá)到紛繁復(fù)雜的跨鏈要求,什么接口是一定的?WeCross的接口完成是什么樣的?文中將陪你一探究竟。
區(qū)塊鏈接口諸多,跨鏈?zhǔn)遣皇恰拔叶家?br>伴隨著區(qū)塊鏈技術(shù)性的發(fā)展趨勢,區(qū)塊鏈被普遍地應(yīng)用到各個(gè)領(lǐng)域中,為了更好地支撐點(diǎn)愈來愈多種多樣的應(yīng)用領(lǐng)域與繁雜的服務(wù)要求,區(qū)塊鏈接口也在不斷地提高、健全。現(xiàn)階段,流行區(qū)塊鏈服務(wù)平臺(tái)動(dòng)則給予幾十個(gè)接口。豐富多彩的接口巨大便捷了開發(fā)設(shè)計(jì),但是,對跨鏈來講,是否全部區(qū)塊鏈接口都必須用上,另當(dāng)別論。
以FISCO BCOS的getPbftView為例子,該接口用以獲得連接點(diǎn)所屬特定群聊內(nèi)的全新PBFT主視圖,是朝向PBFT共識(shí)算法獨(dú)有的接口,而針對選用其他共識(shí)算法的異構(gòu)體區(qū)塊鏈服務(wù)平臺(tái),這一接口顯而易見不足通用性。
因而,盡管區(qū)塊鏈接口諸多,怎樣挑選適合的接口設(shè)計(jì)制作跨鏈服務(wù)平臺(tái),還需聯(lián)系實(shí)際狀況深入分析。
確立關(guān)鍵需求,跨鏈可以“我只想要”
跨鏈服務(wù)平臺(tái)是中國聯(lián)通異構(gòu)體鏈的公路橋梁。為了更好地屏蔽掉區(qū)塊鏈的差異,減少跨鏈瀏覽復(fù)雜性,服務(wù)平臺(tái)與不一樣區(qū)塊鏈中間的互動(dòng)必須通用性統(tǒng)一的接口,因而,跨鏈需要的區(qū)塊鏈接口一定是不一樣區(qū)塊鏈都是有的關(guān)聯(lián)性接口。
根據(jù)對流行區(qū)塊鏈服務(wù)平臺(tái)的服務(wù)項(xiàng)目接口開展收集整理,大概可分成如下所示叁類:
合同類:這類接口用以完成智能合約布署、智能合約讀取等作用,他們是支撐點(diǎn)區(qū)塊鏈業(yè)務(wù)流程的主力軍接口,被經(jīng)常瀏覽。在其中合同讀取又可以劃分為查看類(沒發(fā)買賣)的讀接口和升級類(發(fā)買賣)的寫接口,常說的“上鏈”便是根據(jù)這一寫接口進(jìn)行。
事情類:適用于搭建區(qū)塊鏈?zhǔn)虑轫憫?yīng)機(jī)制,完成區(qū)塊鏈與業(yè)務(wù)流程層的觸發(fā)式連動(dòng)作用。區(qū)塊鏈根據(jù)調(diào)整或是Log的方法完成事情消息推送,隨后業(yè)務(wù)流程層根據(jù)監(jiān)視接口進(jìn)行事情捕獲以完成后面邏輯性。
情況類:適用于區(qū)塊鏈管理信息系統(tǒng),例如獲得區(qū)塊頭、查看區(qū)塊相對高度、查詢買賣等。這類接口多朝向運(yùn)維系統(tǒng),根據(jù)相互配合區(qū)塊鏈連接點(diǎn)日志,可以完成全部區(qū)塊鏈系統(tǒng)軟件的實(shí)時(shí)監(jiān)控系統(tǒng),并對異?,F(xiàn)象開展報(bào)警。
對跨鏈服務(wù)平臺(tái)來講,要實(shí)際操作跨鏈資源,合同類接口不可或缺;為了更好地監(jiān)視跨鏈要求,事情類接口也得有;為了更好地進(jìn)行跨鏈買賣認(rèn)證,就得取得每個(gè)鏈的區(qū)塊頭,因而,情況類接口也必須。

盡管每一個(gè)歸類都是有許多接口,但僅有每個(gè)區(qū)塊鏈通用性的接口相交才算是跨鏈的接口基本。不難看出,跨鏈的作用要求是相對性明確的,涉及到的接口總數(shù)還可以收斂性。
抽象性凝煉,跨鏈6個(gè)接口就可以了
即然早已明確跨鏈接口的主旋律,那麼跨鏈究竟必須哪些接口?最先必須確立一點(diǎn),跨鏈服務(wù)平臺(tái)的接口設(shè)計(jì)方案包括2個(gè)方面,朝向頂層業(yè)務(wù)流程給予的服務(wù)項(xiàng)目接口,及其朝向各種異構(gòu)體區(qū)塊鏈服務(wù)平臺(tái)的互動(dòng)接口。
大伙兒了解的HTTP協(xié)議書將全部網(wǎng)站訪問實(shí)際操作抽象性變成GET(獲取信息)和POST(遞交數(shù)據(jù)信息)二種方式 。在跨鏈情景中有跨鏈財(cái)產(chǎn)商品流通、資源分子換取、信息獲得、數(shù)據(jù)信息跨鏈升級及其關(guān)聯(lián)交易等諸多要求,他們實(shí)質(zhì)是獲得鏈上數(shù)據(jù)信息或升級鏈上數(shù)據(jù)信息。
因而,在服務(wù)項(xiàng)目接口層面,大家參考互聯(lián)網(wǎng)技術(shù)的成功案例,對跨鏈個(gè)人行為開展抽象性凝煉,發(fā)覺只必須包括下列叁個(gè)就可以:
復(fù)位:跨鏈資源復(fù)位接口,例如布署智能合約;
讀接口:獲得鏈上信息,朝向?qū)忛喦榫埃?br>寫接口:升級鏈上數(shù)據(jù)信息,朝向跨鏈發(fā)買賣情景。
跨鏈瀏覽除開獲得和傳送數(shù)據(jù)外,還擔(dān)負(fù)了跨鏈可靠認(rèn)證及其跨鏈?zhǔn)聞?wù)管理確保的重任,這取決于區(qū)塊頭同歩、跨鏈買賣認(rèn)證及其跨鏈?zhǔn)虑楸O(jiān)視等作用。根據(jù)對互動(dòng)全過程開展抽象性凝煉,跨鏈還必須下列叁個(gè)互動(dòng)接口:
獲得塊高:查看當(dāng)今塊高以進(jìn)行區(qū)塊頭同歩;
獲得區(qū)塊:查看區(qū)塊頭等艙信息進(jìn)行跨鏈買賣認(rèn)證;
申請注冊事情:用以監(jiān)視跨鏈?zhǔn)虑椤?br>擁有頂層服務(wù)項(xiàng)目和最底層互動(dòng)6個(gè)接口,便能連通業(yè)務(wù)流程層到區(qū)塊鏈中間的信息鏈接,與此同時(shí)也為跨鏈運(yùn)用屏蔽掉不一樣區(qū)塊鏈服務(wù)平臺(tái)在接口瀏覽協(xié)議書上的差異,根據(jù)統(tǒng)一的數(shù)據(jù)信息協(xié)議書和讀取文件格式進(jìn)行與好幾條區(qū)塊鏈的互動(dòng)。
設(shè)計(jì)方案落地式,WeCross陪你一探究竟
WeCross的接口完成根據(jù)以上構(gòu)思進(jìn)行。WeCross包含跨鏈路由器(router)和跨鏈電源適配器(stub)兩個(gè)核心部件,在其中跨鏈電源適配器以軟件的方法集成化到跨鏈路由器中。
跨鏈路由器向外給予的叁個(gè)關(guān)鍵服務(wù)項(xiàng)目接口分別是call、sendTransaction和customCommand。在其中call和sendTransaction用以合同的讀取,customCommand用以其他自定指令如合同布署,也為服務(wù)平臺(tái)保存拓展的概率,以融入飛速發(fā)展的跨鏈要求。
跨鏈電源適配器界定了6個(gè)關(guān)鍵區(qū)塊鏈實(shí)際操作接口,包含call、sendTransaction、customCommand、getBlockNumber、getBlock和registerEvent。
在其中前叁個(gè)與服務(wù)項(xiàng)目接口相匹配,getBlockNumber和getBlock各自用以區(qū)塊頭同歩和跨鏈買賣認(rèn)證,registerEvent用以監(jiān)視跨鏈?zhǔn)虑椤?br>在開發(fā)設(shè)計(jì)不一樣區(qū)塊鏈的跨鏈電源適配器時(shí),只必須完成以上6個(gè)接口便可根據(jù)軟件化的方法進(jìn)行異構(gòu)體區(qū)塊鏈的連接。
跨鏈路由管理不一樣區(qū)塊鏈的跨鏈電源適配器,當(dāng)接到來源于業(yè)務(wù)流程層的讀取要求,根據(jù)要求庫中的讀取總體目標(biāo)字段名明確該要求的最后動(dòng)向,隨后選擇相匹配的跨鏈電源適配器進(jìn)行要求的分享,最后進(jìn)行一次跨鏈讀取。
根據(jù)以上接口,WeCross現(xiàn)階段已完成對根據(jù)HTLC的跨鏈財(cái)產(chǎn)分子換取、根據(jù)2PC的跨鏈?zhǔn)聞?wù)管理等作用的適用,并朝向數(shù)據(jù)數(shù)據(jù)存證情景進(jìn)行多種多樣跨鏈作用認(rèn)證。
跨鏈技術(shù)性尚處探尋環(huán)節(jié),從業(yè)務(wù)流程應(yīng)用性考慮到,接口協(xié)議書設(shè)計(jì)方案應(yīng)找繁簡辦,“小而美”勝于“專而精”。
伴隨著區(qū)塊鏈服務(wù)平臺(tái)發(fā)展趨勢及其跨鏈要求的持續(xù)演變,跨鏈接口也會(huì)開拓創(chuàng)新,不斷完善和健全,迭代式向前?,F(xiàn)階段,跨鏈6個(gè)接口就能解決!
熱點(diǎn):區(qū)塊鏈 區(qū)塊鏈技術(shù) 智能合約 數(shù)據(jù)