當前位置:
首頁 > 最新 > 政務鏈-軟體平台與智能合約語言

政務鏈-軟體平台與智能合約語言


平台語言中的新語法

智能合約語言智語言(G Language)和模板語言乾語言(Chain Language)過渡到新的語法。此外,我們還移除了冗餘及重複的函數,並統一了從資料庫表中獲取值的函數,以及將值傳遞給介面元素(表、選擇欄位和小部件)。

下面是展示從資料庫中獲取值的函數語法:

DBFind(table string) [.Columns(columns string)] [.Where(where string, params …)] [.WhereId(id int)] [.Order(order string)] [.Limit(limit int)] [.Offset(offset int)] [.Ecosystem(ecosystemid int)] array

該函數根據指定的請求從資料庫表接收數據,返回的數組是一個由map關聯數組組成的。

?table—? 表名稱;.

?сolumns?—?返回列列表。如果未指定,將返回所有列;

?Where?—? 搜索功能。舉例如下: .Where(「name = 『John』」)或.Where(「name = ?」, 「John」)

?id? —? 搜索標識符號。舉例如下:.WhereId(1)

?order??—一個欄位,用於排序。默認情況下,值是按id排序;

?limit?—? 返回值的數量(默認值 default = 25, 最大值 maximum = 250);

?offset?—? 返回所撤銷的值;

? ecosystemid ?— 生態系統ID。默認情況下,值取自於當前生態系統的表。


為了增強源代碼,我們重新設計了用於資料庫的模型層。模型已統一,並修復了一些bug。


我們修正了源代碼中的一個錯誤,該錯誤在資料庫中缺少請求數據相關的錯誤中,在於它不允許區分資料庫訪問錯誤。這些錯誤類型已被分離,並相應地重寫代碼庫。


為了簡化源代碼,我們重新設計了部分數據轉換模塊,通過刪除部分函數並重新編譯剩餘的一些函數來改進錯誤處理。


我們增加了一個中心化的數據記錄系統,它允許保存各種數據格式的數據日誌。現已重新設計以下模塊:

? API

? Config(配置模塊)

? Crypto (加密模塊)

? Daylight (日光模塊)

? ExchangeAPI (交易API模塊)

? Language (多語言模塊)

? TCPServer (TCP伺服器模塊

? Utils (工具集模塊)

? Virtual machine (虛擬機模塊)


作為平台軟體更新機制的一部分,已開發了以下模塊:

伺服器更新

客戶端更新

這個更新系統允許為任何架構分發任何軟體版本列表。每一個版本都可以從區塊鏈中某一具體而確定的區塊高度開始使用。分散式更新文件的簽署會在政務鏈(Gachain)更新私鑰時上傳至更新伺服器。在更新終端節點上的軟體之前,使用公鑰檢查文件簽名。此過程確保了該更新是受信任的,並且是由官方發布。


由於對代碼庫的重大變更,其中一部分代碼已經過時,也不再使用。現已刪除代碼中不會被使用的部分代碼。


我們已經為用戶頁面開發了一個新版本的模板引擎,它能夠通過名稱傳遞參數。現階段還只是一個JSON樹元素,並不是一個完整的HTML代碼,該模板引擎直通前端。我們添加了一個選項來指定與點分隔的附加參數。、

為了從表獲取數據,已創建了一個統一的函數。使用範例:

? DBFind(mytable, mysrc).Columns(「id,name」).Limit(1)

我們重新設計了生態系統的結構,並移除了全球生態系統。其內部的頁面、菜單、合約、表格等相關的添加和編輯處理等,會過渡到合約。

合約語言現已允許使用附加函數參數來指定鏈,並添加了獲取數據的通用函數(類似於模板引擎中的方法)。現在任意數量的參數都可以傳遞給函數


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 GACHAIN 的精彩文章:

TAG:GACHAIN |