比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

區塊鏈:區塊鏈應用開發組件:助力低代碼開發

Author:

Time:1900/1/1 0:00:00

區塊鏈技術在經歷了十余年的發展后,漸呈“燎原之勢”,不斷在各行業落地生根。但同時,從技術的角度看,區塊鏈應用開發仍然有著較高的門檻,存在不少痛點,在應用開發各個環節上的用戶體驗、效率及安全有待提升。

在社區中,我們也經常聽到關于區塊鏈應用開發的諸多問題:

如何在solidity代碼中將賬戶地址和字符串互轉?

現有的solidity代碼是否支持高級語言中常用但相對復雜的數據結構,例如可迭代的mapping?

是否可以提供一套基于明確應用場景的可供復用、參考的智能合約代碼?

solidity智能合約如何快速編譯為abi和binary文件?

如何在使用gradle構建的區塊鏈應用中快速編譯智能合約代碼,而不必使用編譯腳本?

寫完智能合約后,如何編寫區塊鏈應用?

是否可以提供一個便于開發的區塊鏈應用代碼生成器?

編程小白如何快速上手區塊鏈應用開發?

...

這些問題既有與合約開發相關的,也有與應用開發相關的。基于此類場景問題,結合自身實踐經驗,微眾銀行區塊鏈正式開源區塊鏈應用開發組件WeBankBlockchain-SmartDev,期望從區塊鏈應用開發中的各個環節入手,多維度地提高區塊鏈應用的開發效率,幫助開發者成為區塊鏈應用開發的“10倍工程師”。目前,整個組件基于solidity語言開發。近期微眾銀行區塊鏈還開源了Liquid合約語言,未來我們也會適配Liquid語言。

印度央行與HDFC銀行、印度國家銀行、IBM等合作開展區塊鏈貿易融資項目試點:6月23日消息,印度央行正在與十多家大型銀行合作,以開展以貿易融資為核心的區塊鏈試點項目,其中包括HDFC銀行、印度工業信貸投資銀行(ICICI Bank)和印度國家銀行(State Bank of India),該項目旨在防止貸款欺詐行為。

三位知情人士透露,總部位于比利時的SettleMint、總部位于美國的Corda Technologies和IBM將為印度央行在班加羅爾創新中心推動的項目提供技術支持。該試點項目目前處于“概念驗證”階段,將利用區塊鏈技術增強資金流動的可追溯性。(The Economic Times)[2022/6/23 1:26:13]

什么是應用開發組件?

區塊鏈應用開發組件WeBankBlockchain-SmartDev的研發初衷在于打造低代碼開發的組件庫,全方位助力開發者高效、敏捷地開發區塊鏈應用。WeBankBlockchain-SmartDev包含了一套開放、輕量的開發組件集,覆蓋合約的開發、編譯、應用開發等環節,開發者可根據自己的情況選擇相應開發工具,提升開發效率。

從合約開發的視角來看,對于常用的功能,不必再重復造輪子,只需按需引用,參考“智能合約庫”中的代碼,就可以引入相應功能,為合約開發的效率和安全保駕護航。對于非基礎性功能,例如業務場景,我們也提供了代碼模板供參考復用。

美國國會區塊鏈集團要求美國國稅局修訂慈善加密貨幣捐贈指南:在致美國國稅局專員 Charles Rettig的一封信中,眾議員 Tom Emmer 領導的國會區塊鏈集團要求改變該機構關于超過 5000 美元的慈善加密貨幣捐贈的指南,并允許對加密貨幣捐贈進行公平的市場評估。美國國稅局目前要求納稅人讓美國國稅局評估師確定其加密貨幣捐贈的價值,這與美國國稅局關于加密貨幣購買和銷售的指導不同,后者允許納稅人根據自由市場價值計算其義務。該組織在信中表示,捐贈金額應取決于自由市場價值,而不是估價師的決定。(CoinDesk)[2021/6/11 23:30:32]

從合約編譯的視角來看,對于正在開發中的區塊鏈應用,不必再依賴控制臺對合約代碼進行編譯,只需使用合約gradle編譯插件就地編譯,便可立即得到abi、bin和java合約。這些編譯物直接被輸出到Java項目中,省去了拷貝的步驟,提供了如開發原生java程序一樣迅捷、絲滑的體驗。

從應用開發的視角來看,從智能合約到項目搭建,包含了大量機械而重復的工作,如創建項目、引入依賴、編寫配置代碼、訪問智能合約、編寫相關實體類等。相形之下,通過WeBankBlockchain-SmartDev,開發者可以選用應用開發腳手架。腳手架會根據智能合約自動生成項目工程。工程中已經包含了上述邏輯代碼,開發者只需基于該工程繼續添加業務邏輯代碼,聚焦在自身的業務上即可。

聲音 | 慢霧科技聯合創始人余弦:現在的區塊鏈時代猶如當年的 Windows XP初期時代:慢霧科技聯合創始人余弦發微博表示,現在的區塊鏈時代猶如當年的 Windows XP初期時代,那大概是2006年開始,無成熟的治理規則,黑灰產業橫行,騙子橫行,投機者橫行。直到 Windows7/8/10的出現,2014年, XP時代終結,相關法律陸續誕生,亂象才出現第一次大洗牌。[2018/12/28]

應用開發組件包含哪些子組件?

智能合約庫組件

“天下苦solidity久矣”,在solidity智能合約開發過程中,如果沒有一套可參考的模板和代碼庫,不僅影響開發的效率,同時可能因為對智能合約開發的不熟悉而引入安全風險。智能合約庫涵蓋了從基礎類型到上層業務的常見solidity庫代碼,用戶可根據實際需要進行參考、復用。智能合約庫的層級結構如下:

1、基礎類型層:提供了常見的solidity內置類型的復雜操作庫函數,涵蓋了數學運算,整型轉換操作、字符串操作、地址操作合數組操作等。在增強內置基礎類型功能的同時,還為智能合約的安全保駕護航。

V神:中國區塊鏈行業現在面臨的主要挑戰是研發:今晚,以太坊創始人V神在王峰十問上表示,“中國區塊鏈行業里的開發人員質量正在不斷提高。今年六月,我在北京參加的一次活動上,很多與會者的素質真的很高,而且也給我留下了深刻的影響。我覺得,中國區塊鏈行業現在面臨的主要挑戰,其實是研發。如果你看一下是誰在發明算法,比如權益認證、分片、零知識證明等等,會發現其實都是以色列人、美國人發明的,還有些歐洲人發明的區塊鏈算法。而在亞洲,似乎只有新加坡。不過最近,我已經開始看到很多來自中國的學術論文,我希望中國區塊鏈行業能在研究方面有所改進。”[2018/6/22]

2、數據結構層:提供了其他高級編程語言中常見、而solidity語言中未提供的基礎數據結構,讓智能合約開發如虎添翼。

3、通用功能層:作為合約開發的“粘合劑”,現階段整合了CRUD、Table庫,并提供了密碼學庫,極大地便利了智能合約業務邏輯中的相關操作。

4、上層業務層:提供了積分和存證這兩個常見業務場景的智能合約模板。上述智能合約模板代碼遵循了高內聚、低耦合、易于升級的設計理念,既可供智能合約初學者學習和參考,也能給經驗豐富的智能合約開發者帶來啟迪和思考。

智能合約編譯插件

在以往的FISCOBCOS開發中,智能合約需要編譯,首先要安裝控制臺,然后在調試階段,需要把合約導入控制臺,編譯后再把java文件拷貝出來調試。且只要合約有變更,此流程就需要重新執行。因此,我們提供了智能合約編譯插件,用戶只需要在項目中調用gradle相關命令,就會自動根據項目中的合約生成abi、bin和java代碼,節省了大量寶貴的時間。

區塊鏈概念早盤大漲:財聯社1月5日訊,區塊鏈概念早盤大漲。截至發稿,暴風集團、四方精創、飛天誠信、新晨科技強勢漲停,御銀股份、贏時勝、高偉達等個股亦有大漲表現。[2018/1/5]

應用開發腳手架

區塊鏈應用的開發流程,除了合約開發外、還包括應用開發。其中,應用開發又包括項目建立、引入依賴、配置代碼編寫、模型類編寫、服務類編寫、業務邏輯編寫等步驟。這些步驟相對繁瑣,影響了開發的效率。因此,我們提供了智能合約腳手架,用于一鍵式生成區塊鏈應用開發工程,降低了應用開發的難度。用戶將自己的合約導入腳手架,即可生成對應的應用開發模板工程,包含對應的POJO類、服務類等,用戶可基于此直接開發區塊鏈應用項目。

應用開發組件使用場景

場景1:智能合約開發

在智能合約開發中,從基礎的四則運算到上層的業務場景,都可以使用成熟的、可復用的庫。

以四則運算為例,需要判斷是否存在溢出的風險,此時可以使用數學相關庫LibSafeMathForUint256Utils。

以數據結構為例,在solidity中,mapping類型的key不可被迭代,此時若需要使用對key進行迭代的映射,可以使用mapping相關的庫LibBytesMap。

以通用功能為例,如果希望引入哈希、驗簽等密碼學功能,則可以使用Crypto庫。

以業務場景為例,如果想實現存證功能,可以參考場景模板Evidence,模板中納入了相關實現,起到拋磚引玉的效果。

場景2:合約修改與調試

在區塊鏈應用開發、調試過程中,通常需要在項目中用到abi、bin、java合約等內容,并基于這些內容進行相應的調試。如果合約出于調整等原因而需要重新編譯,此時不必將合約拷入控制臺編譯,只需運行相應的gradle指令,就可以生成新的編譯物。同時,這些編譯物直接嵌在了項目中。如下圖示例中,對HelloWorld合約編譯后,產生的編譯物示例:

場景3:區塊鏈應用開發

假如用戶已經寫好了智能合約,需要基于智能合約,開發一個提供rest接口的web項目。在這種情況下,用戶可以將合約拖入腳手架,一鍵生成項目。下圖是生成的樣例工程,包含了必要的配置類、DAO相關代碼。開發者只需對項目進行必要的配置,并添加相應的controller等代碼,就可以輕松實現上述需求。

開源地址

github代碼庫地址

SmartDev-Contract智能合約庫組件

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

SmartDev-SCGP智能合約編譯插件

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

SmartDev-Scaffold智能合約應用開發腳手架

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

gitee代碼庫地址

SmartDev-Contract智能合約庫組件

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

SmartDev-SCGP智能合約編譯插件

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

SmartDev-Scaffold智能合約應用開發腳手架

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

文檔地址

SmartDev-Contract智能合約庫組件

https://smartdev-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-SmartDev-Contract/index.html?

SmartDev-SCGP智能合約編譯插件

https://smartdev-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-SmartDev-SCGP/index.html

SmartDev-Scaffold智能合約應用開發腳手架

https://smartdev-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-SmartDev-Scaffold/index.html

歡迎參與WeBankBlockchain的社區建設:

如項目對您有幫助,歡迎點亮我們的小星星(點擊項目左上方Star按鈕)。

歡迎提交代碼(Pullrequests)。

提問和提交BUG。

如果發現代碼存在安全漏洞,可通過以下地址上報:

https://security.webank.com/

Tags:區塊鏈SMAMARTDEV區塊鏈技術通俗講解小區SMARTCREDIT價格SMARTRealtyDEVO幣

火幣網下載官方app
比特幣:比特幣持倉周報:反彈難以為繼?機構、散戶一致逆勢棄多逐空

撰文:7 4月3日,CFTC公布了最新一期CME比特幣期貨周報,最新統計周期內BTC止跌反彈,并在周內取得了約4000美元的價格上漲,重新迫近60000整數關口.

1900/1/1 0:00:00
比特幣:觀點 | 加密貨幣是否具備“貨幣”的“價值”屬性?

作者:周子衡 近來,對于加密貨幣,即加密資產,的批判聲調似乎陡然升高了許多,既有來自國際上中央銀行家或財政監管當局的批駁,也有來自市場領域的警示,更不乏學術層面上的批評.

1900/1/1 0:00:00
XRP:本周最值得關注的3個項目:ENQ、XRP、XHV

上周,BTC近一個月以來再次突破60,000美元,雖然BTC在達到約60,900美元的高點后小幅回落,但目前依舊穩定在60,000美元以上.

1900/1/1 0:00:00
比特幣:一張圖讀懂:盤點支持比特幣支付薪水的大型企業

從被質疑、被調侃、被嘲笑,到從小眾極客群體中逐漸出圈,并讓曾經對此嗤之以鼻的華爾街巨頭們不惜推翻自我去積極擁抱,比特幣的共識正在迅速成長并擴散.

1900/1/1 0:00:00
BNB:Alpaca杠桿挖礦沖既虧?說說杠桿化流動性挖礦的那些坑

如果要問前段時間BSC上什么項目最IN,那非羊駝不可。羊駝全稱AlpacaFinance,是基于幣安鏈的杠桿挖礦項目.

1900/1/1 0:00:00
比特幣:贏家與囚徒:他們想用比特幣翻盤

對本就一無所有的人,動蕩才意味著希望。芬蘭赫爾辛基的冬天冰冷漫長。12年前的嚴冬,在赫爾辛基的一臺小型服務器上,中本聰生成了創世區塊和第一批50個比特幣.

1900/1/1 0:00:00
ads