Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Hyperledger fabric environment using docker in docker

License

Notifications You must be signed in to change notification settings

mulinbc/hyperledger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

Hyperledger

Docker Automated build Docker Build Status Docker Pulls MicroBadger Size MicroBadger Layers license

简介

Hyperledger Fabric是一个区块链框架的实现,是Linux基金会托管的Hyperledger项目之一,最初由Digital Asset和IBM贡献。Hyperledger Fabric允许组件即插即用(例如共识和成员服务),这作为开发具有模块化架构的应用程序或解决方案的基础。Hyperledger Fabric利用容器技术来托管被称为"链代码"的智能合约,其中包含系统的应用程序逻辑。

由于Hyperledger Fabric环境配置的复杂性以及众所周知的网络原因,初次接触很难在短时间内配置完成。本项目通过docker in docker技术简化的环境配置,只需要一步即可完成环境搭建,只需要一条命令就可以构建第一个fabric网络。本项目提供的组件如下:

版本说明

如何使用

  1. 准备工作

    docker pull mulinbc/hyperledger # 下载docker镜像文件
    mkdir -p ~/.mulin/hyperledger/var-lib-docker # 创建存放fabric镜像的文件夹
  2. 运行docker镜像

    docker run --privileged -p 22222:22 -p 80:8080 -p 8080:80 --name hyperledger -v ~/.mulin/hyperledger/var-lib-docker:/var/lib/docker -d mulinbc/hyperledger
    # 参数含义
    # --privileged: 以特权模式运行容器
    # -p: 端口映射,22222:22,将本机的22222端口映射到容器的22端口
    # -v: 添加数据卷,/test:/soft,将本机的/test目录挂载到容器的/soft目录
    # -d: 容器在后台运行
    # -e: 指定环境变量,-e ROOT_PASSWORD=password,指定root 用户的密码为password
    # 例如: docker run --privileged -e ROOT_PASSWORD=password -p 22222:22 -p 80:8080 -p 8080:80 --name hyperledger -v ~/.mulin/hyperledger/var-lib-docker:/var/lib/docker -d mulinbc/hyperledger
  3. 进入容器

    • 方法一
    docker exec -it hyperledger sh
    • 方法二
    ssh -p 22222 root@127.0.0.1 # 默认密码: root
  4. 初始化hyperledger环境

    bootstrap.sh init # 下载必要的fabric镜像
  5. 测试hyperledger环境

    bootstrap.sh upnet # 启动第一个hyperledger网络
    bootstrap.sh upexp # 启动hyperledger区块链浏览器
  6. 关闭hyperledger网络

    bootstrap.sh down # 测试完后需要清除hyperledger网络

注意事项

  1. 如遇到fabric网络不能启动,可以先运行bootstrap.sh down后重试
  2. 如遇到explorer不能访问的情况检查
    • 由于导入数据库需要一段时间,检查postgres容器是否启动完成,运行docker logs postgres查看docker容器的日志,如果输出database system is ready to accept connections则说明容器启动成功,运行bootstrap.sh upexp重试
    • 检查〜/hyperledger/blockchain-explorer/app/platform/fabric/config.json配置文件中的路径是否正确,配置方法参考https://github.com/hyperledger/blockchain-explorer#Fabric-Network-Setup
    • 如果启动的是fabcar例子的话,需要将〜/hyperledger/blockchain-explorer/app/platform/fabric/config.json配置文件中grpcs改为grpc,删除多余信息,检查配置路径
  3. 如有建议或BUG可以创建issue,创建方法参考https://guides.github.com/features/issues

致谢

  • 感谢sgerrand提供的alpine glibc库

官方文档:

About

Hyperledger fabric environment using docker in docker

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /