zoukankan      html  css  js  c++  java
  • hyperledger fabric 1.0.5 分布式部署 (四)

    chaincode 的开发

    作者在hyperledger fabric 1.0.5 分布式部署 (三)中向读者介绍了如何开发fabric 的chaincode,那么实际上chaincode 还有其他的接口,详细的可以参考 /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/interfaces.go 接口文件。

    另外,用户可以也可以认真学习fabric自带的example 例子 examples/chaincode/go/marbles02/marbles_chaincode.go。

    还有一个值得和读者分享的细节是,如果用户希望使用chaincode 的GetQueryResult 接口,那么存储数据的引擎要选择couchdb,而不是leveldb。

    选择couchdb 作为存储引擎,区别就是在启动整个网络服务时,执行以下命令

    ./network_setup.sh up mychannel 10000 couchdb

    当然,如果选择了couchdb作为存储引擎,那么在关闭fabric服务时,也应该加入couchdb 的参数

    ./network_setup.sh down mychannel 10000 couchdb

    在其他非root 用户下执行docker 和 docker-compose 的命令,可能会出现以下错误

    执行 docker 命令的错误信息

    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.29/containers/cli/exec: dial unix /var/run/docker.sock: connect: permission denied

    执行 docker-compose 命令的错误信息

    ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
    
    If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

    解决方法,将当前执行docker 命令的系统用户加入到docker 用户组中,实际上用户在安装docker 软件时,会在操作系统上创建一个docker的 用户组,可以通过/etc/group 文件进行查看

    例如作者希望在pgadmin 用户下执行docker-compose 的命令,可以执行(在root 用户下执行)

    usermod  -aG docker pgadmin

    这样用户就可以在pgadmin 上正常执行docker-compose 的命令了。

    当然如果用户不怕麻烦,也可以在pgadmin 用户下执行docker-compose 命令前都加上 sudo 关键字,以提高权限等级。

  • 相关阅读:
    perl 传递对象到模块
    mysql 监控 大批量的插入,删除,和修改
    mysql 监控 大批量的插入,删除,和修改
    【带着canvas去流浪(11)】Three.js入门学习笔记
    当代职场成功学:越懒惰,越躺赢
    Python3 threading的多线程管理中的线程管理与锁
    collections 使用教程
    Spring MVC DispatcherServlet改造为 CSE RestServlet 常见问题汇编
    WAF(NGINX)中502和504的区别
    Lua
  • 原文地址:https://www.cnblogs.com/chenfool/p/8444693.html
Copyright © 2011-2022 走看看