BAIC佰客云公鏈?zhǔn)侵荚谕七M物聯(lián)網(wǎng)及AI之間數(shù)據(jù)互聯(lián)、交易結(jié)算、智能合約的去中心化區(qū)塊鏈技術(shù)平臺,也是目前唯一一家實際落地,支持IOT設(shè)備上鏈的物聯(lián)網(wǎng)公鏈。已于本月正式上線。
目前已經(jīng)有包括智能手環(huán)、智能牙刷、智能燉盅等多個設(shè)備上鏈支持。BAIC公鏈?zhǔn)侵荚谕七M物聯(lián)網(wǎng)及AI設(shè)備間數(shù)據(jù)交易、物物支付、智能合約的去中心化區(qū)塊鏈技術(shù)平臺,也允許開發(fā)者在其協(xié)議頂端創(chuàng)建IOT級別的去中心化應(yīng)用(DAPP)。BAIC公鏈希望可以幫助越來越多的IOT數(shù)據(jù)上鏈,為全球用戶打開物聯(lián)網(wǎng)數(shù)字新資產(chǎn)的大門。本日BAIC佰客云公鏈正式對外發(fā)布智能合約開發(fā)說明書,以供開發(fā)者參考。
1. 概述
本文對BAIC公鏈的智能合約開發(fā)的相關(guān)知識做簡要說明,為智能合約開發(fā)提供示例說明。
2. 所需知識背景
2.1. C/C++
BAIC區(qū)塊鏈平臺使用Web Assembly(WASM)執(zhí)行開發(fā)者提供的應(yīng)用代碼。目前最成熟的用于構(gòu)建應(yīng)用及WASM代碼編譯的工具鏈?zhǔn)莄lang/llvm及其C/C++編譯器。從應(yīng)用的高性能特性和安全需求出發(fā),C++將成為智能合約開發(fā)的最佳語言。
2.2. 開發(fā)環(huán)境
BAIC智能合約開發(fā)需要在特定的平臺環(huán)境中開發(fā),開發(fā)者至少熟悉其中一個開發(fā)環(huán)境。 BAIC支持的開發(fā)環(huán)境:
Ubuntu 16.10 或更高
MacOS Sierra 或更高
3. 環(huán)境搭建
開發(fā)BACI智能合約,開發(fā)環(huán)境平臺需要安裝的軟件包:
v 安裝C++ /boost庫
v 安裝Clang編譯器
v 安裝BAIC官方軟件包baic-sdk
軟件包安裝完成后設(shè)置環(huán)境變量即可。
4. 智能合約開發(fā)
本節(jié)詳細(xì)描述BAIC智能合約的運作機制和開發(fā)過程,包括智能合約的代碼編寫、代碼編譯、可執(zhí)行文件生成、文件格式描述等。
4.1. 合約開發(fā)基礎(chǔ)
4.1.1. 通信模型
BAIC智能合約通過action及共享內(nèi)存數(shù)據(jù)庫相互通信。異步通信導(dǎo)致的spam問題將由資源限制算法來解決。通信模型Inline保證執(zhí)行當(dāng)前的transaction或unwind;無論成功或失敗都會有通知。Inline 操作的scopes和authorities和原來的transaction一樣。
4.1.2. action vs transaction
一個action代表單個操作, 一個transaction是一個或多個action的集合。合約和賬戶通過action通信。action可以單個地發(fā)送,如果希望一次執(zhí)行批處理也可以集合起來發(fā)送。
4.1.3. action名的限定
action的類型實際上是base32編碼的64位整數(shù)。所以action名的最多10個字符,并且限制在字母a-z,A-Z, 0-9, 以及'_' 中。
4.1.4. transaction確認(rèn)
獲得一個transaction哈希并不等于transaction完成,它只表示該節(jié)點無報錯地接受了,而其他區(qū)塊生產(chǎn)者很可能也會接受它。但要確認(rèn)該transaction,你需要在transaction歷史中查看含有該transaction的區(qū)塊數(shù)。
4.1.5. 技術(shù)限制
transaction需要在1 ms內(nèi)執(zhí)行。 transaction的執(zhí)行時間需要在*小于等于1ms否則transaction將會失敗。
最大 30 tps。 目前根據(jù)測試公網(wǎng)設(shè)置,每個賬戶最多每秒可發(fā)布30個transactions。
4.2. 智能合約文件
4.2.1. HPP
HPP是包含CPP文件所引用的變量、常量、函數(shù)的頭文件。
4.2.2. CPP
CPP文件是包含合約功能的源文件。
從代碼中可以看到創(chuàng)建的合約(example)將繼承一個基礎(chǔ)合約baic::contract,這個合約是baic基礎(chǔ)合約,所有的開發(fā)的合約都要繼承這個合約。
在類中添加方法,作為action操作。例如上面的類中action1/action2方法就是合約的action操作。
BAIC_ABI這個宏是替開發(fā)者實現(xiàn)了 apply 函數(shù),使得開發(fā)者可以專注于業(yè)務(wù)邏輯。 開發(fā)人員只需要在宏中指定合同中的代碼和操作名稱,并且所有底層C代碼映射邏輯都由宏生成。在第一個參數(shù)中填入合約名稱(如example),第二個參數(shù)是action名稱(如(action1)(action2)。
4.2.3. WASM
想要部署到BAIC區(qū)塊鏈上的任何程序都需要先編譯成WASM格式。這是區(qū)塊鏈目前能接受的格式。
一旦您完成了CPP文件的開發(fā),您可以用clang工具將它編譯成一個文本版本的WASM 文件。
簡要的生成過程如下:實際使用中要添加相關(guān)參數(shù),具體見示例代碼。
1. 把源文件編譯成bc字節(jié)碼
$ clang -c example.cpp -o example.bc
2. 把多個bc字節(jié)碼鏈接成一個linked.bc文件
$ llvm-link -only-needed -o example.linked.bc example.bc
3. 通過linked.bc文件生成二進制s文件
$ llc -o example.s example.linked.bc
4. 將s文件轉(zhuǎn)成wast文件
$ baic-s2wast -o example.wast -s 16384 example.s
5. 將wast文件編譯成wasm文件
$ baic-wast2wasm example.wast example.wasm -n
6. 生成abi文件
$ baic-abigen -destination-file=example.abi -verbose=0 example.hpp
4.2.4. ABI
Application Binary Interface (ABI)是一個基于JSON的描述文件,是關(guān)于轉(zhuǎn)換JSON和二進制格式的用戶actions的。ABI還描述了如何將數(shù)據(jù)庫狀態(tài)和JSON的互相轉(zhuǎn)換。一旦您通過ABI描述了您的合約,開發(fā)者和用戶就能夠用JSON和您的合約無縫交互了。生成abi過程見上文。
5. 智能合約演示
5.1. 示例代碼 本節(jié)中,我們將一步步地構(gòu)建一個example合約。開始前,先完成上文的所有步驟。
示例代碼中 action1 和 action2 都是一個動作,一個動作表示單個操作,而一個交易是一個或多個動作的集合。合約和賬戶以動作的形式進行交流。動作可以單獨發(fā)送,也可以組合的形式發(fā)送。
5.2. 部署步驟
附件
合約開發(fā)示例也可以參照baic-sdk包中的test示例。合約部署詳細(xì)流程參照BAIC區(qū)塊鏈智能合約部署流程。BAIC官方網(wǎng)址:www.baic.io
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!
近日,遠(yuǎn)光軟件基于區(qū)塊鏈技術(shù)研發(fā)的“電益鏈能源金融平臺”榮獲廣東省信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)聯(lián)盟頒發(fā)的“2020年廣東省信息技術(shù)應(yīng)用創(chuàng)新優(yōu)秀產(chǎn)品和解決方案”獎,再次彰顯了公司在新技術(shù)應(yīng)用領(lǐng)域的創(chuàng)新能力。
在新時代的浪潮下,區(qū)塊鏈數(shù)字技術(shù)的應(yīng)用越來越廣泛,給各行各業(yè)帶來新機遇的同時,也給金融秩序帶來了新的挑戰(zhàn)。虛擬貨幣具備匿名性、去中心化、追蹤難等特點,越來越多不法分子利用虛擬貨幣進行詐騙、傳銷、非法跨境轉(zhuǎn)移資產(chǎn)等違法犯罪活動,嚴(yán)重侵害人民群眾財產(chǎn)安全。
本次活動我們邀請到了50+行業(yè)領(lǐng)袖人物,通過演講、對話、作品展等方式,帶領(lǐng)大家深入了解部落城的過去、現(xiàn)在及未來。希望通過一場創(chuàng)意與視聽交互的觀看旅程,解密區(qū)塊鏈帶來的加密世界、融合傳統(tǒng)勢力與新生力量的創(chuàng)新成果,一展區(qū)塊鏈生態(tài)發(fā)展全貌。
近日,NBA當(dāng)紅球星StephenCurry花119萬購買了一張NFT頭像,直接沖上了熱搜排行榜。擁有一個NFT頭像,不僅象征著財富,更是一種最前沿的時尚和品味。
通過創(chuàng)新應(yīng)用場景,推動其生態(tài)系統(tǒng)的發(fā)展和貨幣的流通是每一個項目的必修課。StatterNetwork作為一個有著強大技術(shù)支撐的元宇宙項目,其主網(wǎng)幣STT不僅僅局限于簡單的價值儲存和交易媒介,而是廣泛的應(yīng)用在全生態(tài)和跨鏈生態(tài)中。本文將深入探討STT的主要應(yīng)用場景與價值。1.二級市場交易作為Statte
近日,亞洲區(qū)塊鏈學(xué)會會長蔡志川博士發(fā)表了題為《波場TRON——數(shù)字未來之航,領(lǐng)航區(qū)塊鏈新時代》的文章指出,隨著新時代的來臨,區(qū)塊鏈技術(shù)和數(shù)字化經(jīng)營成為企業(yè)家升級的新引擎,孫宇晨和其創(chuàng)辦的波場TRON在過去幾年里發(fā)展迅速,尤其是在2023年,通過持續(xù)努力、技術(shù)創(chuàng)新和開放合作,波場TRON將繼續(xù)引領(lǐng)行業(yè)
9月4日,國際權(quán)威研究機構(gòu)IDC發(fā)布“中國BaaS廠商市場份額,2022”報告。報告顯示,螞蟻集團憑借螞蟻鏈以26.6%的市場占有率位居第一,騰訊云、華為云以16.3%、11.4%分列二三位。據(jù)了解,這是螞蟻鏈連續(xù)三年中國BaaS市場第一,據(jù)了解,螞蟻鏈?zhǔn)菄鴥?nèi)代表性的區(qū)塊鏈廠商,技術(shù)完全自主研發(fā)。其
2023年7月20日,成都鏈安創(chuàng)始人&CEO楊霞教授受邀在新一代信息技術(shù)安全與WEB3.0安全專題峰會上發(fā)表“區(qū)塊鏈安全態(tài)勢與技術(shù)研究”主題演講。成都鏈安楊霞教授首先介紹了全球區(qū)塊鏈安全態(tài)勢,指明目前全球區(qū)塊鏈安全事件層出不窮、居高不下,同時,區(qū)塊鏈、虛擬貨幣也被一些不法分子用來從事非法活動,監(jiān)管面
李先生是一位酒品收藏家,他對白酒的熱愛無與倫比,用心收集了許多珍貴的酒品。但是,他的收藏之旅卻遭遇到了一次大打擊。李先生為了慶祝自己生日,決定品嘗自己收藏了20年的白酒。激動之下,他打開珍藏的白酒,只想品味一口歷經(jīng)歲月的美酒。然而,想不到的是,香氣撲鼻之際,他發(fā)現(xiàn)嘴中的味道與記憶中的完全不同。心情一
成都鏈安上榜《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》2023年7月10日,嘶吼安全產(chǎn)業(yè)研究院聯(lián)合國家網(wǎng)絡(luò)安全產(chǎn)業(yè)園區(qū)(通州園)正式發(fā)布《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》。成都鏈安憑借自身技術(shù)實力以及在區(qū)塊鏈安全行業(yè)廣泛的品牌影響力,榮登《嘶吼2023網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》區(qū)塊鏈安全賽道榜單。這也是成都鏈安連續(xù)第二
近日,工業(yè)和信息化部辦公廳公布2022年區(qū)塊鏈典型應(yīng)用案例名單,江行智能《基于區(qū)塊鏈技術(shù)的工業(yè)園區(qū)“源網(wǎng)荷儲一體化”綜合能源服務(wù)系統(tǒng)》作為標(biāo)桿案例入選。據(jù)了解,本次區(qū)塊鏈典型應(yīng)用案例征集吸引了全國各大省市的優(yōu)秀區(qū)塊鏈項目的紛紛參與。經(jīng)企業(yè)自主申報、地方和央企推薦、專家評審等環(huán)節(jié)的層層考核,61個具較
近日,知帆科技、知帆學(xué)院發(fā)布了《2022年區(qū)塊鏈與虛擬貨幣犯罪趨勢研究報告》(下稱《報告》)。
11月19日,在由成都市人民政府、中國信息通信研究院主辦,成都鏈安協(xié)辦的第二屆中國可信區(qū)塊鏈安全攻防大賽啟動會上,成都市新經(jīng)濟發(fā)展委員會公布首批國家區(qū)塊鏈創(chuàng)新應(yīng)用試點項目,成都鏈安“區(qū)塊鏈+智慧助警服務(wù)平臺”項目入選首批試點項目名單,并獲得授牌。
近日,國內(nèi)AI繪畫應(yīng)用軟件“數(shù)畫”官方發(fā)布一條公告,引起整個AI繪畫業(yè)界的轟動。公告顯示“數(shù)畫”上線真人元宇宙AI虛擬頭像制作功能,并于2022年11月18日開始為畫友正式投入服役