试玩儿趣链的区块连平台

试玩儿趣链的区块连平台,第1张

前言

无意中发现趣链最近推出了一款区块链(联盟链)的平台,其试用版可供学生,爱好者和从业人员学习。正好最近想了解一下联盟链,就将其下载下来游玩一下。如果也想了解这个平台的朋友,可以点击这个链接。我也是基于官方文档来完成这篇文章的

产品架构

下图是源于官网的架构图,由于该产品并未开源(仅部分功能开源),感觉目前版本可能没有做全部的支持。目前支持的功能可以点击这个链接查看。

学习下面的架构设计,如果以后你需要设计一个联盟链的架构,就有了一个参考的方向。

核心模块 共识算法

目前这个平台已经支持 RBFT,SOLO 共识算法。一般联盟链支持的共识算法都是 BFT 拿来修改的,RBFT 是趣链自己搞的高健壮性(Robust) BFT 的共识算法。SOLO 共识是针对于单点的共识,估计也是趣链自己搞的吧,想了解这两个共识机制的朋友,可以戳这个链接。

官方文档提到了自适应共识算法,不太清楚这个自适应是自动根据情况进行选择共识算法,还是只是说支持多种共识算法,但要手工配置。

智能合约执行引擎

这一块目前平台支持 HVM(Java 语言编写的智能合约)和 EVM(Solidity 语言编写的智能合约),试用版未支持 BVM(Go 语言编写的智能合约)。对于智能合约这一块,我一直觉得联盟链能够支持很多传统语言来进行开发,这一点比很多公链自己搞一套编程语言来进行智能合约开发要好。

数据存储

趣链的这个平台主要的账户模型还是传统的用户模型。即某用户A发起一笔合约调用交易,使得某合约中的变量a的值由0变为1,并持久化到合约账户数据库中存储。

在存储上,采用了混合存储的方式,针对不同数据类型设计相应的存储方式。这种混合存储的方式不太清楚现在的公链有没有用这样的架构,据我了解好像是没有的。

加密机制

加密的话,该平台提供了国标和国密两套。

扩展功能

扩展功能我关注的是数据索引和数据归档,其他的扩展功能可以去官方文档了解。

数据索引

也就是数据搜索的意思,目前区块链链上搜索一直是学界和产业界的关注点,因为区块链自身的数据结构,往往只能遍历,而且是精确遍历。在趣链的官方文档中,提到了它可以支持模糊搜索,比较好奇是怎么实现的。

数据归档

理论上链上数据会不断增加,该平台提供了数据归档的功能,让一部分数据迁移至线下。

安装步骤 先决条件

一般来说区块链平台最好还是运行在 Linux 环境下,此次我选择了 ubuntu18.04 这个版本,至于 ubuntu 的安装方式这里就不做过多介绍了。

ubuntu 安装好后,一些基本的配置也要做好,如换国内的源,安装 curl,git,pip3.

同时还需要安装 docker 和 docker-compose,这一部分的安装教程可以直接参见官方教程,docker 的安装,docker-compose 的安装。免费版对 docker 的要求是 v19.03版和 docker-compose 为 v1.27.4 版本。最新的 docker 和 docker-compose 都符合版本要求。

安装合并版

该平台提供了合并版(集成了轻量级 Baas 平台)和单独版本(可以支持多机部署),我这里选择了合并版,对学生和爱好者来说足够了。

下面的步骤也是参照官方教程,你可以点击这个链接查看。

第一步,到指定链接注册,下载安装包。

第二步,解压安装包后,进入目录,安装依赖

noname@noname-MRC-WX0:~/文档$ cd trial/
noname@noname-MRC-WX0:~/文档/trial$ ls
trial_version
noname@noname-MRC-WX0:~/文档/trial$ cd trial_version/
noname@noname-MRC-WX0:~/文档/trial/trial_version$ ls
cfg.toml  docker     requirements.txt  script    stop.sh
conf      README.md  reset.sh          start.sh

在该目录下,使用 pip 或 pip3 安装

pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt 

第三步,编辑配置文件
一般来说,只需要修改网卡的部分,因为我是在本机测试,所以只要将网卡设为 127.0.0.1 即可。
通过 ifconfig 来查看你的网卡

noname@noname-MRC-WX0:~/文档/trial/trial_version$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:77:e7:12:48  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 374  bytes 36518 (36.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 374  bytes 36518 (36.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.6.224.145  netmask 255.255.248.0  broadcast 10.6.231.255
        inet6 fe80::9291:ad6a:2875:db36  prefixlen 64  scopeid 0x20<link>
        ether f4:d1:08:bf:9c:17  txqueuelen 1000  (Ethernet)
        RX packets 8631  bytes 8581795 (8.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5385  bytes 1168816 (1.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo 为还回地址(127.0.0.1),打开配置文件,将网卡部分修改为 lo,lo 为 local 的简化表达。
打开配置文件,gedit conf/values.toml

# 全局配置
[global]
# 安装用户
user = "hyperchain"
# 网络配置,具体参考《README.md》文档
# 默认 eth0,这里我修改为了 lo
network = "lo"

[console]
# 免费试用版web页面访问端口
port = 30080

[flato]
# 是否自动部署flato节点
enable=true

[flato.node1]
# 节点1的访问端口
jsonport=43221

[flato.node2]
# 节点2的访问端口
jsonport=43222

[flato.node3]
# 节点3的访问端口
jsonport=43223

[flato.node4]
# 节点4的访问端口
jsonport=43224

第四步,开始安装了,启动 bash 命令,运行下面的命令就可以慢慢等待,我是等了小半个上午才装好。非 root 要加 sudo,不然会报错“权限拒绝”

sudo ./start.sh

然后就慢慢等待吧。

第五步,安装好后就可以通过 https://127.0.0.1:30080 这个链接访问了,并体验了。

如果你想删除组建或者重置数据则使用下面的两条命令,特别的是,stop.sh 我以为只是停用组建,结果没想到是直接删除了了,导致我第二次启动的时候,所有的模块要重新下载,因为下载等待时间过于漫长,加之该平台未开源,遂放弃。

// 删除组件
sudo ./stop.sh
// 重置数据
sudo ./reset.sh

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/1319913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-11
下一篇 2022-06-11

发表评论

登录后才能评论

评论列表(0条)

保存