1. 程式人生 > >Hyperledger fabric 單機docker cli 啟動及查詢轉賬操作

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

啟動Fabric

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

啟動orderer

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

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

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

[[email protected] 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.name
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)

解決方法

1)第一種:這裡我們將Python的預設編碼方式修改為utf-8,就可以規避上述問題的發生,具體方式,我們在Python檔案的前面加上如下程式碼:

import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding)
 2)第二種:我們在/usr/lib/python2.7/site-packages/目錄下新增一個sitecustomize.py檔案,內容如下:

import sys
sys.setdefaultencoding('utf-8')
 這種方式可以解決所有專案的encoding問題,具體說明可參考/usr/lib/python2.7/site.py檔案:
docker-compose -f docker-compose-cli.yaml down


執行命令

docker run -it cli bash
異常:
[[email protected] e2e_cli]# docker exec -it cli bash
Error 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

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


相關推薦

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

啟動Fabric現在所有檔案都已經準備完畢,我們可以啟動我們的Fabric網路了。啟動orderer讓我們首先來啟動orderer節點,在orderer伺服器上執行:docker-compose -f docker-compose-cli.yaml up 執行完畢後我們可以使

區塊鏈基礎知識系列 第四課Hyperledger fabric 1.0網路組成構建流程

一、fabric網路結構(暫時不包括CA) 如上圖所示,在fabric網路中,O表示Orderer,P代表Peer,EP代表Endorsing Peer(endorser),CC代表Cha

Hyperledger Fabric——balance transfer(六)查詢

balance transfer 提供了很多查詢介面,包括鏈碼查詢,根據區塊號查詢區塊資料,根據交易ID查詢交易資訊,查詢鏈上的區塊數,查詢已安裝或已例項化的鏈碼,查詢通道。 原始碼解析

docker 安裝 啟動停止 查詢狀態

[[email protected] ~]$ sudo yum -y install  docker-io[sudo] wangshumin 的密碼:對不起,請重試。[sudo] wangshumin 的密碼:已載入外掛:fastestmirror, langpac

Hyperledger Fabric 1.2系列:2.下載二進位制、Docker 映象解析官方提供的下載指令碼

轉簡書-沙漠中的猴 簡介 該小結會介紹 官方指令碼 下載fabric-samples程式碼 下載二進位制檔案 下載Docker映象 將二進位制檔案新增進PATH路徑 下載fabric-samples程式碼 選擇一個存放程式碼的目錄。我將程式碼放在

Hyperledger fabric 1.0Beta網絡組成構建流程

負責 組成 proposal 安裝 style 客戶端 invoke install eat 一、fabric網絡結構(暫時不包括CA)   如上圖所示,在fabric網絡中,O表示Orderer,P代表Peer,EP代表Endorsing Peer(endors

搭建基於hyperledger fabric的聯盟社區(三) --生成公私鑰證書配置文件

ger tput reat cts crypto github 最終 pda 成功 一.生成公私鑰和證書 Fabric中有兩種類型的公私鑰和證書,一種是給節點之前通訊安全而準備的TLS證書,另一種是用戶登錄和權限控制的用戶證書。這些證書本來應該是由CA來頒發,但是目前只有兩

Hyperledger Fabric Orderer節點啟動

register pin mage mode read pre hub alc star Orderer 節點啟動通過 orderer 包下的 main() 方法實現,會進一步調用到 orderer/common/server 包中的 Main() 方法。 核心代碼如下所示

實戰:區塊鏈hyperledger fabric 初體驗 - 3: 鏈碼實例安裝、實例化、調用代碼

區塊鏈 hyperledger fabric blockchain 本文鏈碼實例為Fabric 官方實例examples/chaincode/go/chaincode_example02,實現簡單的轉賬功能進入到cli容器裏面$ docker exec -it fabric-cli bash1

centos6.9 上docker 的安裝 啟動 和運行狀態查看

docker安裝dockeryum install docker-io yum install device-mapper-event-libsyum upgrade device-mapper-libs 啟動docker/etc/init.d/docker restart 查看docker的運行狀態/et

HyperLedger Fabric 1.2 單機單節點部署(10.2)

point having itl img chm same value lock eat 單機單節點指在一臺電腦上部署一個排序(Orderer)服務、一個組織(Org1),一個節點(Peer,屬於Org1),然後運行官方案例中的example02智能合約例子,

Hyperledger Fabric v1.1 單機多節點叢集環境搭建

Fabric v1.1 1.環境安裝 1).安裝go 1.9.x 下載地址 http://golang.org/dl/ 配置環境 #go的安裝根目錄 export GOROOT=/usr/local/go #go的工作路徑根目錄 export GOPAT

Hyperledger Fabric 環境部署e2e_cli執行測試

一、軟體下載與安裝        1、Oracle VM VirtualBox 是一款虛擬機器軟體。(官網下載地址https://www.virtualbox.org/wiki/Downloads)       &nb

Hyperledger Fabric &CouchDB 查詢

Hyperledger Fabric(HLF) 使用一個KV資料庫儲存它的狀態。這個物件儲存包含可以使用它的鍵查詢的二進位制資料。fabric 預設使用LevelDB儲存,它包含在 peer 程序中。 當簡單地在你的鏈碼中使用簡單的結構體,你很可能只需要通過他的鍵來查詢資料。但是,如果你

Docker每次啟動容器,IPhosts指定

前言 每次在使用Docker啟動Hadoop叢集的時候,都需要重新繫結下網絡卡,固定IP,同時修改/etc/hosts檔案,非常麻煩,於是想探尋下原因及優化。 一、原因 /etc/hosts, /etc/resolv.conf和/etc/hostname,容器中

Hyperledger fabric基於kafka共識機制單機搭建

cd /opt/gopath/src/github.com/hyperledger/fabric/scripts/fabric-samples mkdir 181021 cd 181021 mkdir chaincode mkdir network cp ../../firs

超級賬本hyperledger fabric第五集:共識排序原始碼閱讀

一.共識機制 達成共識需要3個階段,交易背書,交易排序,交易驗證 交易背書:模擬的 交易排序:確定交易順序,最終將排序好的交易打包區塊分發 交易驗證:區塊儲存前要進行一下交易驗證 二.orderer節點的作用 交易排序 目的:保證系統的最終一致性(有限狀態機)

Hyperledger Fabric(二)—— Fabric入門Hello_World

Fabric入門 需要的環境 下載fabric元件的docker映象 第一個: 進入之後頁面右邊你可以看到pull命令 在tags頁面內找到0.3.1版本的映象 更改pull命令,讓其指定0.3.1版本的映象 docker pull hyperl

【鏈塊技術55期】超級賬本Fabric教程(三):Hyperledger Fabric 1.0架構原理

原文連結:超級賬本Fabric教程(三):Hyperledger Fabric 1.0架構及原理   如果說以比特幣為代表的貨幣區塊鏈技術為 1.0,以以太坊為代表的合同區塊鏈技術為 2.0,那麼實現了完備的許可權控制和安全保障的 Hyperledger 專案毫無疑問代表著區塊鏈技

(三) Hyperledger Fabric 在 Ubuntu16.04 64位環境下手動啟動Fabric網路

一、 前期準備項 版本 更新或下載URL Ubuntu 16.04 64位 略 依賴項(不分先後順序) docker 17.05.0-ce yes|cp -f ./docker.repo /etc/yum.repos.d/docker.repo sudo