前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人民日报整版报道区块链,我只想知道用什么语言开发?

人民日报整版报道区块链,我只想知道用什么语言开发?

作者头像
IT派
发布2018-03-27 16:47:36
2.3K0
发布2018-03-27 16:47:36
举报
文章被收录于专栏:IT派IT派

IT派 - {技术青年圈}

持续关注互联网、区块链、人工智能领域

2月26日,《人民日报》经济版头条整版刊发了区块链署名评论文章《三问区块链》《抓住区块链这个机遇》及《做数字经济领跑者》,积极肯定了区块链在降低价值传输成本、解放生产力上的作用。

那区块链具体要用到什么语言开发呢?

JAVA开发语言(未来币)

定义:Java是一种面向对象的编程语言,不仅吸收了c++语言的优点,也抛弃了在c++、指针等概念中难以理解多重继承的困难,因此Java语言具有强大且易于使用的两个特性。作为静态面向对象编程语言的代表,Java语言完美地实现了面向对象的理论,允许程序员用优雅的思维方式进行复杂的编程。

Java的特点是简单、面向对象、分布式、健壮、安全、平台独立性和可移植性、多线程和动态。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。

C++开发语言(比特币、公正通、瑞波ripple)

定义:c++是C语言的继承,它可以是C语言程序设计的过程,也可以是抽象的数据类型,作为基于对象的编程的特征,也可以承担面向对象编程的继承和多态性。c++擅长面向对象编程,它也可以执行基于流程的编程,所以c++是问题大小的大小。

GO开发语言(以太坊、IBM)

定义:Go是一种新的语言,并行的,垃圾收集,快速编译的语言。它具有以下特点:

它可以在计算机上编译一个大的Go程序几秒钟。Go提供了一个软件构建模型,使依赖分析更容易,并且避免了大多数c风格的开始,包括文件和库。Go是一种静态类型的语言,它的类型系统没有层次结构。因此,用户不需要花时间在定义类型之间的关系上,这使得他们比典型的面向对象语言更轻量级。Go是一个完整的垃圾收集语言,为并发执行和通信提供基本支持。根据它的设计,为多核机器上的系统软件的构建提供了一种方法。

Go是一种编译语言,它结合了解释语言的灵活性、动态类型语言的开发效率和静态类型的安全性。它还打算成为一种支持网络和多核计算的现代语言。为了实现这些目标,需要解决一些语言问题:一个具有表达性但轻量级的类型系统、并发和垃圾收集机制、严格的依赖规则等等。这些不能通过库或工具来解决,所以创建。

Solidity开发语言(以太坊)

定义:Solidity是在Ethereum虚拟机(EVM)上运行的智能契约的高级语言。它的语法接近于Javascript,是一种面向对象的语言。但是当涉及到把网络作为一个真正的东西的时候,这是非常不同的。

Python开发语言(SnakeCoin)

在本文将演示如何用不到50行的Python代码中制作一个简单的blockchain。

我们首先定义我们的块将是什么样子。在块链中,每个块都有时间戳和可选的索引,在SnakeCoin中,将同时存储两者,并且为了帮助确保整个块链的完整性,每个块将具有自识别散列。像比特币一样,每个块的散列将是块的索引,时间戳,数据以及前一个块的哈希散列的加密散列。当然,这些数据可以是任何你想要的。

很好!现在我们有了块结构,但是我们正在创建一个块链,需要向实际的链条添加块。如前所述,每个块都需要上一个块的信息。也就是说,出现了一个问题:块区中的第一个块怎么到达那里?因此,第一个块,或起源块,是一个特殊的块。在许多情况下,它是手动添加的或具有允许添加的唯一逻辑值。

我们将创建一个函数返回一个起源块,使事情变得容易。该块的索引为0,它在“previous hash”参数中具有任意数据值和任意值。

现在我们可以创建一个起源块,我们需要一个函数来生成块链中的后续块。该函数将将链中的前一个块作为参数,创建要生成的块的数据,并返回具有其相应数据的新块。当新块得到先前块中的哈希信息时,块链的完整性随着每个新的块而增加。如果我们没有这样做,外界信息会更容易“改变过去”,并用自己的更新变化来替代我们的链条。这个哈希链作为加密证明,有助于确保一旦块被添加到块链中,它不能被替换或删除。

以上是必要的工作。现在我们可以创建我们的blockchain!在我们的例子中,blockchain本身就是一个简单的Python列表。列表的第一个元素是起源块。当然,我们需要添加后续的块。因为SnakeCoin是最小的块,所以我们只添加20个新的块。我们可以用for循环来做到这一点。

让我们来测试一下

完美运行。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT派 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档