fabric-sdk-java在IDEA中的使用


 

嘗試使用fabric-sdk-java來連接fabric區塊鏈。

fabric的安裝可參考 http://www.cnblogs.com/maobuji/p/7204446.html

環境准備:

       JDK1.8、IDEA(帶有maven,支持jdk1.8的就可以)

IDEA插件安裝:

      需要安裝Protobuf Support插件

      進入IDEA環境后,選擇file->setting

       

       打開后搜索Protobuf Support安裝即可。裝好后重啟IDEA。

 

fabric-sdk-java工程包下載:

         https://github.com/hyperledger/fabric-sdk-java  選擇clone or download下載最新的代碼,也可以到release中下載對應版本的代碼

         解壓后目錄如下:

         

 導入工程:

       

       選擇源代碼工程

       

       然后一路next下去,工程就導入了。

 

在pom.xml中刪除以下內容:
(1.0.1中使用maven編譯,這里會報錯。所以從POM.xml暫時刪除掉了這個插件,如果有人知道如何配置,請給我留言)

            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>2.2.2</version>
                <executions>
                    <execution>
                        <id>get-the-git-infos</id>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
                <configuration>
                    <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
                </configuration>
            </plugin>

 

 編譯

     點擊左下角的小方塊,選擇Maven Projects

     

在打開的窗口里,選擇protobuf:compile右鍵運行,之后在運行工程的compile

     

 

會新生成一個target目錄,如果包都生成出來了,應該就是成功了。

 

 

運行測試用例

    查找End2endIT.java 進行單元測試,提示連接不上,工程的基本設置就完成了。下面的章節進行sdk測試類的分析

   

 

  連接地址可以在測試包的

  org.hyperledger.fabric.sdk.testutils.TestConfig類中找到

 但是7074是ca的配置路徑,e2ecli例子中並沒有ca的配置,這部分還酉繼續研究

 

 由於SDK默認的連接例子,是自帶在SDK包里的。所以要關閉掉之前啟動的e2ecli的例子了。

 

 准備測試服務

創建一個目錄,然后將fabric-sdk-java放進去並解壓

 

 

cd fabric-sdk-java-1.0.1/src/test/fixture/sdkintegration/

 

啟動樣例即可

sh fabric.sh

 

 回到java環境,到testConfig.java中修改IP地址,將localhost都改為,fabric服務器的地址。

 

運行測試

運行End2endIT單元測試,如果運行正常應該是如下結果,之后就可以去看單元測試是如何使用sdk與fabric交互的了

 

 

補充內容:

   maven update以后,pom文件可能會報錯。

     (1)com.google.protobuf:protoc:exe:${os.detected.classifier}:3.0.0

   這里是因為${os.detected.classifier}沒有取到合理的值,可以參考這個文檔進行設置   https://github.com/trustin/os-maven-plugin

   ${os.detected.classifier} 的值是由 ${os.detected.name}-${os.detected.arch}  構成的

   ${os.detected.name}的值是由${os.name}轉化而來的。轉化規則在鏈接中

   ${os.detected.arch}的值是由${os.arch}轉化而來的,轉化規則也在鏈接中

    

   可以使用如下java代碼獲得當前操作系統的值:

System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("os.arch"));

Windows 7    amd64  需要被轉換為:windows-x86_64

取得了${os.detected.classifier}的值以后,在pom的properties中增加<os.detected.classifier>windows-x86_64</os.detected.classifier>即可

注意:不同操作系統的值,有所不同,請根據轉換表進行轉換

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM