|
3 | 3 | ### 双方交易案例 |
4 | 4 | 两方(如 a 和 b)之间进行价值的转移。 |
5 | 5 |
|
6 | | -集群启动后,进入一个 VP 节点。 |
| 6 | +集群启动后,进入一个 VP 节点。以 pbft 模式为例,节点名称为 `pbft_vp0_1`。 |
7 | 7 |
|
8 | 8 | ```sh |
9 | | -$ docker exec -it vp0 bash |
| 9 | +$ docker exec -it pbft_vp0_1 bash |
10 | 10 | ``` |
11 | 11 |
|
12 | 12 | 部署 chaincode example02。 |
13 | 13 |
|
14 | 14 | ```sh |
15 | 15 | $ peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}' |
16 | | -13:16:35.643 [crypto] main -> INFO 001 Log level recognized 'info', set to INFO |
17 | | -5844bc142dcc9e788785e026e22c855957b2c754c912702c58d997dedbc9a042f05d152f6db0fbd7810d95c1b880c210566c9de3093aae0ab76ad2d90e9cfaa5 |
| 16 | +08:23:25.028 [chaincodeCmd] getChaincodeSpecification -> INFO 001 Local user 'jim' is already logged in. Retrieving login token. |
| 17 | +08:23:26.162 [chaincodeCmd] chaincodeDeploy -> INFO 002 Deploy result: type:GOLANG chaincodeID:<path:"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02" name:"980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d" > ctorMsg:<args:"init" args:"a" args:"100" args:"b" args:"200" > |
| 18 | +08:23:26.163 [main] main -> INFO 003 Exiting..... |
| 19 | +``` |
| 20 | + |
| 21 | +部署成功后,系统中会自动生成几个 chaincode 容器,例如 |
| 22 | + |
| 23 | +```sh |
| 24 | +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
| 25 | +07d5c07bbab3 dev-vp1-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d "/opt/gopath/bin/980d" 15 minutes ago Up 15 minutes dev-vp1-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d |
| 26 | +52b1be5a7bda dev-vp0-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d "/opt/gopath/bin/980d" 15 minutes ago Up 15 minutes dev-vp0-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d |
| 27 | +480df639c212 dev-vp2-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d "/opt/gopath/bin/980d" 15 minutes ago Up 15 minutes dev-vp2-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d |
| 28 | +14ecdae1adbf dev-vp3-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d "/opt/gopath/bin/980d" 15 minutes ago Up 15 minutes dev-vp3-980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d |
18 | 29 | ``` |
19 | 30 |
|
20 | 31 | 查询 a 手头的价值,为初始值 100。 |
21 | 32 |
|
22 | 33 | ```sh |
23 | | -$ peer chaincode query -n 5844bc142dcc9e788785e026e22c855957b2c754c912702c58d997dedbc9a042f05d152f6db0fbd7810d95c1b880c210566c9de3093aae0ab76ad2d90e9cfaa5 -c '{"Function": "query", "Args": ["a"]}' |
24 | | -13:20:07.952 [crypto] main -> INFO 001 Log level recognized 'info', set to INFO |
25 | | -100 |
| 34 | +$ peer chaincode query -n 980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d -c '{"Function": "query", "Args": ["a"]}' |
| 35 | +08:37:12.415 [chaincodeCmd] getChaincodeSpecification -> INFO 001 Local user 'jim' is already logged in. Retrieving login token. |
| 36 | +08:37:12.516 [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 002 Successfully queried transaction: chaincodeSpec:<type:GOLANG chaincodeID:<name:"980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d" > ctorMsg:<args:"query" args:"a" > secureContext:"jim" > |
| 37 | +Query Result: 100 |
| 38 | +08:37:12.516 [main] main -> INFO 003 Exiting..... |
26 | 39 | ``` |
27 | 40 |
|
28 | 41 | a 向 b 转账 10 元。 |
29 | 42 |
|
30 | 43 | ```sh |
31 | | -$ peer chaincode invoke -n 5844bc142dcc9e788785e026e22c855957b2c754c912702c58d997dedbc9a042f05d152f6db0fbd7810d95c1b880c210566c9de3093aae0ab76ad2d90e9cfaa5 -c '{"Function": "invoke", "Args": ["a", "b", "10"]}' |
32 | | -13:20:31.028 [crypto] main -> INFO 001 Log level recognized 'info', set to INFO |
33 | | -ec3c675b-a2fe-4429-ab44-7f389e454657 |
| 44 | +$ peer chaincode invoke -n 980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d -c '{"Function": "invoke", "Args": ["a", "b", "10"]}' |
| 45 | +08:37:51.211 [chaincodeCmd] getChaincodeSpecification -> INFO 001 Local user 'jim' is already logged in. Retrieving login token. |
| 46 | +08:37:51.309 [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 002 Successfully invoked transaction: chaincodeSpec:<type:GOLANG chaincodeID:<name:"980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d" > ctorMsg:<args:"invoke" args:"a" args:"b" args:"10" > secureContext:"jim" > (66308740-a2c5-4a60-81f1-778dbed49cc3) |
| 47 | +08:37:51.309 [main] main -> INFO 003 Exiting..... |
34 | 48 | ``` |
35 | 49 |
|
36 | 50 | 查询 a 手头的价值,为新的值 90。 |
37 | 51 |
|
38 | 52 | ```sh |
39 | | -$ peer chaincode query -n 5844bc142dcc9e788785e026e22c855957b2c754c912702c58d997dedbc9a042f05d152f6db0fbd7810d95c1b880c210566c9de3093aae0ab76ad2d90e9cfaa5 -c '{"Function": "query", "Args": ["a"]}' |
40 | | -13:20:35.725 [crypto] main -> INFO 001 Log level recognized 'info', set to INFO |
41 | | -90 |
| 53 | +$ peer chaincode query -n 980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d -c '{"Function": "query", "Args": ["a"]}' |
| 54 | +08:55:12.961 [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Successfully queried transaction: chaincodeSpec:<type:GOLANG chaincodeID:<name:"980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d" > ctorMsg:<args:"query" args:"a" > > |
| 55 | +Query Result: 90 |
| 56 | +08:55:12.962 [main] main -> INFO 002 Exiting..... |
42 | 57 | ··· |
0 commit comments