比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Galaxy數字之美:新型智能合約Q語言,如何實現100%無BUG?(二)_GALA

Author:

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

在上篇《Galaxy數字之美:新型智能合約Q語言,如何實現100%無BUG?》中,我們為大家闡述了VNTChain基于形式化驗證的新型智能合約Q語言的它的設計原理及應用價值。大家似乎對這種既能保證100%無BUG同時操作簡單的Q語言如何操作應用更為“上頭”,那么本文我們就接著為大家分享其智能合約編譯方法和形式化驗證具體實現方式。

在使用這種新型智能合約Q語言前,我希望大家對它有足夠的了解,再去嘗試成為早期使用者。為了讓大家更好的理解與實操,我接下就先從類型系統來分析這種新型智能合約Q語言與傳統C,Crystal/Ruby語言的區別與優勢。

如上圖所示,在C、Crystal/Ruby語言中,`Class`是一切類的類,它也是自己的類;object為對象,一切對象均是某個類的實例,一切都是對象,包括類也是對象,=>類作為對象也有它的類。不懂技術的朋友可能會有點懵,那我們換一個直白的說法,也就是這些語言中字段不能被直接訪問,需要用方法包裝,這樣操作起來無疑比較復雜了。而這種新型智能合約Q語言中,類型被包含在更大的數學集合中,類型作為一種集合就可以交并補運算。原本的類型被叫做實體類,實體類具有字段、方法而數學集合沒有,所以操作起來就更為簡便。

Marathon Digital首席財務官Gallagher將于五月辭職:金色財經報道,比特幣礦企Marathon Digital宣稱,由于個人原因,公司首席財務官Gallagher將于5月12日左右辭去首席財務官一職,不過他的辭職并不代表與公司有任何分歧。[2023/4/1 13:38:33]

另外函數方面,一般傳統C,Crystal/Ruby函數的參數具有確定的類型,而我們新型智能合約Q語言的參數是數學集合。這一點是通過大量的泛型與實例化來實現的,只有合約API入口點需要具有確定的類型,而之后的函數調用均被泛型實例化,編譯時根據實際調用的參數類型派生出具有不同對應類型的函數。同時可以大量使用虛函數表,在保證一定性能的前提下,實現多類型參數。

火幣全球站將臨時下架 GALA:11月4日消息,火幣全球站發布關于Gala Token異常事件的處置公告,將暫時下架GALA。火幣將以確定事故發生的時間節點作為分界線,對后續執行買入操作的用戶,平臺將其買入的GALA資產更名Pgala,Pgala與原GALA代幣無關,屬于meme幣,目前已關閉充值,僅支持提幣和交易,請用戶注意風險。[2022/11/4 12:16:52]

這樣設計的優勢在于,編譯語言的函數與數學上的定理(Lema)有很強的相似性——從某種角度上一個函數就是對一個定理的描述,就可以十分輕松的用HOL表達,而用戶對其的證明,只需要證明此定理,而不需要像C語言的形式化證明那樣對函數建模。

動態 | Immutable 在 A 輪募資中獲得 Naspers 和 Galaxy EOS VC 基金的1500 萬投資:Immutable (Fuel Games )在其 A 輪募資中獲得 Naspers 基金和 Galaxy EOS VC 基金的 1500 萬投資。Immutable CEO 稱其致力于構建基礎的產品和技術,從而推進數字資產的真正所有權。據悉, Immutable (Fuel Games )是一家來自澳洲利亞的區塊鏈游戲公司。(Financial Post )[2019/9/24]

通過以上的對比分析,想必大家對這種新的Q語言已經有了更為深入的了解。接下來我們就來和大家具體講解這種Q語言的使用方法。如下流程圖所示:

聲音 | Galaxy Digital CEO:未來消費者只會認為持有比特幣是合乎邏輯的:據ethereumworldnews援引CNN消息,Galaxy Digital首席執行官Mike Novogratz在接受采訪時表示,在未來,隨著數字世界的擴展到新的高度,由千禧一代和Z一代組成的未來普通消費者只會認為持有比特幣而不是傳統黃金是合乎邏輯的。此外,盡管CNN主持人提到了加密貨幣濫用的話題,但Novogratz解釋說,目前正在建立解決方案,以機構支持的解決方案的形式來減輕這種風險,比如高盛提出的托管服務。[2018/9/27]

整個過程主要包括三大步驟:編程語言解析、形式化證明、代碼發射。下面是這個實操步驟的具體拆解:

實操步驟

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技術生態。

Tags:GALALAGALATALgal幣私募價格galaxypoolcoinGalaxy VillansTALE幣

萊特幣價格
什么是Plasma?Plasma Cash?_ASM

前言:我們知道Plasma是以太坊擴容方案之一,那么,到底什么是Plasma?什么是PlasmaCash?本文給我們一些簡要的說明.

1900/1/1 0:00:00
Gate.io Startup項目阿帕奇 (ARPA) 認購結果與開通交易公告_GATE

Gate.ioStartup首發區項目阿帕奇(ARPA)于2019年7月15日12:00開始認購下單,2小時內下單同等對待,總共有4790人下單,下單總價值超過2596萬美金.

1900/1/1 0:00:00
LOEX國際站8月2日15:00首發上線EDE

尊敬的LOEX用戶: Loex交易所即將上線EDE,并開放EDE/USDT的交易對,具體時間如下:Loex于新加坡時間8月2日10:00開放EDE充提幣業務.

1900/1/1 0:00:00
零售巨頭沃爾瑪新數字貨幣或與Libra競爭_比特幣

互鏈脈搏按:8月2日消息,美國專利商標局專利文件顯示,零售巨頭沃爾瑪正在探索推出一個與常規貨幣聯系起來的數字貨幣,類似于Facebook的數字貨幣Libra.

1900/1/1 0:00:00
穿透龐氏的迷霧 尋找價值的曙光 | 龐氏研究_Aptos

"被龐氏這層迷霧籠罩著的不只有滿地的生靈涂炭,還有價值的曙光......"這是我們龐氏系列的第三篇.

1900/1/1 0:00:00
MixMarvel 上海CJ引領鏈游全新賽道 星際旅行主題派對炫動黃浦江畔_MIX

8月2日晚19:30,區塊鏈游戲全球發行平臺MixMarvel在上海船廠1862劇場舉辦了行業主題派對.

1900/1/1 0:00:00
ads