<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何低代碼開(kāi)發(fā)區(qū)塊鏈應(yīng)用 | 《超話區(qū)塊鏈》回顧

          共 2849字,需瀏覽 6分鐘

           ·

          2021-06-25 14:38


          區(qū)塊鏈技術(shù)近年來(lái)在國(guó)內(nèi)迅速發(fā)展,并在眾多領(lǐng)域開(kāi)展探索并有不少應(yīng)用落地。作為一門新型技術(shù),區(qū)塊鏈技術(shù)在助力企業(yè)效率提升的同時(shí),在人力成本、聯(lián)盟鏈兼容等方面仍然需要釋放更多可能性。


          如何降低區(qū)塊鏈的開(kāi)發(fā)成本、使其更高效便捷地應(yīng)用到產(chǎn)業(yè)當(dāng)中,成為提升企業(yè)區(qū)塊鏈應(yīng)用價(jià)值的關(guān)鍵所在。而目前在區(qū)塊鏈在實(shí)際應(yīng)用開(kāi)發(fā)過(guò)程中仍面臨諸多痛點(diǎn)。


          為此,微眾銀行區(qū)塊鏈在多年技術(shù)研究和應(yīng)用實(shí)踐的基礎(chǔ)上,積極分析、總結(jié)行業(yè)需求,研發(fā)了一套區(qū)塊鏈應(yīng)用開(kāi)發(fā)組件WeBankBlockchain-SmartDev,用低代碼方式在不影響原有業(yè)務(wù)的基礎(chǔ)上,解決區(qū)塊鏈與原有應(yīng)用之間的連接問(wèn)題。

          研發(fā)區(qū)塊鏈應(yīng)用開(kāi)發(fā)組件的初衷在于打造低代碼開(kāi)發(fā)的組件庫(kù),全方位助力開(kāi)發(fā)者高效、敏捷地開(kāi)發(fā)區(qū)塊鏈應(yīng)用。

          該組件包含了一套開(kāi)放、輕量的開(kāi)發(fā)組件集,覆蓋合約開(kāi)發(fā)、編譯、應(yīng)用開(kāi)發(fā)等環(huán)節(jié),開(kāi)發(fā)者可根據(jù)自己的情況選擇相應(yīng)開(kāi)發(fā)工具,提升開(kāi)發(fā)效率。

          其中包括WeBankBlockchain-SmartDev-Contract智能合約庫(kù)組件、WebankBlockchain-SmartDev-SCGP(SmartContractGradlePlugin) 智能合約編譯插件、WebankBlockchain-SmartDev-Scaffold區(qū)塊鏈應(yīng)用開(kāi)發(fā)腳手架組件等。

          對(duì)開(kāi)發(fā)者友好的一鍵式應(yīng)用開(kāi)發(fā)腳手架、合約模板等功能,便捷區(qū)塊鏈應(yīng)用開(kāi)發(fā),讓開(kāi)發(fā)過(guò)程朝“低代碼”模式邁進(jìn)。

            區(qū)塊鏈應(yīng)用開(kāi)發(fā)組件特性與原理

          這款應(yīng)用開(kāi)發(fā)組件從2020年初開(kāi)始籌劃,在 DAPP的開(kāi)發(fā)過(guò)程中也存在過(guò)各種各樣問(wèn)題。在解決這些問(wèn)題的過(guò)程中積累了一些經(jīng)驗(yàn),我們將這些經(jīng)驗(yàn)成功復(fù)用到應(yīng)用開(kāi)發(fā)組件中,下面我們一起看看應(yīng)用開(kāi)發(fā)組件的特性及原理。

          首先是智能合約庫(kù),它包含了基礎(chǔ)類型層,結(jié)構(gòu)數(shù)據(jù)層、通用功能層、上層業(yè)務(wù)層。

          • 基礎(chǔ)類型層:它包含數(shù)學(xué)運(yùn)算、字符串相關(guān)操作、數(shù)組操作和地址操作等。

          • 數(shù)據(jù)結(jié)構(gòu)層:它包含一些數(shù)據(jù)結(jié)構(gòu),例如可迭代映射、鏈表等。

          • 通用功能層:它包含一些crud合約,還有一些密碼學(xué)操作。

          • 上層業(yè)務(wù)層:包含溯源,存證等業(yè)務(wù)模板。








          其次是合約編譯插件傳統(tǒng)的操作方式是上傳合約到控制臺(tái),跑腳本,再將合約的內(nèi)容拷貝出來(lái),頻繁的編譯和調(diào)試過(guò)程需花費(fèi)大量的時(shí)間。而合約編輯插件只需執(zhí)行簡(jiǎn)單的指令,全自動(dòng)生成放到指定的位置,不用做額外拷貝。


          組件根據(jù)當(dāng)前的環(huán)境,選擇對(duì)應(yīng)的jar包,把 Solidity文件讀取出來(lái)并編譯,編譯會(huì)輸出三個(gè)內(nèi)容,分別是ABI、BIN、Java合約。其中 ABI是接口,智能合約的接口定義;BIN是合約二進(jìn)制,它包含國(guó)密版的二進(jìn)制和非國(guó)密版的二進(jìn)制;Java合約包含通過(guò)Java的方式去調(diào)用智能合約接口。


          最后是應(yīng)用開(kāi)發(fā)腳手架腳手架生成通用的DAPP項(xiàng)目結(jié)構(gòu)。


          首先,它包含合約、ABI和BIN關(guān)于合約相關(guān)的一些資源文件。


          其次就是代碼,可以分成兩部分:connection,config,utils,這些是用來(lái)連接區(qū)塊鏈和FISCO BCOS。


          再其次是service和POJO。service對(duì)應(yīng)的是智能合約的調(diào)用,POJO是智能合約的函數(shù)輸入。service的方法對(duì)應(yīng)的是智能合約中的函數(shù),調(diào)用service的方法,會(huì)自動(dòng)進(jìn)行拼裝交易、回執(zhí)解析。


          腳手架的原理包含如下幾點(diǎn),首先進(jìn)行一些通用的檢測(cè),然后生成模板文件,對(duì)智能合約進(jìn)行編譯,解析ABI的每一個(gè)合約的每一個(gè)函數(shù),讀取它的參數(shù),拼裝成對(duì)應(yīng)的Java類,最后生成項(xiàng)目的構(gòu)建。



            區(qū)塊鏈應(yīng)用開(kāi)發(fā)組件工具實(shí)操

          實(shí)操演示可配合視頻回放享用


          首先訪問(wèn)智能合約庫(kù)地址,它包括上層業(yè)務(wù),基礎(chǔ)類型、數(shù)據(jù)結(jié)構(gòu)、通用功能層,可以看到一些庫(kù)文件,還有一些demo,很方便去調(diào)用庫(kù)里的文件。 


          其次是合約編譯插件的實(shí)操。合約編輯插件其實(shí)使用起來(lái)也是很簡(jiǎn)單的,首先打開(kāi)官方文檔,對(duì)builg.gradle進(jìn)行依賴等配置,然后執(zhí)行g(shù)radle solc即可,插件會(huì)讀取到項(xiàng)目的hello world合約,默認(rèn)會(huì)從contract來(lái)讀取合約, 然后生成ABI和Java合約。


          最后是應(yīng)用開(kāi)發(fā)腳手架演示先將腳手架的代碼給拷貝下來(lái)。進(jìn)入tools目錄,在contract已經(jīng)默認(rèn)放了合約,然后是config.ini,這里可以定義一些常用的內(nèi)容,比如項(xiàng)目名、group組、編譯編譯器的版本、solidity版本等,我們可以按需改這些內(nèi)容。在windows和UNIX環(huán)境下會(huì)提供一個(gè)bat文件和shell文件。 


          我們來(lái)看下生成的項(xiàng)目。這是一個(gè)springboot項(xiàng)目,里面有對(duì)應(yīng)的依賴,包括像Java SDK,springboot等,從生成的代碼看,最核心的代碼是hello world service,它對(duì)應(yīng)hello world合約,service則對(duì)應(yīng)著合約里面的set和get函數(shù),調(diào)用set函數(shù)或者get函數(shù),從而調(diào)用對(duì)應(yīng)的智能合約。


          從resource目錄可知,里面包含了智能合約的輸入和輸出。同時(shí)也有conf目錄,幫助大家將鏈的節(jié)點(diǎn)上的一些證書(shū)拖下來(lái),可以放在conf目錄。application、properties是springboot的比較標(biāo)準(zhǔn)的配置文件。


          從test目錄可知, test里面會(huì)放了一些常用的功能,比如生成私鑰,部署一個(gè)合約,開(kāi)發(fā)者可以根據(jù)自己的想法,把這些功能放到demo里。這就是腳手架生成的demo項(xiàng)目,它包含很多以智能合約為核心的功能。


          最后,歡迎大家一起共同建設(shè)區(qū)塊鏈應(yīng)用開(kāi)發(fā)組件,智能合約庫(kù)長(zhǎng)期征集合約庫(kù)代碼,里面有幾十個(gè)任務(wù)任大家挑選,完成任務(wù)還將獲得禮品,歡迎參與!


          點(diǎn)擊閱讀原文參與智能合約庫(kù)活動(dòng)。


          體驗(yàn)WeBankBlockchain-SmartDev:

          SmartDev-Contract 智能合約庫(kù)組件

          https://github.com/WeBankBlockchain/SmartDev-Contract

          SmartDev-SCGP 合約編譯插件

          https://github.com/WeBankBlockchain/SmartDev-SCGP

          SmartDev-Scaffold 應(yīng)用開(kāi)發(fā)腳手架

          https://github.com/WeBankBlockchain/SmartDev-Scaffold




          《超話區(qū)塊鏈》


          《超話區(qū)塊鏈》是由FISCO BCOS 開(kāi)源社區(qū)推出的直播活動(dòng),每周四晚8點(diǎn),社區(qū)邀請(qǐng)一位技術(shù)極客或應(yīng)用先鋒,做客直播間分享開(kāi)發(fā)實(shí)踐或應(yīng)用心得。作為社區(qū)固定欄目,《超話區(qū)塊鏈》已舉辦近百場(chǎng),從技術(shù)研討到產(chǎn)業(yè)應(yīng)用均有觸達(dá),歡迎大家自薦或推薦朋友到直播間分享。公眾號(hào)對(duì)話框回復(fù)小助手入群觀看直播。




          瀏覽 58
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  高清精品热线视频 | 成人自拍偷拍在线视频 | 欧美大鸡巴| 日本AA片视频 | 私拍视频网 |