以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

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

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語言中,類型被包含在更大的數學集合中,類型作為一種集合就可以交并補運算。原本的類型被叫做實體類,實體類具有字段、方法而數學集合沒有,所以操作起來就更為簡便。

唱歌手Earl Sweatshirt在Gala Music上發行NFT專輯:金色財經報道,說唱歌手Earl Sweatshirt和制作人The Alchemist的NFT專輯在Gala Music上發行,暗示專輯存在的線索和神秘信息引起了歌迷的熱議。[2023/8/27 12:59:15]

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

Bitfinex即將上線Gala Games(GALA):據官方公告,Bitfinex即將上線Gala Games(GALA),GALA(ERC-20)充值已于3月15日上午10:00(UTC時間)開放。GALA將于3月17日上午10:00(UTC時間)開始交易,支持交易對包括GALA/USD和GALA/USDt。[2022/3/16 14:00:14]

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

Galaxy Digital在《金融時報》投放比特幣巨幅廣告:8月13日晚間,灰度首席執行官Barry Silbert在推特上公布的圖片顯示,金融服務及投資管理公司Galaxy Digital在《金融時報》上投放了比特幣的巨幅廣告。廣告標語為:現在是投資比特幣的時候了。而在此前8月7日,Barry Silbert宣布將在知名有線頻道投放加密貨幣廣告。[2020/8/13]

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

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

動態 | Galaxy Digital推出比特幣基金和機構比特幣基金:據PR Newswire消息,11月19日,銀河數字控股有限公司宣布,其下屬的銀河數字資本管理有限公司推出了銀河比特幣基金和銀河機構比特幣基金,將為投資者和機構投資者提供安全的第三方托管服務。[2019/11/19]

實操步驟

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:ALAGALAGALTALShambalaMEGALANDgalxe幣未來的價值CRYSTAL

以太坊價格
WINk(WIN)抽簽完成并開放交易_WIN

親愛的用戶: 根據WINk的搖號中簽規則,Binance已完成WIN的抽簽工作,具體中簽結果如下: 尾號類型 簽號尾數 中簽數量 末1位數 2、3 167.

1900/1/1 0:00:00
Tim Draper:區塊鏈為人類的創造力開辟了新的道路_比特幣

與“先行者”同行 TimDraper|硅谷風投教父、德豐杰DFJ全球風投基金創始合伙人我在2004年第一次接觸倒到虛擬貨幣這個概念,當時一個韓國的實業家說起一款叫天堂的游戲風靡首爾.

1900/1/1 0:00:00
Revenues From Margin Funding Dedicated To LEO Redemptions_REV

AsofSundayJuly14th,aproportionofrevenuesfrommarginfundingactivitiesonBitfinexhavebeenallocatedtoU.

1900/1/1 0:00:00
CEO全球站關于QC主流區交易手續費調整公告_CEO

尊敬的用戶: CEO全球站將于2019年8月1日10:00起對QC主流區交易手續費全部調整為0.1%.

1900/1/1 0:00:00
ADN首發上線-活動等你來_ADN

ADN上線活動獎勵:1,500,000ADN活動時間:2019年6月13日16:00--2019年6月18日16:00安全團隊:被標記為“Fake_Phishing7972”的地址將20枚ETH.

1900/1/1 0:00:00
BiKi.com關于上線HL的公告(08-07)_BIKI

尊敬的用戶: BiKi.com即將開放HL的充值、提現,并開放HL/USDT交易對,具體時間如下:1、開放充值時間:8月6日10:00;2、開放提現時間:8月6日10:00;3、開放交易時間:8.

1900/1/1 0:00:00
ads