TrustBase宣言:让简单的语言再次伟大

2023-11-01 23:20

本文主要是介绍TrustBase宣言:让简单的语言再次伟大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:TrustBase是一个帮助全球开发者无障碍参与波卡生态建设的平行链。它允许传统的Web开发者、普通的Java工程师和其他常规领域编程人员也能以低门槛进入智能合约开发工程,以壮大Web3.0建设者的阵营。我们要做的事情,就是通过提供最基本的语言,让全球Web开发者共创波卡生态,实现Web3.0网络的目标。
在这里插入图片描述
我们在我们设想的Web3.0世界里,信用货币必然经受不住时间的考验。实物货币经历了几千年的考验,而所谓的“无锚印钞”的法定货币,历史却非常短暂。从1971年布雷顿森林货币体系(35美元与一盎司黄金锚定)崩溃算起,也不过49年的时间。

法币“无锚印钞”的结果,就是无上限加杠杆。而持续49年的加杠杆行为已经让信用货币走向一次比一次严重的金融危机。金融危机下因不断放水而失信的全球央行只好寻求黄金避险——这个金本位时代的古老货币锚。

我们认为黄金有着被造物主赋予的天然底层语言。它在分子维度里实现了稀缺、轻便和鲜明的辨识度。遍历人类历史,人们对黄金的共识,本质上是对这种“天然的技术”的崇拜。

技术经常反映了它的过去,只是会比之前更快、更优或者更健壮。2008年11月1日,中本聪坐在电脑前,最后审视着自己的杰作——《比特币:一种点对点的电子现金系统》。他点击了发送键,这篇论文便悄悄进入了极客网站的密码学邮件组。此时,深夜中熟睡的人们并不知道,一个全新的时代已经悄然拉开序幕,比特币和区块链将给社会带来多大的变革。

比特币是黄金的“天然底层语言”被复制到网络层的人为实现。在Web2.0的金融垄断环境下,比特币让人类看到了“货币自由”。这是在阶级森严的Web2.0下野蛮生长的新一代价值网络,这是反制美元霸权的新的外汇锚。

比特币成就的背后,是其底层脚本语言的精密搭建。我们更愿意把比特币脚本语言视作一件艺术品,它充满了结构的简单美和巧妙的智慧,它折射出了黄金的技术本质并充满了对金本位下健康经济的愿景。比特币的源码,是我们研发自身语言的伊甸园。

一个真正有价值的语言,必须足够简单。这里的“简单”指的并不是简陋,而是它必须像一个通用的模型。比特币的脚本语言和黄金一样,都使用了同一种侧重稀缺、安全的模型,但牺牲了灵活性。比特币系统很难出现智能合约生态,就源于这种灵活性的底层限制。

而在灵活性上做的最好的,不可否认是以太坊的Solidity语言,它几乎凭一己之力定义了区块链智能合约的成就。但目前来看,Solidity显得过于灵活了。例如,在作用范围内,Solidity的状态变量的定义声明与调用没有绝对的顺序关系,定义声明可以在调用语句之后。类似这样的特性允许以太坊的智能合约“在逻辑之上再套逻辑”,这是以太坊频繁发生DeFi合约漏洞的根源。

面对“安全”与“灵活”的选择,我们借鉴了东方的古老智慧,把比特币脚本语言和Solidity语言的核心精神做了中庸的糅合,并在波卡的Substrate框架下启程。

我们为我们相信的Web3.0的希望——波卡——设计了一个轻量级的新语言:Subscript。2020年9月,这门语言被Web3.0基金会Grant计划选中,成为了官方扶持的波卡开发者工具。

Subscript沿用了Javascript的语法,并在Assembly Script中完成了对Substrate智能合约api和sdk的封装。简单来说,Subscript实现了支持任何Web开发者快速入手部署波卡原生智能合约的能力。我们的开发者无需学习Substrate框架要求的rust语言,也无需精通merkle树、共识协议、p2p等技术难题。

“看到Subscirpt就像看到了老朋友。”是的,我们希望用Subscript语言告诉全世界,也许在Web2.0互联网行业的竞争下,再优秀的开发者如果不精通新语言,也会被市场淘汰;但在Web3.0的字典里不存在淘汰一词。Web3.0 将是一组包容性协议,为应用程序开发者建块。这些构建块取代了传统的 Web 技术,但是提供了一种开发应用程序的全新方式。在这种方式下,Web3.0必将兼容所有曾被认同的基本底层语言,也必将容纳全球范围内的优秀开发者。

精通智能合约开发语言的开发者数量远远不够,而我们不希望看到优秀的传统开发者站在波卡的对岸喟然生叹。经过我们的搭建,使用Subscript语言开发的任何智能合约应用和基于Subscript的编程工具将通过平行链TrustBase共享与波卡的全域互操作性。

这门语言必须牺牲一定的灵活性,以换取波卡原生智能合约的共享安全性。如果我们拿Subscript与以太坊久负盛名的Solidity语言相比,Subscript牺牲了一定的灵活性,它继承了比特币源码和Javascript的精神,实现了底层的安全性和严格的类型。同时,我们让它可以支持任何和Substrate架构兼容的智能合约开发平台,不仅限于TrustBase平行链。从语法和开发环境上说,遍历已知的所有智能合约开发语言,没有任何一门语言比Subscript更基本。

Subscript从API到语法都为WASM而设计,整体使用严格类型和语言检查,同时提供了范型功能支持第三方库的封装。

以下为我们的具体实现:
a、静态的语法检查。与针对动态类型运行环境的TypeScript不同,Subscript在编译时具有严格的静态语法检查,避免了无法提前有效编译TypeScript的动态特征。通过分配或推断确定的类型,编译器能够从执行开始就产生可预测的性能,同时保证所产生的WASM目标代码足够小。
b、严格的类型。Subscript中的基础类型为WASM标准而设计,使用WASM特定的整数和浮点类型。在处理数值类型时允许开发者实现制定数值的理想类型。
c、底层访问支持。智能合约与沙盒外环境交互时,能够传递的参数仅限于基本的整数类型。Subscript提供了完备的语法可以用来定义外部接口类型。Subscript还自带可访问WASM底层的指令函数,提供整数运算,虚拟机栈访问,内存加载等操作。
d、范型支持。能够定义范型类型来支持代码的复用,Subscript通过范型定义了一系列可复用的库函数。

我们的愿景就是“让简单的语言再次伟大。”黄金提供了底层语言技术的自然范式,比特币开启了基础的区块链脚本语言,以太坊扩展了更多金融交易的方式,而TrustBase希望去创造一个更加通用的语言模型。我们是波卡的引渡人,如果说波卡打破了公链间的隔阂,那么Subscript将打破所有开发工程师的隔阂,共赴Web3的彼岸。
在这里插入图片描述

这篇关于TrustBase宣言:让简单的语言再次伟大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326457

相关文章

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件