CertiK DeepSEA編譯器支援螞蟻鏈,加碼可信區塊鏈

買賣虛擬貨幣
今年九月末,CertiK正式釋出DeepSEA 1.0編譯器。此版本的編譯器相較於今年一月釋出的pre-alpha版本DeepSEA,有兩個重大更新。在這次的釋出中CertiK完成了舊版本中的未完成特性,例如事件(events),keccak256雜湊,calldata等等。目前,DeepSEA 1.0編譯器支援所有在手冊中定義的語言特性。不僅如此,基於螞蟻鏈與CertiK的合作關係。在DeepSEA的新版本中,CertiK加入專屬於螞蟻鏈的關鍵字,從而讓智慧合約開發者可以使用和螞蟻鏈相容的32位元組識別符號。對於螞蟻鏈的支援螞蟻集團自2015年開始持續投入區塊鏈相關的研究,試圖構建在數字化變革中企業之間的信任。
螞蟻集團的產品螞蟻鏈AntChain已經被使用在包括IT租借、貿易物流、醫藥保險、跨境匯款、慈善等領域。以太坊版本和螞蟻區塊鏈版本的區別螞蟻區塊鏈與EVM均與Solidity相容,因此目前可以使用DeepSEA經過形式化驗證的EVM後端來編譯合約。螞蟻鏈平臺中,solidity合約使用identity替代官方solidity的address關鍵字。identity表示的合約地址或賬戶地址,均為為32位元組,而官方solidity中address表示的地址是20位元組。在DeepSEA的新版本中,CertiK加入了identity這個關鍵字讓智慧合約開發者可以使用這些和螞蟻鏈相容的32位元組識別符號。可以從github上下載最新版本DeepSEA編譯器,並參閱合約案例以及相關的釋出合約的Javascript程式碼: 
https://github.com/CertiKFoundation/deepsea在螞蟻區塊鏈上執行合約如何申請測試網:https://tech.antfin.com/docs/2/147534使用者必須註冊一個企業級的支付寶賬號才能在螞蟻區塊鏈上釋出合約。獲得訪問許可權後,使用者就可以使用螞蟻金服區塊鏈SDK來發布合約。
在目前的DeepSEA釋出中,CertiK已經準備好了一個釋出合約的樣例指令碼,並在DeepSEA的使用者手冊中寫明瞭詳細的使用規範。

首先,從github上下載DeepSEA編譯器。

然後切換到contracts/token_ant資料夾,這裡包含了一個token.ds樣例合約,以及token.js用來發布合約到鏈上的指令碼。

執行DeepSEA來編譯這個合約以得到token.bytecode以及token.abi。

第三步使用token.js釋出指令碼來在鏈上釋出這個合約。

使用者需要在這個指令碼中加入他們的賬戶資訊。同時使用者也可以修改指令碼來加入呼叫合約的實驗程式碼。

將編譯的.bytecode檔案傳送到螞蟻區塊鏈是這個指令碼最重要的部分,如下圖所示:

這裡的console.log語句會列印出一個包含msg_type,xshash,receipt等等資料的物件。請記錄一下這裡的txhas以便之後在螞蟻鏈瀏覽器中使用。

在這個回撥函式里面,可以對合約進行一些呼叫。比如對於totalsupply()函式的呼叫,如下圖所示:

最後,透過螞蟻鏈瀏覽器確認合約已成功釋出。

使用者可以登入螞蟻集團的Baas平臺,在右上角找到瀏覽器搜尋欄。

使用之前記錄的txhash,頁面將顯示已經成功釋出的合約:

以上只是一個簡單的例子。

螞蟻集團的SDK提供了更多可以和這個合約互動的API :
https://tech.antfin.com/docs/2/107127

區塊鏈生態系統必須要建立在信任的基礎上。

DeepSEA可被直接用於編寫合約,不僅如此,程式語言開發者也可以使用DeepSEA來以一種更安全的方式重新編譯其他的語言,或是參考DeepSEA規範的形式化語義。

DeepSEA專案為攻克所有可能出現的問題與隱患而誕生,這將極大的支援區塊鏈生態。

複製連結:
【https://certik.org/research/deepsea/】

至瀏覽器即可檢視DeepSEA最新資訊。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;