Fabric区块链Node.js开发详解Fabric区块链Java开发详解Fabric区块链Golang开发详解1、安装预编译的Hyperledger Fabric 2.0应用程序Hyperledger Fabric官方提供了以下2.0版本的预编译程序:
configtxgen:用于生成Fabric创世区块初始或更新配置文件configtxlator:用于编解码Fabric区块链配置文件cryptogen:用于快速生成节点、用户、客户端等所需的证书和密钥文件discover:用于Fabric网络的服务发现idemixgen:很少用到orderer:Fabric排序节点程序peer:Fabric对等节点程序fabric-ca-client:Fabric-CA服务程序的客户端,用于注册和添加用户首先创建一个Hyperledger Fabric 2.0的专用目录,然后进入 该目录:
1' w+ a6 `9 K4 f3 V 2 3 | ~$ mkdir hubwiz-hf2 ~$ cd hubwiz-hf2 ~/hubwiz-hf2$ |
1 | ~/hubwiz-hf2$ curl -sSL https://bit.ly/2ysbOFE | bash -s -d -- 2.0.0 1.4.4 0.4.18 |
2.0.0:表示Hyperledger Fabric的版本号1.4.4:表示Fabric CA的版本号0.4.18:表示第三方引用的版本号上述命令执行后,在当前目录的bin子目录下你就可以看到上述程序了:( p! l4 e4 i% D3 A9 Q1 E
1 | ~/huwbiz-hf2$ ls bin# g8 w) x$ ~. y7 R3 |+ p |
1 | export PATH=$HOME/hubwiz-hf2/bin:$PATH |
10 F+ m4 b2 n6 B; y7 F | ~$ orderer version |
2、安装Hyperledger Fabric 2.0示例程序代码在Hyperledger Fabric 2.0目录中执行如下命令安装官方提供的示例代码:
1 | ~/hubwiz-hf2$ git clone https://github.com/hyperledger/fabric-samples& \+ m- L: P j. x( l |
使用如下命令查看并验证fabric-samples安装成功:, A3 ~! O4 W: k0 R0 _/ m' C! \. K, [
1 | ~/hubwiz-hf2$ tree fabric-samples -L 1 -d8 f p: m- K; r& n8 V g# r) e8 d) l |
1' n l1 m7 r& y3 f 2 3; w5 ] M5 m1 E2 N( Q 4 5 65 Z `, G6 y+ z- s7 q 75 S) y A; a' }7 U+ { 8 99 L" w' o* t- C8 h% f& @/ r 103 Z- S9 A) @* K1 q% D" G9 a 11 128 J5 u( L2 z5 A: f* Q" r) v 13& M" _: f3 R) F( Y, ?' z$ C 14* `% }) ]1 W( j) O! O; y/ ? | fabric-samples |- basic-network9 K* X5 N0 j/ N( o, N& U- t |- chaincode-docker-devmode |- chaincode1 ~; X+ K* V' `6 o- Z8 ]4 J# T |- ci |- commercial-paper& ~# I7 a0 i; \5 q0 r/ E |- docs |- fabcar |- first-network |- high-throughput |- interest_rate_swaps |- off_chain_data |- scripts |- test-network! E8 `0 E- } D! l |
3、预下载Hyperledger Fabric 2.0的docker镜像可以使用如下命令预下载Hyperledger Fabric 2.0的docker镜像, 这样在进行后续的测试时,会减少一些等待时间。
1 | ~/hubwiz-hf2$ curl -sSL https://bit.ly/2ysbOFE | bash -s -b -- 2.0.0 1.4.4 0.4.18- P+ [8 m) `0 [7 W2 e |
4、使用test-network测试Hyperledger Fabric 2.0进入fabric-samples目录启动Hyperledger Fabric 2.0新增加的测试网络test-network:
1 21 O( g4 L9 Z% T | ~/hubwiz-hf2$ cd fabric-samples/test-network ~/hubwiz-hf2/fabric-samples/test-network$ ./network.sh up |
1$ R9 A! ^8 C. b) U/ T4 J* t 2( h& ^6 Y& S) `. X 3 4# y+ Z. X0 x' h8 F( @4 Y6 z 5% V. w, v( i4 v; K5 X 6 7 8 9 u3 a" s# _; |, W- u 104 w V8 a1 i5 p, I, O) x 11 | Creating network "net_test" with the default driver Creating volume "net_orderer.example.com" with default driver9 U; w$ ~ I% d! m3 P Creating volume "net_peer0.org1.example.com" with default driver* V! H8 @- N% p6 d; x6 D Creating volume "net_peer0.org2.example.com" with default driver! v9 P: R) `, @- h9 a# }& t Creating orderer.example.com ... done Creating peer0.org2.example.com ... done% P8 A$ r; h% ^; P& i Creating peer0.org1.example.com ... done k9 o4 c: m, P# }8 c" y; ~ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d0c74b9d6af hyperledger/fabric-orderer:latest "orderer" 4 seconds ago Up Less than a second 0.0.0.0:7050->7050/tcp orderer.example.com/ A7 D7 B6 w, }1 k8 Y7 V1 T% k/ c5 C! n ea1cf82b5b99 hyperledger/fabric-peer:latest "peer node start" 4 seconds ago Up Less than a second 0.0.0.0:7051->7051/tcp peer0.org1.example.com cd8d9b23cb56 hyperledger/fabric-peer:latest "peer node start" 4 seconds ago Up 1 second 7051/tcp, 0.0.0.0:9051->9051/tcp peer0.org2.example.com9 L( K; i8 x6 j1 R7 W$ H |