面对 hyperledger playground 教程的问题

Facing Issue with hyperledger playground tutorial

我首先使用这个 link 安装了 hyperledger:https://hyperledger.github.io/composer/latest/installing/development-tools.html

在 composer 安装期间...似乎安装了 v0.19.x.

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

"v0.19.x is not supported for this level of fabric. Please use version 0.16"...

我检查了脚本 fabric-scripts/hlfv1/createPeerAdminCard.sh,它确实说版本应该是 0。16.x.. 进行版本检查的脚本示例片段:

>>
AWKRET=$(echo $COMPOSER_VERSION | awk -F. '{if (<15 || >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... 对上面安装 link 中提到的所有模块都这样做了。

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

现在正在使用 link 中的 playground 教程来创建业务网络。

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

使用这个 link 我可以毫无问题地创建 .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:意外标记 (6:6)

当我用谷歌搜索这个问题时..我看到下面报告了同样的问题 link: ...

所以现在解决上面 link 中提到的这个问题是.. v0.16.x 不支持异步和 ES6 关键字...并升级到 0.17.x 及更高...

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

你能帮我解决这个问题吗?

v0.19.* 是受支持的 Composer 版本,因此正如 Leonardo 所说,您应该删除 v0.16 和 Fabric 1.0 以及更高版本的 'restart'。这些是主要步骤:

  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
  8. 检查 Fabric 容器的版本

然后您应该可以返回 "Install" 文档和开发人员教程。