fabric-sdk-java在IDEA中的使用

 

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

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

環境準備:git

       JDK1.八、IDEA(帶有maven,支持jdk1.8的就能夠)github

IDEA插件安裝:windows

      須要安裝Protobuf Support插件服務器

      進入IDEA環境後,選擇file->settingmaven

       

       打開後搜索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>便可

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

相關文章
相關標籤/搜索