美文网首页
【docker】超级账本Hyperledger Fabric搭建

【docker】超级账本Hyperledger Fabric搭建

作者: 一钱科技 | 来源:发表于2022-03-16 16:20 被阅读0次

      运行环境:ubuntu18.04, 默认本地已安装docker,go,

    一、Fabric源码地址

    下载Fabric源码,GitHub地址
    下载Fabric-Sample源码,GitHub地址
    下载Fabric执行程序,GitHub地址

    拉取镜像
    docker pull hyperledger/fabric-peer:2.3.0
    docker pull hyperledger/fabric-orderer:2.3.0
    docker pull hyperledger/fabric-ccenv:2.3.0
    docker pull hyperledger/fabric-tools:2.3.0
    docker pull hyperledger/fabric-baseos:2.3.0
    docker pull hyperledger/fabric-ca:1.4.9
    
    准备工作

    解压sample文件,放在scripts文件夹下。
    解压执行程序,放在sample文件夹内。

    搭建步骤
    • 创建fabric网络,包括两个节点,一个Order服务
    ./network.sh up 2.3.0
    
    Creating network "fabric_test" with the default driver
    Creating volume "net_orderer.example.com" with default driver
    Creating volume "net_peer0.org1.example.com" with default driver
    Creating volume "net_peer0.org2.example.com" with default driver
    Creating peer0.org2.example.com ... done
    Creating orderer.example.com    ... done
    Creating peer0.org1.example.com ... done
    Creating cli                    ... done
    CONTAINER ID   IMAGE                               COMMAND             CREATED         STATUS                  PORTS                                            NAMES
    1667543b5634   hyperledger/fabric-tools:latest     "/bin/bash"         1 second ago    Up Less than a second                                                    cli
    b6b117c81c7f   hyperledger/fabric-peer:latest      "peer node start"   2 seconds ago   Up 1 second             0.0.0.0:7051->7051/tcp                           peer0.org1.example.com
    703ead770e05   hyperledger/fabric-orderer:latest   "orderer"           2 seconds ago   Up Less than a second   0.0.0.0:7050->7050/tcp, 0.0.0.0:7053->7053/tcp   orderer.example.com
    718d43f5f312   hyperledger/fabric-peer:latest      "peer node start"   2 seconds ago   Up 1 second             7051/tcp, 0.0.0.0:9051->9051/tcp                 peer0.org2.example.com
    
    
    • 在组织Org1和Org2之间创建通道,并将节点加入通道
    ./network.sh createChannel
    
    Channel 'mychannel' joined
    
    • 部署智能合约
    ./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
    
    Chaincode is packaged
    
    • 初始化账本
    export FABRIC_CFG_PATH=$PWD/../config/
    
    # Environment variables for Org1
    export CORE_PEER_TLS_ENABLED=true
    export CORE_PEER_LOCALMSPID="Org1MSP"
    export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
    export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    export CORE_PEER_ADDRESS=localhost:7051
    
    peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"InitLedger","Args":[]}'
    
    -> INFO 001 Chaincode invoke successful. result: status:200
    
    • 数据查询
    peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}'
    
    [
      {"ID": "asset1", "color": "blue", "size": 5, "owner": "Tomoko", "appraisedValue": 300},
      {"ID": "asset2", "color": "red", "size": 5, "owner": "Brad", "appraisedValue": 400},
      {"ID": "asset3", "color": "green", "size": 10, "owner": "Jin Soo", "appraisedValue": 500},
      {"ID": "asset4", "color": "yellow", "size": 10, "owner": "Max", "appraisedValue": 600},
      {"ID": "asset5", "color": "black", "size": 15, "owner": "Adriana", "appraisedValue": 700},
      {"ID": "asset6", "color": "white", "size": 15, "owner": "Michel", "appraisedValue": 800}
    ]
    
    二、Fabric浏览器搭建

    BlockChain-exploer源码,GitHub地址

    拉取镜像
    docker pull hyperledger/explorer
    docker pull hyperledger/explorer-db
    
    解压源码

    修改配置文件,docker-compose.yaml:

     services:
          explorer.mynetwork.com:
    
            ...
    
            volumes:
               - ./examples/net1/config.json:/opt/explorer/app/platform/fabric/config.json
               - ./examples/net1/connection-profile:/opt/explorer/app/platform/fabric/connection-profile
               - /root/fabric/fabric-2.3.0/scripts/fabric-samples/test-network/organizations:/tmp/crypto
               - walletstore:/opt/explorer/wallet
    

    启动容器服务

    docker-compose up -d
    

    成功后,打开网址:http://localhost:8080

    登录页面

    默认登录账号:exploreradmin 密码:exploreradminpw

    概览
    概览
    网络结构
    区块
    区块
    交易
    链码
    通道

    相关文章

      网友评论

          本文标题:【docker】超级账本Hyperledger Fabric搭建

          本文链接:https://www.haomeiwen.com/subject/rfotdrtx.html