RNode v0.6.1启动测试网络

Huan Yu
RChain Cooperative (China)
6 min readSep 5, 2018

RNode v0.6.1开始支持创世区块的创建以及验证,并将于2018年9月5日启动对应的测试网络。

今天我们发布了RChain节点的最新版本 v0.6.1,这是最新的一个在RChain区块链正式发布之前的里程碑。更多信息请查阅https://developer.rchain.coop

版本简介

之前版本的RNode完成了dApp开发人员在RChain平台上编写智能合约所需的核心功能。这个版本的RNode将会支持创世区块的创建以及验证,使得我们能够开始启动测试网络。此版本还包括对通信模块的改进和错误修复,共识模块的改进以及提高了RNode的可用性。我们计划将于月底发布这个版本的补丁,其中会包括RChain域名注册,区块链API等功能。

有关这些新功能的详细说明,请参阅下面RNode v0.6.1的详细特性介绍。读者可以在https://developer.rchain.coop上查阅有关的项目计划,里程碑,未来版本发布计划等信息。

RChain是由 Greg Meredith设计,由Pyrofex和RChain的核心团队与RChain Cooperative的成员合作开发的区块链平台,技术文档可见RChain Platform Architecture。该项目的目标是建立一个分散的,经济安全的,可持续的区块链。 开发工作完成后,RChain将是一个模块化的,包含正确的端到端设计,可在全球范围内运行,并支持各种去中心化应用程序DApps的区块链平台。

RNode V0.6.1特性与优化

支持创世块的创建,批准以及网络启动

Rchain的启动流程(无论是测试网络还是主网)都在履行RChain合作社的承诺 — 启动一个由社区赞助的区块链平台。RChain和Pyrofex开发的去中心化的、透明的、验证者驱动的启动流程包括创建创世区块以及批准该区块。该流程的第一阶段为通过bootstrap node创建创世区块。每一位验证者都有机会去产生一个与源码无关的创世区块并将其与bootstrap node提供的创世区块进行对比。为此,bootstrap节点将以特殊模式启动,并将genesis块发送到bond文件中具有匹配签名的节点(创世验证者)。如果消息中的genesis块与本地生成的genesis块匹配,则验证节点会将加密签名和批准消息发送回bootstrap节点。bootstrap node将会统计收到的签名。当bootstrap节点收到所需数量的签名并且持续时间达到预设值时,将会启动网络。

Initializing the Blockchain — Protocol for generating the Genesis block 一文详细地叙述了这个流程。

此外,本版本中还展示了如何通过以太坊中RHOC代币进行REV的兑换过程。主网启动后,REV将变成RChain区块链平台的流动货币。作为主网启动的一部分,创世块的内容将会基于以太坊某个区块高度的RHOC余额状态。主网创世区块将会包含新的RChain地址,以太坊用户的地址以及对应的RHOC余额。RChain地址是与以太坊地址向后兼容的,因此RHOC用户能够使用以太坊的私钥来认领属于他们的REV。更多信息请查阅https://developer.rchain.coop/token-swap.

通讯模块的更新

RNode v0.6包括对通信模块的改进,增强了系统功能和稳定性。 RChain网络运行在P2P网络上。 一个P2P网络要求能够先发现网络中的其他对等结点,然后连接到它们。 RChain的通信层原型通过UDP实现了Kademlia节点发现协议。 原型实现中Kadelmia部分的重构,引入TCP是RChain协议中必要的。 通信模块规范进一步描述了RChain协议和本发行版中完成的重构工作。 RChain协议使用gRPC protobufs进行底层通信管道。 之前的实现默认为4MB帧大小。 在此版本中,我们将帧大小增加到100 MB,以支持更大的块大小。 在主网推出之前,我们将去除此大小限制。

配置文件

RNode软件提供多种配置标志位,以实现灵活性和易用性。 此版本引入了对TOML文件的支持,以捕获这些配置标志。 文件名是’rnode.toml’,文件需要位于rnode数据目录中。 RNode尚未附带默认的TOML文件。 操作者必须从头开始创建文件。 有关RNode选项的更多信息,请访问此处。 在RNode启动期间使用的命令行选项将覆盖TOML文件中的选项,为操作者提供了按需快速调整配置所需的灵活性。

修复系统稳定性和可用性

自RNode v0.4发布以来,RChain社区一直积极参与软件的每周测试。 他们开发了RNode操作者的技能,帮助测试软件,发现了bug并验证了bug修复。 RNode v0.6包含与共识协议和面向用户的消息传递相关的若干修复。此仪表板展示了bug及其状态。

RNode v0.6的补丁计划

测试网的启动于9月5日在RCon3举行。 我们将修补Node v0.6,使用客户端API来从区块链,RChain命名注册表和集成块存储中检索数据,这些都是测试网要求。 这些补丁将于8月30日到位。下面是对这些补丁的更详细描述。

检索区块数据的客户端API

这些特性支持dApp开发人员和其他希望在RChain平台上运行分布式应用程序并从区块链获取数据的用户。 RNode v0.6引入了事务收据,为dApp开发人员提供了一种方法来从代码API上监听一个命名或一组命名在链上的部署。 该文档获取数据进一步描述此功能。

RChain命名注册

名称注册表对于允许受保护的公共访问不可伪造的名称至关重要。 对于测试网,我们将支持通用唯一标识符(UUID)注册和pubkey注册。 命名注册表规范进一步描述了此功能。

集成区块存储

在RNode v0.6.1中,节点将已确定的块存储在内存中。 用户执行’show-blocks’或’show-block <块散列的部分>’ 等gRPC调用以查看这些块。 从长远来看,将所有这些存储在记忆中是不可持续的。 RNode v0.6.1的补丁将实现区块链在磁盘上的存储。

RNode v0.6.1快速入门

下载此版本并在RChain开发人员门户网站上找到文档:https://developer.rchain.coop

我们要感谢所有社区成员的持续支持,并邀请所有人测试这个新版本。

我们特别邀请dApp开发人员和有兴趣成为验证人的人员每周二14:00 UTC加入我们的社区RNode测试会议。 RChain社区RNode测试提供了有关这些会话以及如何连接的信息。

可以直接在RChain开发者论坛提问和评论。 可以在我们的JIRA上提交错误。

阅读更多关于RChain Coop的信息。

随着我们继续构建RChain区块链,在未来几周内请来查看更新的版本。

--

--