在上篇《Galaxy數字之美:新型智能合約Q語言,如何實現100%無BUG?》中,我們為大家闡述了VNTChain基于形式化驗證的新型智能合約Q語言的它的設計原理及應用價值。大家似乎對這種既能保證100%無BUG同時操作簡單的Q語言如何操作應用更為“上頭”,那么本文我們就接著為大家分享其智能合約編譯方法和形式化驗證具體實現方式。
在使用這種新型智能合約Q語言前,我希望大家對它有足夠的了解,再去嘗試成為早期使用者。為了讓大家更好的理解與實操,我接下就先從類型系統來分析這種新型智能合約Q語言與傳統C,Crystal/Ruby語言的區別與優勢。
如上圖所示,在C、Crystal/Ruby語言中,`Class`是一切類的類,它也是自己的類;object為對象,一切對象均是某個類的實例,一切都是對象,包括類也是對象,=>類作為對象也有它的類。不懂技術的朋友可能會有點懵,那我們換一個直白的說法,也就是這些語言中字段不能被直接訪問,需要用方法包裝,這樣操作起來無疑比較復雜了。而這種新型智能合約Q語言中,類型被包含在更大的數學集合中,類型作為一種集合就可以交并補運算。原本的類型被叫做實體類,實體類具有字段、方法而數學集合沒有,所以操作起來就更為簡便。
OKX Web3錢包與Web3憑證數據網絡Galxe達成官方合作:4月17日消息,據OKXWeb3推特消息,OKXWeb3錢包與Web3憑證數據網絡Galxe達成官方合作,用戶可以連接OKXWeb3錢包在Galxe建立和完成Web3鏈上任務。此外,OKXWeb3錢包的Discover板塊已同步收錄Galxe,用戶可以在Discover內一鍵登錄Galxe平臺。據了解,OKXWeb3錢包是最全面的異構多鏈錢包,已支持50+條公鏈,涵蓋錢包、DEX、賺幣、NFT市場、Dapp探索5大板塊,能夠滿足用戶一站式Web3需求。此外,OKXWeb3錢包已上線MPC無私鑰錢包,用戶無需再管理私鑰或者助記詞,即可輕松探索Web3世界。[2023/4/17 14:07:42]
另外函數方面,一般傳統C,Crystal/Ruby函數的參數具有確定的類型,而我們新型智能合約Q語言的參數是數學集合。這一點是通過大量的泛型與實例化來實現的,只有合約API入口點需要具有確定的類型,而之后的函數調用均被泛型實例化,編譯時根據實際調用的參數類型派生出具有不同對應類型的函數。同時可以大量使用虛函數表,在保證一定性能的前提下,實現多類型參數。
數字資產公司Galaxy Digital申請注冊為美國公司,并計劃在納斯達克上市:1月29日消息,數字資產公司 Galaxy Digital向美國證券交易委員會 (SEC)提交了一份注冊聲明,申請從開曼群島遷至美國特拉華州,該公司還計劃在納斯達克全球精選市場上市其 A 類普通股,擬議的股票代碼為“GLXY”。Galaxy Digital 由 Mike Novogratz 創立,目前在多倫多證券交易所上市,交易代碼同為“GLXY”。新申請正在接受美SEC審查,上市取決于證券交易所的批準。擬議的注冊變更還需得到 Galaxy Digital 股東和包括多倫多證券交易所在內的監管機構批準。[2022/1/29 9:20:42]
這樣設計的優勢在于,編譯語言的函數與數學上的定理(Lema)有很強的相似性——從某種角度上一個函數就是對一個定理的描述,就可以十分輕松的用HOL表達,而用戶對其的證明,只需要證明此定理,而不需要像C語言的形式化證明那樣對函數建模。
Galaxy Digital創始人將以太坊比作15年前的亞馬遜:Galaxy Digital創始人Mike Novogratz今日發表推文將以太坊與早期亞馬遜進行了比較,他稱,“看看以太坊,可能是15年前的亞馬遜,機智、遠見卓識、有毅力”。此外,他還向Vitalik Buterin和Joseph Lubin致敬,祝賀他們在以太坊五年內取得的成就。[2020/11/18 21:15:10]
通過以上的對比分析,想必大家對這種新的Q語言已經有了更為深入的了解。接下來我們就來和大家具體講解這種Q語言的使用方法。如下流程圖所示:
整個過程主要包括三大步驟:編程語言解析、形式化證明、代碼發射。下面是這個實操步驟的具體拆解:
動態 | Galaxy Digital數字資本管理公司資產初步統計為3.368億美元:Galaxy Digital旗下數字資本管理公司(Galaxy Digital Capital Management LP)報告稱,截至2019年8月31日,其管理的資產初步統計為3.368億美元,其中包括一筆封閉式投資。(newswire)[2019/9/14]
實操步驟
STEP1:編程語言解析
詞法語法分析,包括詞法分析,語法分析,將用戶的代碼解析成AST。其中詞法分析和語法分析,使用Crystal宏機制實現,代碼可以作為宏直接嵌入Crystal代碼中,也可以直接輸入AST,不通過宏式的語言描述,而是直接以方法調用的形式將對象傳入。
語義分析-階段1,檢查AST是否構成合法的語義。任何錯誤的詞法和語法將報出語法錯誤,并不是所有的AST都是合法的,語義分析將檢查,若檢查不通過,觸發語義錯誤。
STEP2:形式化證明
根據AST中形式化證明相關部分,生成形式化證明用的語法樹。
根據形式化證明用的語法樹生成Isabelle/HOL語言。
使用Isabelle交互式證明工具進行證明。
STEP3:代碼發射
語義分析-階段2:注冊全局參數或函數,確定外界可調用的接口與編譯目標,推倒編譯需要的信息,包括類型推導、內存空間分配、變量分配。
代碼發射:根據語義分析得到的完全信息,從Export開始編譯函數,及此函數調用到的函數,進而編譯出:目標函數、目標函數所調用的函數、API包裝函數、內部函數、智能合約的構造器,字段包裝函數,基于AST發射代碼。其中所有的Export函數必須是實例化后的函數,故確定Export的過程中即會實例化函數,而函數的實例化也即觸發了對此函數的類型推導。
當然,我們對這個實施操作的描述是為便于技術愛好者們能夠快速的理解和加以應用。我相信熟悉該領域技術的極客大神顯然可以很容易地對上述實施操作針對不同應用環境加以修改利用,并把我們解說的一般原理應用到其他實施例中而不必經過創造性的勞動,從而極大的提高工作效率。
現在,這種操作簡單且100%無BUG的Q語言你學會使用了嘛,是不是想要快速上手體驗一番?目前VNTChain主網Galaxy已經上線,一起來加入VNTChain技術生態成為新型智能合約Q語言早期使用者,與我們共同探索數字世界的美妙吧。VNTChain是一個開放的社區,我們會獎勵每一個為VNTChain做出貢獻的開發者,期待您的加入,共建VNTChain技術生態。
尊敬的IDAX用戶:??IDAX即將上線BST,并開放BST/BTC交易市場,具體時間如下:充值時間:8月6日16:00交易時間:8月7日16:00提幣時間:8月8日16:00 關于BST: a.
1900/1/1 0:00:00尊敬的ZT用戶: ZT將于近期上線IMG,并開啟IMG/USDT交易對,具體上線日期請關注官網公告.
1900/1/1 0:00:00巴比特現場報道,8月2日,由DappReview和CocoaChina聯合主辦的全球區塊鏈游戲生態大會在上海舉行.
1900/1/1 0:00:00概述:本文對區塊鏈、Hashgraph、DAG、Holochain四種分布式賬本技術進行了簡要介紹和比較,增加我們對分布式賬本技術的理解.
1900/1/1 0:00:008月5日,據中國基金報報道,記者統計發現,區塊鏈的投融資事件和比特幣的價格波動存在一定的相關性。在2019年一季度,僅有49家區塊鏈企業得到投資,是2018年以來區塊鏈投資事件最少的一個季度.
1900/1/1 0:00:00文章系金色財經專欄作者供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00