Repchain設定過程

2020-09-28 13:00:53

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