首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

政务链-软件平台与智能合约语言

平台语言中的新语法

智能合约语言智语言(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。

已修复与模型层处理数据库相关的bug

我们修正了源代码中的一个错误,该错误在数据库中缺少请求数据相关的错误中,在于它不允许区分数据库访问错误。这些错误类型已被分离,并相应地重写代码库。

转换器

为了简化源代码,我们重新设计了部分数据转换模块,通过删除部分函数并重新编译剩余的一些函数来改进错误处理。

中心化项目记录系统

我们增加了一个中心化的数据记录系统,它允许保存各种数据格式的数据日志。现已重新设计以下模块:

• API

• Config(配置模块)

• Crypto (加密模块)

• Daylight (日光模块)

• ExchangeAPI (交易API模块)

• Language (多语言模块)

• TCPServer (TCP服务器模块

• Utils (工具集模块)

• Virtual machine (虚拟机模块)

自动更新系统

作为平台软件更新机制的一部分,已开发了以下模块:

服务器更新

客户端更新

这个更新系统允许为任何架构分发任何软件版本列表。每一个版本都可以从区块链中某一具体而确定的区块高度开始使用。分布式更新文件的签署会在政务链(Gachain)更新私钥时上传至更新服务器。在更新终端节点上的软件之前,使用公钥检查文件签名。此过程确保了该更新是受信任的,并且是由官方发布。

过时的代码部分已被删除。

由于对代码库的重大变更,其中一部分代码已经过时,也不再使用。现已删除代码中不会被使用的部分代码。

对模板引擎的更新

我们已经为用户页面开发了一个新版本的模板引擎,它能够通过名称传递参数。现阶段还只是一个JSON树元素,并不是一个完整的HTML代码,该模板引擎直通前端。我们添加了一个选项来指定与点分隔的附加参数。、

为了从表获取数据,已创建了一个统一的函数。使用范例:

• DBFind(mytable, mysrc).Columns(“id,name”).Limit(1)

我们重新设计了生态系统的结构,并移除了全球生态系统。其内部的页面、菜单、合约、表格等相关的添加和编辑处理等,会过渡到合约。

合约语言现已允许使用附加函数参数来指定链,并添加了获取数据的通用函数(类似于模板引擎中的方法)。现在任意数量的参数都可以传递给函数

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180312G0NJ2D00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券