用 Go 创建一个新的智能合约语言 - 新项目动机,概念

栏目: Node.js · 发布时间: 5年前

内容简介:这篇文章讲述了目前有两个众所周知的区块链,比特币和以太坊。比特币有对于

这篇文章讲述了 为什么 我们开始为智能合约创建新的编程语言(使用 Go)。

动机

目前有两个众所周知的区块链,比特币和以太坊。比特币有 bitcoin script 和以太坊有 solidity 为它们自己的智能合约编程。两者都有利有弊。

对于 比特币 而言,它没有状态概念,并且 bitcoin script 是基于低级语言和很少的操作,因此它所能做的是有限的。另一方面,因为它的工作方式简单并且比特币是没有状态的,这样我们能轻松地进行静态分析,如这个脚本运行速度有多快。

对于 以太坊 而言,它有状态的概念,并且 solidity 被设计为高级语言,solidity 开发者能够更直观的编程,并且以太坊智能合约可以做很多事情(是的,这是因为以太坊是有状态的)。另一方面,因为它被设计为高级语言,开发者可以错误地将无限循环放在永远不会结束的智能合约上面,这会在网络上造成不良影响。加上以太坊已经表明它很难做静态分析。

用  <a href='https://www.codercto.com/topics/6127.html'>Go</a>  创建一个新的智能合约语言 - 新项目动机,概念

koa 概念

我们的灵感来自于 2017 年由 Russell O'Connor 撰写的话“ Simplicity: A New Language for Blockchains ”和 ivy_bitcoin 项目。

所以这就是“ koa ”生存的地方。 “ koa ”是高级加密货币语言。并且没有状态,静态分析很容易,比 bitcoin scripts 更多的操作。

架构

用 Go 创建一个新的智能合约语言 - 新项目动机,概念

koa 组件

koa 项目正在制作新的编程语言,所以我们需要编译器,由于要将源代码编译为字节码,所以我们需要进行词法分析和语法分析。最后字节码在 VM 上运行。我们团队成员首先去编写编译器,因此我们阅读了大量的书籍、博客文章和研究了流行的开源项目源码,像 Go-ethereum。

这就是它。这是我们 koa 项目的理念:制作新的高级智能合约语言,可以轻松实现静态分析。在下一篇文章中,我们将深入到每一个组件中。你可以从 此处 查看 WIP 开源项目。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

"笨办法"学Python

"笨办法"学Python

肖 (Zed A.Shaw) / 王巍巍 / 人民邮电出版社 / 2014-11-1 / CNY 49.00

本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。 本书结构非常简单,共包括52个习题,其中26个覆盖了输入/输出、变量和函数三个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测......一起来看看 《"笨办法"学Python》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码