IBM-Blockchain之marbles项目搭建运行

来源:互联网 发布:淘宝套现容易被发现吗 编辑:程序博客网 时间:2024/06/06 16:40

前言

  Marbles项目的底层网络是Hyperledger Fabric(分布式的超级账本),该项目最终会呈献给我们通过图形化界面,可以用来操作marbles。可以添加用户,添加marble,删除marble,交易marble,这些操作都会记录到区块链上。
  启动项目之前需要一些指定的设置,并且我们选择搭建本地的Hyperledger Network来运行项目。我的系统环境:Ubuntu16.04。
 

设置

1 环境搭建

  • 需要安装(版本号要严格按照下面的来设置):
    • Git
    • GoLang - 1.7.0 or higher(要设置好GOPATH)
    • Docker - v1.13 or higher
    • Docker Compose - v1.8 or higher
    • Node.js - node v6.2.0 - v6.10.0 (v7+不支持)
  • 验证安装:

        $  git  --version    git version 2.7.4    $  go version    go version go1.8.3 linux/amd64    $  echo $GOPATH    /media/jiang/newspace/project/mygo    $   docker -v    Docker version 17.06.0-ce, build 02c1d87    $  docker-compose  -v    docker-compose version 1.14.0, build c7bdf9e    $  node -v    v6.10.0    $  npm -v    3.10.10

2 下载marbles仓库

  • 定位到存放目录,执行命令:

    git clone https://github.com/IBM-Blockchain/marbles.git --depth 1git checkout v3.0

3 设置本地区块链网络

  • 下载所需的Docker镜像(下载速度慢的 设置镜像代理试试?)

    cd marbles/scriptschmod +x download-dockerimages.shsudo ./download-dockerimages.sh
    • 脚本完成后会在命令行面板里看到:

      hyperledger/fabric-ca          latest               35311d8617b4        3 weeks ago         240 MBhyperledger/fabric-ca          x86_64-1.0.0-alpha   35311d8617b4        3 weeks ago         240 MBhyperledger/fabric-couchdb     latest               f3ce31e25872        3 weeks ago         1.51 GBhyperledger/fabric-couchdb     x86_64-1.0.0-alpha   f3ce31e25872        3 weeks ago         1.51 GBhyperledger/fabric-kafka       latest               589dad0b93fc        3 weeks ago         1.3 GBhyperledger/fabric-kafka       x86_64-1.0.0-alpha   589dad0b93fc        3 weeks ago         1.3 GBhyperledger/fabric-zookeeper   latest               9a51f5be29c1        3 weeks ago         1.31 GBhyperledger/fabric-zookeeper   x86_64-1.0.0-alpha   9a51f5be29c1        3 weeks ago         1.31 GBhyperledger/fabric-orderer     latest               5685fd77ab7c        3 weeks ago         182 MBhyperledger/fabric-orderer     x86_64-1.0.0-alpha   5685fd77ab7c        3 weeks ago         182 MBhyperledger/fabric-peer        latest               784c5d41ac1d        3 weeks ago         184 MBhyperledger/fabric-peer        x86_64-1.0.0-alpha   784c5d41ac1d        3 weeks ago         184 MBhyperledger/fabric-javaenv     latest               a08f85d8f0a9        3 weeks ago         1.42 GBhyperledger/fabric-javaenv     x86_64-1.0.0-alpha   a08f85d8f0a9        3 weeks ago         1.42 GBhyperledger/fabric-ccenv       latest               91792014b61f        3 weeks ago         1.29 GBhyperledger/fabric-ccenv       x86_64-1.0.0-alpha   91792014b61f        3 weeks ago         1.29 GB
  • 设置Fabric Node SDK

    cd marbles/scriptsbash setup_sdk.sh

    脚本执行完成后,会在scripts目录下生成fabric-sdk-node文件夹。

    • 那么这个脚本都执行了什么操作呢,请看下面:

      #!/bin/bashset -e# 1 下载 SDKgit clone https://github.com/hyperledger/fabric-sdk-node.gitsleep 1cd ./fabric-sdk-nodegit checkout v1.0.0-alphagit branchsleep 1# 2 安装依赖npm installnpm install -g gulpgulp ca# 3 拷贝docker-compose 文件到SDK指定文件夹cd ../cp ./docker-compose-marblesv3.yaml fabric-sdk-node/test/fixtures# 4 拷贝配置文件到SDK指定文件夹cp ./config.json fabric-sdk-node/test/integration/e2e   
  • 启动网络

    docker rm -f $(docker ps -aq)cd ./fabric-sdk-node/test/fixturesdocker-compose -f docker-compose-marblesv3.yaml up -d
    • 一旦执行成功,执行docker ps命令,会看到docker中有8个运行中的容器:

      CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                       PORTS                                            NAMESe61cf829f171        hyperledger/fabric-peer      "peer node start -..."   3 minutes ago       Up 2 minutes        0.0.0.0:7056->7051/tcp, 0.0.0.0:7058->7053/tcp   peer10cc1f5ac24da        hyperledger/fabric-peer      "peer node start -..."   3 minutes ago       Up 2 minutes        0.0.0.0:8056->7051/tcp, 0.0.0.0:8058->7053/tcp   peer37ab3106e5076        hyperledger/fabric-peer      "peer node start -..."   3 minutes ago       Up 3 minutes        0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp   peer02bc5c6606e6c        hyperledger/fabric-peer      "peer node start -..."   3 minutes ago       Up 3 minutes        0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp   peer2513be1b46467        hyperledger/fabric-ca        "sh -c 'fabric-ca-..."   3 minutes ago       Up 3 minutes        0.0.0.0:8054->7054/tcp                           ca_peerOrg2741c363ba34a        hyperledger/fabric-orderer   "orderer"                3 minutes ago       Up 3 minutes        0.0.0.0:7050->7050/tcp                           orderer0abaae883eb13        couchdb                      "tini -- /docker-e..."   3 minutes ago       Up 3 minutes        0.0.0.0:5984->5984/tcp                           couchdb2c2d51fe88c0        hyperledger/fabric-ca        "sh -c 'fabric-ca-..."   3 minutes ago       Up 3 minutes        0.0.0.0:7054->7054/tcp                           ca_peerOrg1
  • 设置网络

    定位到fabric-sdk-node/目录下

    • 创建channel

      rm -rf /tmp/hfc-*rm -rf ~/.hfc-key-storenode test/integration/e2e/create-channel.js
    • 加入channel

      node test/integration/e2e/join-channel.js

4 安装/初始化Chaincode

  • 定位到marbles/下,安装npm依赖

    npm install      
  • 定位到marbles/scripts/下,安装Chaincode

    node install_chaincode.js
  • 定位到marbles/scripts/下,初始化Chaincode

    node instantiate_chaincode.js

5 启动Marbles

  • 启动命令

    gulp marbles3
  • 出现下面关键字,说明启动成功了(在浏览器打开localhost:3001

    ------------------------------------------ Server Up - localhost:3001 ------------------------------------------------------------------------------------ Websocket Up ------------------------------------------
阅读全文
0 0
原创粉丝点击