• 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 关键字,以提高权限等级。

  • 相关阅读:
    Android中各级目录的作用
    轻量级java开发(一)-Hibernate 安装
    Eclipse 安装插件
    Eclipse超级完美汉化教程
    JAVA中extends 与implements区别
    Java基础语法总结
    C#笔试题面试题锦集(全)总20篇
    Nginx集群
    Redis 集群方案
    MS Sql Server 中主从库的配置和使用介绍
  • 原文地址:https://www.cnblogs.com/chenfool/p/8444693.html
Copyright © 2020-2023  润新知