Fabric区块链Node.js开发详解Fabric区块链Java开发详解Fabric区块链Golang开发详解1、安装预编译的Hyperledger Fabric 2.0应用程序Hyperledger Fabric官方提供了以下2.0版本的预编译程序:7 A' ^* X9 z0 g" B
configtxgen:用于生成Fabric创世区块初始或更新配置文件configtxlator:用于编解码Fabric区块链配置文件cryptogen:用于快速生成节点、用户、客户端等所需的证书和密钥文件discover:用于Fabric网络的服务发现idemixgen:很少用到orderer:Fabric排序节点程序peer:Fabric对等节点程序fabric-ca-client:Fabric-CA服务程序的客户端,用于注册和添加用户首先创建一个Hyperledger Fabric 2.0的专用目录,然后进入 该目录:
11 W; U/ ] j& V6 k9 H- K, d 2& [& X9 y' Y, S 39 @$ A& }, F9 V& W. N3 @% v& ? | ~$ mkdir hubwiz-hf2 ~$ cd hubwiz-hf2 ~/hubwiz-hf2$ |
1' p" G. u# r8 ^( { | ~/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子目录下你就可以看到上述程序了:( D2 ?3 D) F# ^5 h
1 | ~/huwbiz-hf2$ ls bin) j. E% j2 J% v! b3 Q |
14 h% X, J: p1 n/ z1 r5 a1 M | export PATH=$HOME/hubwiz-hf2/bin:$PATH7 c) q3 P$ V. G# n/ G3 V* a+ _( b/ w |
14 D7 \+ {' [$ a1 a; p | ~$ orderer version |
2、安装Hyperledger Fabric 2.0示例程序代码在Hyperledger Fabric 2.0目录中执行如下命令安装官方提供的示例代码:
1+ ?" F) f3 _2 q; c1 ] | ~/hubwiz-hf2$ git clone https://github.com/hyperledger/fabric-samples |
使用如下命令查看并验证fabric-samples安装成功:- `8 N* z2 {7 ^$ S3 |$ k! X$ H) H
1- t& ^+ X& I! f) o: j | ~/hubwiz-hf2$ tree fabric-samples -L 1 -d |
1 2% Q. Z8 T5 L2 t; o& y 3, Y, N- ?' o) W3 g* N; m; ? 4 5/ Q6 E# f3 C' D, ~* U 6# G# a( a8 Q: \/ d 7 8& w* ~0 I& ~, _2 ] 9% X. C, D: e8 ^# k& [. j4 e 10& }1 o: y5 s5 z1 E; j! F: @5 g" Z& [ 11 12; z" u9 N9 E3 B0 @/ m 13 146 i* G, W' a0 _ | fabric-samples7 S* L! U" L' \) L( F. t( a# v |- basic-network |- chaincode-docker-devmode( y& T( u N' e# G |- chaincode5 W; q5 `+ ?. t5 Q$ t2 \ |- ci |- commercial-paper) `5 A& Z5 a: [& X5 [( Z2 B- f |- docs& O4 y9 G7 ^/ \; T |- fabcar |- first-network; f$ x5 t5 b9 z, ]/ g$ x |- high-throughput |- interest_rate_swaps |- off_chain_data |- scripts |- test-network |
3、预下载Hyperledger Fabric 2.0的docker镜像可以使用如下命令预下载Hyperledger Fabric 2.0的docker镜像, 这样在进行后续的测试时,会减少一些等待时间。* w7 D8 l1 [; @ n! n7 L$ G# s+ c
1 | ~/hubwiz-hf2$ curl -sSL https://bit.ly/2ysbOFE | bash -s -b -- 2.0.0 1.4.4 0.4.181 R% j8 J4 {3 J8 O$ \6 M |
4、使用test-network测试Hyperledger Fabric 2.0进入fabric-samples目录启动Hyperledger Fabric 2.0新增加的测试网络test-network:
19 u) M7 V) ~7 Q1 L6 S 2$ h+ T4 f2 U& I% H2 R. F | ~/hubwiz-hf2$ cd fabric-samples/test-network ~/hubwiz-hf2/fabric-samples/test-network$ ./network.sh up$ X& V. c2 j4 n$ B4 ]. L0 s |
1 2 30 f+ ]/ U7 l% z 4; C- r5 y; g" l( r* S3 N+ J& w7 ~ 50 Z& u7 z* K0 J/ S7 f 67 l, J5 s& ~& R9 L3 k+ r 72 V0 Z% D7 N$ i3 }- @6 v+ Z& f" J 80 r" M1 F9 M" D, V' i 9% r7 p) ? J9 }8 u 10' W) D6 g$ N1 {3 n; S7 F/ Z7 c 11% f0 x1 U. p! g/ x4 \ | Creating network "net_test" with the default driver; v" w- V& E$ b% L3 U! H Creating volume "net_orderer.example.com" with default driver Creating volume "net_peer0.org1.example.com" with default driver6 c' h- l% [. |# ^ Creating volume "net_peer0.org2.example.com" with default driver Creating orderer.example.com ... done; p2 Z. _4 i2 ~" f9 |# [ Creating peer0.org2.example.com ... done% f) d4 q" r' K4 R* s Creating peer0.org1.example.com ... done CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES9 m1 D# A* r C$ E4 Q: Y" u$ R+ e 8d0c74b9d6af hyperledger/fabric-orderer:latest "orderer" 4 seconds ago Up Less than a second 0.0.0.0:7050->7050/tcp orderer.example.com 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.com9 w( S$ n+ N: D- ~1 }$ n 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.com |