【问题标题】:Hyperledger FabCar Network issue via Visual Studio Code通过 Visual Studio Code 的 Hyperledger FabCar 网络问题
【发布时间】:2020-12-30 22:37:26
【问题描述】:

在从网上找到的有趣教程 - Hyperledger Fabric 1.4 Tutorial - FabCar Sample Application 中复制步骤时,我已经通过 Curl 命令安装了所有 Hyperledger Fabric 二进制文件:

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s

Command Prompt 窗口可以看到,脚本运行正确导致hyperledger-docker images 被拉取。

但是,在通过执行从 Visual Studio Code 启动 network

./startFabric.sh javascript 来自fabcar 子目录,其中一个以Fabric Images 问题结束,这似乎是自相矛盾的。

在尝试通过命令调出network 时遇到了类似问题

./network.sh up

也来自test-network 子目录。

因此,任何相关的反馈都将不胜感激,因为没有理由证明此事的合理性。

[编辑]

事实上,同步问题可能导致了之前报告的问题,因为在在线记录的Curl 中找不到fabric-samples v.1.4.9 command。因此脚本会自动安装最新的Fabric binaries2.x

为了排除这个问题,我通过指定版本1.4.4 重新执行了Curl command。 因此我可以确认,test-network 子目录不是与版本1.4x 相关的Fabric binaries 的一部分。 此外,在安装此二进制文件之前,我已经删除了所有 containers 和相关的 images,从而产生:

回到fabcar 子目录,运行: ./startFabric.sh javascript 仍然导致以下network 问题:

最让我印象深刻的是:

  • 首先,configtxlator 可以在我的C:\Users\...\Documents\test4\fabric-samples\bin 上找到,而不是在command window 上突出显示的路径。

  • 其次,通过byfn.sh,我没有看到版本不兼容的问题:

最终手动修改IMAGETAG并没有改善这种情况。

最好的

【问题讨论】:

    标签: visual-studio-code hyperledger-fabric hyperledger ibm-blockchain


    【解决方案1】:

    你好像有不同的版本。

    hyperledger/fabric-samples 中,test-network 在版本1.4 中不存在。换句话说,您正在运行fabric-samplesmaster 版本的代码(当前版本为2.x 版本)。由于您正在运行 1.4 教程,因此请根据 1.4 文档和代码运行命令。


    [注意] 也很可能安装了不同版本的二进制文件。在fabric文档中可以指定版本并下载,所以下载对应版本的二进制文件,需要执行下面包含输入参数(version)的命令。

    curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s - 1.4.9 1.4.9 0.4.21
    

    [编辑 - 1] 在解释之前,在 1.4.x 中,first-network/byfn.sh 存在,而不是test-network/network.sh。将 fabric-samples 的分支更改为 release-1.4。 在学习 1.4 教程时不要运行 2.x 代码。

    ./byfn.sh 基本上将图像标签执行为latest。也就是说,如果你拉取了2.x版本的镜像,即使你继续1.4.x,它也会以2.x运行。

    cd fabric-samples
    git checkout release-1.4
    

    有两种方法。

    1. 1.4.x 图像标记latest 取消标记所有超级账本latest 图像标签,并将1.4.x 图像标记为latest。 (其实最简单的方法就是把2.x和1.4.x的镜像都删掉再执行命令。)

    2. 或编辑byfn.sh byfn.sh中有一部分要设置IMAGE_TAG

    • byfn.sh
    # default image tag
    # IMAGETAG="latest"
    IMAGETAG="1.4.9"
    

    确保该部分的值与您的 1.4.x 版本匹配


    [编辑 - 2] 对于二进制,我不知道你在哪里以及如何构建它。但是,您可以轻松地在 Fabric github 上构建它。

    1. 制作二进制文件
    cd $GOPATH/src/github.com/hyperledger
    git clone http://github.com/hyperledger/fabric
    cd fabric
    git checkout release-1.4
    make native
    
    • 生成文件 native - 确保所有本地二进制文件都可用 configtxgen - 构建本机 configtxgen 二进制文件 configtxlator - 构建原生 configtxlator 二进制文件 cryptogen - 构建本机 cryptogen 二进制文件 idemixgen - 构建原生 idemixgen 二进制文件 peer - 构建本机结构对等二进制文件 orderer - 构建原生结构排序器二进制文件
    1. 路径设置
    mv $GOPATH/src/github.com/hyperledger/fabric/.build/bin/* <your_bin_path>
    
    # in my case
    # mv $GOPATH/src/github.com/hyperledger/fabric/.build/bin/* usr/local/bin
    

    export PATH=$PATH:$GOPATH/src/github.com/hyperledger/fabric/.build/bin
    

    【讨论】:

    • 感谢您的反馈。但是,请注意,无论我使用您的curl 命令还是curl -sSL ... | bash -s -- 1.4.9 1.4.9 0.4.21 (hyperledger-fabric.readthedocs.io/en/release-1.4/install.html) 指向v1.4test-network 确实存在某些原因,导致相同的network 问题,如在图片。最好的祝福。
    • 非常感谢您的cmets。我已经相应地修改了post,因为问题的核心可能在于Fabricbinaries和相关@之间的同步问题987654363@ 图片。
    • 安装二进制文件和注册路径是非常基本的,所以我在答案中进一步编辑了它们。此外,应根据 StackOverflow 中的指南创建新问题,而不是修改问题。 (如果问题宽泛或包含多个问题,则问题不好。)
    • 我同意安装binariesregistering paths 是基本任务。您的最新观点1. 甚至可以通过H. Fabric 网站上记录的单个curl command 执行。 2. 可以通过编辑环境变量来执行。为了尽量减少任何同步问题,已经下载了 v.2X 并自动安装了相关的二进制文件,因为 curl 总共执行了 4 个记录的步骤。编辑的目的是为遇到的网络问题提供更多详细信息,而不是重复相同的问题。
    • 我的问题主要是关于下载的混合Docker containers(对于不同的Fabric 版本)并且没有被清除/删除,您的建议最终提高了这种认识。因此,感谢您的所有意见。最好的。
    猜你喜欢
    • 2020-05-30
    • 2018-12-06
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    相关资源
    最近更新 更多