【问题标题】:Facing Issue with hyperledger playground tutorial超级账本游乐场教程面临的问题
【发布时间】:2018-07-12 17:46:06
【问题描述】:

我首先使用此链接安装了超级账本:https://hyperledger.github.io/composer/latest/installing/development-tools.html

在作曲家安装期间...似乎安装了 v0.19.x。

所以当我运行命令 ./createPeerAdminCard.sh ... 我得到一个错误:

“此级别的结构不支持v0.19.x。请使用版本0.16”...

我检查了脚本 fabric-scripts/hlfv1/createPeerAdminCard.sh,它确实说版本应该是 0.16.x.. 来自执行版本检查的脚本中的示例 sn-p:

>>
AWKRET=$(echo $COMPOSER_VERSION | awk -F. '{if ($2<15 || $2>16) print "1"; else print "0";}')
    if [ $AWKRET -eq 1 ]; then
        echo $COMPOSER_VERSION is not supported for this level of fabric. **Please use version 0.16**
        exit 1
>>

然后我卸载了 v0.19.x 并安装了 composer-cli@0.16.6... 为上面安装链接中提到的所有模块执行此操作。

在此之后,我能够成功设置我的结构环境。

现在我正在使用此链接中的游乐场教程来创建业务网络。

https://hyperledger.github.io/composer/latest/tutorials/playground-tutorial.html

使用此链接,我可以毫无问题地创建 .cto 文件。

但是当我创建脚本文件时,即带有以下内容的 scrip.js 我得到一个错误。

/**
 * Track the trade of a commodity from one trader to another
 * @param {org.example.mynetwork.Trade} trade - the trade to be processed
 * @transaction
 */
function tradeCommodity(trade) {
    trade.commodity.owner = trade.newOwner;
    let assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity');
    await assetRegistry.update(trade.commodity);
}

发现错误! SyntaxError: 无法解析 null: Unexpected token (6:6)

当我搜索这个问题时.. 我在下面的链接中看到了同样的问题: Unexpected token (6:6) ...

所以现在解决上面链接中提到的这个问题是...... v0.16.x 不支持 async 和 ES6 关键字......并升级到 0.17.x 和更高版本......

所以现在卡住了..因为如果我将作曲家升级到 v0.17x,上面的 createPeerAdminCard.sh 将失败...如果我坚持使用 0.16.x,那么我会遇到上述脚本解析问题。

您能否帮助或指导我解决此问题的方法?

【问题讨论】:

  • 我认为您安装了与 v0.19.x 不兼容的 fabric v1.0。我建议你重新安装fabric,注意下载v1.1(在“fabric-dev-servers”文件夹中有两个脚本可以下载)。
  • 非常感谢您的回复...我昨天下载了fabric-dev-servers...在此链接中:
  • 是否有任何命令可以下载 v1.1 结构...在安装链接中我只看到这些命令... mkdir ~/fabric-dev-servers && cd ~/fabric-dev-服务器 curl -O raw.githubusercontent.com/hyperledger/composer-tools/master/… tar -xvf fabric-dev-servers.tar.gz cd ~/fabric-dev-servers ./downloadFabric.sh cd ~/fabric-dev-servers ./startFabric.sh ./createPeerAdminCard.sh ...没有显示我们可以在哪里指定版本 1.1?

标签: hyperledger-fabric hyperledger hyperledger-composer


【解决方案1】:

v0.19.* 是 Composer 的受支持版本,因此正如 Leonardo 所说,您应该删除 v0.16 和 Fabric 1.0 并使用更高版本“重新启动”。这些是大致的步骤:

  1. 停止并移除 docker 容器
  2. 删除 Docker 映像
  3. npm uninstall -g 模块
  4. rm -rf ~/.composer 移除 v0.16 版本的卡片
  5. 删除fabric-dev-servers 文件夹和内容(如果是旧版本,这可能称为fabric-tools
  6. 下载新版本的fabric-dev-servers,并运行downloadFabric.sh 脚本
  7. 使用docker ps 检查 Fabric 容器的版本

然后您应该可以返回“安装”文档和开发人员教程。

【讨论】:

  • 非常感谢您的回复...我昨天下载了fabric-dev-servers...从此安装链接...hyperledger.github.io/composer/latest/installing/… ....然后我按照中所述执行上面的链接: cd ~/fabric-dev-servers ./startFabric.sh ./createPeerAdminCard.sh 所以在这种情况下,它默认为版本 hlfv1 而不是 hlfv11。我会按照下面提到的步骤再试一次,然后告诉你结果。
  • 我认为脚本的默认值是 hlfv11 - 但您可以在运行脚本之前使用环境变量显式设置它:` export FABRIC_VERSION=hlfv11 `
  • 感谢这解决了问题。我现在可以使用本教程了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-11
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多