Hyperledger fabric 單機docker cli 啟動及查詢轉賬操作

來源:互聯網
上載者:User
啟動Fabric

現在所有檔案都已經準備完畢,我們可以啟動我們的Fabric網路了。 啟動orderer

讓我們首先來啟動orderer節點,在orderer伺服器上運行:

docker-compose -f docker-compose-cli.yaml up 

運行完畢後我們可以使用docker ps看到運行了一個名字為orderer.example.com的節點。

[root@iz2zeivrkckulq2dtidztmz e2e_cli]# docker-compose -f docker-compose-cli.yaml up WARNING: The CHANNEL_NAME variable is not set. Defaulting to a blank string.WARNING: The TIMEOUT variable is not set. Defaulting to a blank string.Traceback (most recent call last):  File "/usr/bin/docker-compose", line 11, in <module>    sys.exit(main())  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 71, in main    command()  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 124, in perform_command    handler(command, command_options)  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 959, in up    start=not no_start  File "/usr/lib/python2.7/site-packages/compose/project.py", line 449, in up    include_deps=start_deps)  File "/usr/lib/python2.7/site-packages/compose/project.py", line 189, in get_services_without_duplicate    services = self.get_services(service_names, include_deps)  File "/usr/lib/python2.7/site-packages/compose/project.py", line 177, in get_services    unsorted = [self.get_service(name) for name in service_names]  File "/usr/lib/python2.7/site-packages/compose/project.py", line 148, in get_service    raise NoSuchService(name)  File "/usr/lib/python2.7/site-packages/compose/project.py", line 690, in __init__    self.msg = "No such service: %s" % self.nameUnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
解決方案


1)第一種:這裡我們將Python的預設編碼方式修改為utf-8,就可以規避上述問題的發生,具體方式,我們在Python檔案的前面加上如下代碼:import sysdefaultencoding = 'utf-8'if sys.getdefaultencoding() != defaultencoding:    reload(sys)    sys.setdefaultencoding(defaultencoding) 2)第二種:我們在/usr/lib/python2.7/site-packages/目錄下添加一個sitecustomize.py檔案,內容如下:import syssys.setdefaultencoding('utf-8') 這種方式可以解決所有項目的encoding問題,具體說明可參考/usr/lib/python2.7/site.py檔案:


docker-compose -f docker-compose-cli.yaml down



執行命令

docker run -it cli bash
異常:
[root@iz2zeivrkckulq2dtidztmz e2e_cli]# docker exec -it cli bashError response from daemon: Container 1f9b6f7d709f263f4a67a67ad91b419b13844efaaa4caeb6dd571bfa829822c7 is not running

解決方案:

cli:    container_name: cli...   working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer   # command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME} ${DELAY}; sleep $TIMEOUT'    volumes:        - /var/run/:/host/var/run/...

注釋

command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME} ${DELAY}; sleep $TIMEOUT'

進入cli執行

./scripts/script.sh mychannel
查詢

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'


轉帳

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'


查詢餘額


參考資料


http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html?highlight=e2e

https://www.jianshu.com/p/b34dbb643a70

https://www.cnblogs.com/studyzy/p/7237287.html

https://stackoverflow.com/questions/48196669/hyperledger-fabric-cli-container-errors


歡迎大家一起加入討論。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.