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
安装步骤
- 将https://gitee.com/BTAJL/repchain/tree/RepChain_1.1.0_RC/中的项目下载到本地,并解压
- 检查sbt和scala的根目录是否加入到环境变量中
- 配置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
-
sbt
在项目的根目录下下载项目依赖项(命令行)。 -
compile
进行编译(上面配置的镜像速度很快) -
在
cmd
中run
第二个入口,会得到报错信息,会有一些模块没导入,但我们可以通过第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
-
将项目导入到idea中进行构建,由于idea会使用scala插件自带的sbt插件,会下载很多的库,而且速度较慢,我们将其jdk修改为自己的openjdk并且启动器改为自己下载的sbt安装目录的启动器,如下图所示,不同步就不会构建成功,等待同步完毕,点击构建按钮。
- 修改repchain\conf\system.conf中的trans_create_type = 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