區塊鏈技術在經歷了十余年的發展后,漸呈“燎原之勢”,不斷在各行業落地生根。但同時,從技術的角度看,區塊鏈應用開發仍然有著較高的門檻,存在不少痛點,在應用開發各個環節上的用戶體驗、效率及安全有待提升。
在社區中,我們也經常聽到關于區塊鏈應用開發的諸多問題:
如何在solidity代碼中將賬戶地址和字符串互轉?
現有的solidity代碼是否支持高級語言中常用但相對復雜的數據結構,例如可迭代的mapping?
是否可以提供一套基于明確應用場景的可供復用、參考的智能合約代碼?
solidity智能合約如何快速編譯為abi和binary文件?
如何在使用gradle構建的區塊鏈應用中快速編譯智能合約代碼,而不必使用編譯腳本?
寫完智能合約后,如何編寫區塊鏈應用?
是否可以提供一個便于開發的區塊鏈應用代碼生成器?
編程小白如何快速上手區塊鏈應用開發?
...
這些問題既有與合約開發相關的,也有與應用開發相關的。基于此類場景問題,結合自身實踐經驗,微眾銀行區塊鏈正式開源區塊鏈應用開發組件WeBankBlockchain-SmartDev,期望從區塊鏈應用開發中的各個環節入手,多維度地提高區塊鏈應用的開發效率,幫助開發者成為區塊鏈應用開發的“10倍工程師”。目前,整個組件基于solidity語言開發。近期微眾銀行區塊鏈還開源了Liquid合約語言,未來我們也會適配Liquid語言。
Telegram在TON區塊鏈上啟動用戶名拍賣:10月28日消息,Telegram宣布在TON區塊鏈上啟動用戶名拍賣,拍賣在Fragment網站進行,支持用Toncoin交易。用戶將能夠使用Telegram、tonkeeper應用程序或基于TON的錢包登錄該網站,該網站還將幫助用戶將Telegram帳戶鏈接到他們購買的句柄。
據悉,兩個月前,Telegram創始人PavelDurov首次在推特提及想要推出NFT相關業務的計劃。彼時,除了用戶名,他還稱Telegram生態系統的其他元素,包括頻道、表情包或表情符號,以后也可能成為這個市場的一部分。(decrypt)[2022/10/28 11:51:05]
什么是應用開發組件?
區塊鏈應用開發組件WeBankBlockchain-SmartDev的研發初衷在于打造低代碼開發的組件庫,全方位助力開發者高效、敏捷地開發區塊鏈應用。WeBankBlockchain-SmartDev包含了一套開放、輕量的開發組件集,覆蓋合約的開發、編譯、應用開發等環節,開發者可根據自己的情況選擇相應開發工具,提升開發效率。
從合約開發的視角來看,對于常用的功能,不必再重復造輪子,只需按需引用,參考“智能合約庫”中的代碼,就可以引入相應功能,為合約開發的效率和安全保駕護航。對于非基礎性功能,例如業務場景,我們也提供了代碼模板供參考復用。
鵬博士:區塊鏈子公司尚無技術儲備,未來業務發展尚不明確:此前消息,A股上市公司鵬博士電信傳媒集團股份有限公司新增對外投資,與南京第三極區塊鏈科技有限公司共同成立南京鵬博士區塊鏈科技有限公司。今日,該公司就相關事項進行補充說明:1.上述媒體報道中提及的子公司,注冊成立于2020年3月4日,認繳注冊資本500萬元,公司持有其51%股權。目前雙方尚未實際出資,且未明確約定出資時間。2.該子公司尚無技術儲備,未開展任何業務,未來業務發展尚不明確,目前對公司業績無影響;3、合作方南京第三極區塊鏈科技有限公司于2016年成立,實繳注冊資本100萬元,技術開發人員規模較少,目前無區塊鏈技術相關專利,2019年度營收規模較小,尚未盈利。(中國證券報)[2020/3/10]
從合約編譯的視角來看,對于正在開發中的區塊鏈應用,不必再依賴控制臺對合約代碼進行編譯,只需使用合約gradle編譯插件就地編譯,便可立即得到abi、bin和java合約。這些編譯物直接被輸出到Java項目中,省去了拷貝的步驟,提供了如開發原生java程序一樣迅捷、絲滑的體驗。
從應用開發的視角來看,從智能合約到項目搭建,包含了大量機械而重復的工作,如創建項目、引入依賴、編寫配置代碼、訪問智能合約、編寫相關實體類等。相形之下,通過WeBankBlockchain-SmartDev,開發者可以選用應用開發腳手架。腳手架會根據智能合約自動生成項目工程。工程中已經包含了上述邏輯代碼,開發者只需基于該工程繼續添加業務邏輯代碼,聚焦在自身的業務上即可。
中文IT社區CSDN副總裁孟巖:通證成為區塊鏈最大的應用:近日,獵云網2018年度區塊鏈產業峰會在北京舉行,中文IT社區CSDN副總裁孟巖表示,區塊鏈最大的應用是通證,通證本質上要解決的是一個社群通過代碼決定什么樣的行為要受到實時的激勵、什么樣的行為要被實時的懲罰,以及怎樣確保激勵和懲罰是公平、公正的。區塊鏈的技術變革是一項重大的變革,它對現有商業模式及社會關系均有重塑作用,他認為普通投資者也可以參與,同時要明白參與的是什么。[2018/6/17]
應用開發組件包含哪些子組件?
智能合約庫組件
“天下苦solidity久矣”,在solidity智能合約開發過程中,如果沒有一套可參考的模板和代碼庫,不僅影響開發的效率,同時可能因為對智能合約開發的不熟悉而引入安全風險。智能合約庫涵蓋了從基礎類型到上層業務的常見solidity庫代碼,用戶可根據實際需要進行參考、復用。智能合約庫的層級結構如下:
1、基礎類型層:提供了常見的solidity內置類型的復雜操作庫函數,涵蓋了數學運算,整型轉換操作、字符串操作、地址操作合數組操作等。在增強內置基礎類型功能的同時,還為智能合約的安全保駕護航。
長三角醫院聯盟和騰訊將運用區塊鏈等技術共建“互聯網+醫聯體”:今日“長三角城市群醫院協同發展戰略聯盟”與騰訊簽署合作協議,將運用區塊鏈、云計算、大數據、人工智能等新一代信息通信技術做支撐,共同建設長三角地區“互聯網+醫聯體”。這也是推動長三角地區一體化發展的重要項目。[2018/6/1]
2、數據結構層:提供了其他高級編程語言中常見、而solidity語言中未提供的基礎數據結構,讓智能合約開發如虎添翼。
3、通用功能層:作為合約開發的“粘合劑”,現階段整合了CRUD、Table庫,并提供了密碼學庫,極大地便利了智能合約業務邏輯中的相關操作。
4、上層業務層:提供了積分和存證這兩個常見業務場景的智能合約模板。上述智能合約模板代碼遵循了高內聚、低耦合、易于升級的設計理念,既可供智能合約初學者學習和參考,也能給經驗豐富的智能合約開發者帶來啟迪和思考。
智能合約編譯插件
在以往的FISCOBCOS開發中,智能合約需要編譯,首先要安裝控制臺,然后在調試階段,需要把合約導入控制臺,編譯后再把java文件拷貝出來調試。且只要合約有變更,此流程就需要重新執行。因此,我們提供了智能合約編譯插件,用戶只需要在項目中調用gradle相關命令,就會自動根據項目中的合約生成abi、bin和java代碼,節省了大量寶貴的時間。
科達股份聯合發起設立科達區塊鏈產業基金:財聯社3月19日訊,科達股份公告,公司與上海瑞鼎鉅融簽署戰略合作框架協議,公司(LP)及瑞鼎鉅融(GP)擬共同投資,聯合發起設立寧波梅山保稅港區科達區塊鏈產業基金(有限合伙)。投資金額5000萬元人民幣。[2018/3/19]
應用開發腳手架
區塊鏈應用的開發流程,除了合約開發外、還包括應用開發。其中,應用開發又包括項目建立、引入依賴、配置代碼編寫、模型類編寫、服務類編寫、業務邏輯編寫等步驟。這些步驟相對繁瑣,影響了開發的效率。因此,我們提供了智能合約腳手架,用于一鍵式生成區塊鏈應用開發工程,降低了應用開發的難度。用戶將自己的合約導入腳手架,即可生成對應的應用開發模板工程,包含對應的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區塊鏈的四大核心技術Smart Game Tokenbitmart安卓版apkDeviantCoin
DeFi大勢,浩浩湯湯。FilDA非常榮幸能夠與大家共同參與這場金融的大變革。作為全球首個基于HECO的跨鏈借貸項目,FilDA始終堅持打造一個可信、安全、易捷的借貸服務平臺.
1900/1/1 0:00:00概要 1.?BTC投資者越來越傾向于長期持有,2020年,BTC供應中的57%持倉時間超過1年。2.?如今,BTC供應中的22%持倉時間超過5年。3.?2021年,BTC市值達到1萬億美元.
1900/1/1 0:00:00文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別防上當.
1900/1/1 0:00:00核心要點 1.新型貨幣戰爭需要戰略思想,戰略不同于戰術,是長遠計劃。2.有些人誤認為比特幣取代美元是一件好事。但美元是世界儲備貨幣,如果比特幣取代美元,代表比特幣可能會取代幾乎所有法幣.
1900/1/1 0:00:00來源:新浪財經 投入超過6900萬美元購買了一件數字藝術作品的加密貨幣創業者向非同質化代幣的投機買家喊話:準備虧本吧.
1900/1/1 0:00:00中國網財經4月7日訊近幾個月,區塊鏈領域最吸睛(金)的非NFT莫屬。“萬物皆可NFT”,2017年提出的以太坊ERC-721標準(Non-FungibleTokens,非同質化通證)在近期火爆“.
1900/1/1 0:00:00