Repchain配置过程

Repchain配置过程

这是Repchain区块链项目的配置安装过程,地址是https://gitee.com/BTAJL/repchain/tree/RepChain_1.1.0_RC/,版本是Repchain_1.1.0_RC。

安装环境

  • Zulu-OpenJDK 11.0.8
  • Scala 2.12.12
  • Sbt 1.3.5
  • IDEA 2020.3
  • Repchain_1.1.0_RC

安装步骤

  1. 将https://gitee.com/BTAJL/repchain/tree/RepChain_1.1.0_RC/中的项目下载到本地,并解压
  2. 检查sbt和scala的根目录是否加入到环境变量中
  3. 配置Sbt的镜像,即在C:\Users\你的用户名\.sbt目录下创建repositories文件,并写入
[repositories]
local
public: http://maven.aliyun.com/nexus/content/groups/public/
typesafe:http://dl.bintray.com/typesafe/ivy-releases/ , [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
ivy-sbt-plugin:http://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
sonatype-oss-releases

sonatype-oss-snapshots

sbt的根目录\sbt\conf\sbtconfig.txt中加入-Dsbt.override.build.repos=true

  1. sbt 在项目的根目录下下载项目依赖项(命令行)。

  2. compile进行编译(上面配置的镜像速度很快)

  3. cmdrun第二个入口,会得到报错信息,会有一些模块没导入,但我们可以通过第7步来解决

    20:53:55.604 [Repchain-akka.actor.default-dispatcher-16] ERROR akka.actor.OneForOneStrategy - 'void org.fusesource.leveldbjni.internal.NativeOptions.init()'
    akka.actor.ActorInitializationException: akka://Repchain/user/modulemanager: exception during creation
    
  4. 将项目导入到idea中进行构建,由于idea会使用scala插件自带的sbt插件,会下载很多的库,而且速度较慢,我们将其jdk修改为自己的openjdk并且启动器改为自己下载的sbt安装目录的启动器,如下图所示,不同步就不会构建成功,等待同步完毕,点击构建按钮。

在这里插入图片描述

  1. 修改repchain\conf\system.conf中的trans_create_type = 1

在这里插入图片描述

  1. 点击运行,就可以查看实时图 http://localhost:8081/web/g1.html,查看API http://localhost:8081/swagger/index.html。

遇到的问题

项目运行后不显示区块

在这里插入图片描述

出现在repchain中无法生成区块的问题,在编译时没有产生如下两个文件,导致无法生成相应的区块,在日志中显示为

09:58:19.806 [Repchain-akka.actor.default-dispatcher-36] ERROR Business_Logger - 121000005l35120456.node1~preloaderoftransaction0~130d5715-dad0-4dbb-ba3f-eb8f6402b207 preload error, error: Some(Failure(rep.sc.Sandbox$SandboxException: 调用的chainCode不存在))~
09:58:19.806 [Repchain-akka.actor.default-dispatcher-36] ERROR Consensus_Logger - 121000005l35120456.node1~preloaderoftransaction0~ All Transaction failed, error: 1~

从已经成功测试的微机上copy以下文件放入scala文件夹中,问题解决

SC_ContractAssetsTPL_1.scala
SC_ContractCert_1.scala
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
RepChain(Reactive Permissioned Chain)是第一款采用响应式编程实现的自主可控的许可链基础组件,面向企业应用,强调交易的实时性和分布式环境下的柔韧性,且易于根据不同应用场景进行模块定制和弹性部署。其合约设计、可视化设计、接口设计对工程实施提供友好支持。RepChain区块链技术与应用联合实验室、北京连琪科技有限公司和软件所互联网金融技术研究中心共同研发,RepChain1.0已通过“2019可信区块链”功能测试和性能测试,在典型场景获得成功应用,其中“区块链数字不动产证应用”被评选为 “2019可信区块链优秀案例”。 分层架构: 1、数据层:负责数据格式定义,数据结构采用Protocol Buffers定义文件,并以此为基础实现数据的交换、验证、存储、读取及检索 2、网络层:采用JDK内置的TLS实现,支持入网许可验证,在此基础上进行去中心化的gossip组网,网络传播支持P2P和Pub/Sub两种方式 3、共识层:完成区块的输入共识和输出共识。采用兼顾实时性和安全性的CFRD算法,既照顾到交易的实时性要求,又能在一定程度防止节点串通作弊;输入共识对入块的交易顺序达成一致,输出共识对交易顺序执行的结果达成一致 4、合约层:为合约执行提供上下文环境,支持合约的动态部署、运行时加载和编译执行 5、API层:提供外部接口,允许第三方应用以Restful的形式与系统交互,并允许开发者通过Swagger UI进行在线测试。API层提供交易签名提交、区块和交易检索等基本功能 6、监控层:在区块链网络中收集事件/日志,并将其以Protocol Buffers的格式推送至Web端,以H5图形技术进行实时状态的可视化展示和日志回放 安装: install jdk8+ install Python install Scala install SBT install Scala IDE install keystore-explorer ——用于生成密钥对的工具,非必须 install protobuf editor——编辑protobuf定义工具,非必须 运行: git clone https://gitee.com/BTAJL/repchain.git 下载项目到本地 sbt 在项目的根目录下下载项目依赖项,可以配置仓库或者使用阿里镜像 compile 编译成Protocol Buffer Scala类 eclipse 生成eclipse工程文件 打开 Scala IDE, File->Import->Existing Projects,导入项目 右键单击 rep.app.Repchain.scala,Run As->Scala Application(单机组网4个节点) 运行配置VM参数 -Dlogback.configurationFile=conf/logback.xml (使logback配置生效) 查看实时图 http://localhost:8081/web/g1.html RepChain 更新日志: v1.1.0_RC 1、支持OpenJDK(使用13) 推荐使用zulu社区版 2、依赖组件升级 3、组网成员在线增加/删除(节点离网入网时,系统能很快更新节点视图,保证出块不受影响) 节点由于网络故障离线,剩余节点出块不受影响,在网络恢复情况下,节点不需经过人工干预重启即可重新加入到网中,节点恢复加入后,可以继续工作。 节点由于崩溃性故障,需要人工干预重启,节点重启恢复加入后,可以继续工作。 4、共识层抽象和更多的共识算法实现 CFRD PBFT RAFT 5、数据前向兼容 假设系统更新时,Block数据结构追加了新的字段,新的系统代码处理和Block相关的逻辑时,可根据version来做分别的处理,以保证系统对上一个版本的数据可读可处理。 6、存储层抽象 针对不同的共识协议,进行抽象

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值