Hyperledger Playground教程面临的问题

时间:2018-07-12 05:57:44

标签: hyperledger-fabric hyperledger hyperledger-composer

我首先使用以下链接安装了超级账本: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。.脚本中的样本片段进行了版本检查:

>>
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:意外令牌(6:6)

当我用Google搜索该问题时。.我在以下链接中看到了同一问题的报告: Unexpected token (6:6) ...

因此,现在上面链接中提到的此问题的解决方法是:v0.16.x不支持async和ES6关键字...并升级到0.17.x及更高版本...

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

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

1 个答案:

答案 0 :(得分:0)

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

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