面对 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'。这些是主要步骤:
- 停止并删除 docker 个容器
- 删除 Docker 个图片
npm uninstall -g
模块
rm -rf ~/.composer
删除卡片的v0.16版本
- 删除
fabric-dev-servers
文件夹和内容(如果是旧版本,则可能称为 fabric-tools
)
- 下载新版本的 fabric-dev-servers,运行 downloadFabric.sh 脚本
- 使用
docker ps
检查 Fabric 容器的版本
然后您应该可以返回 "Install" 文档和开发人员教程。
我首先使用这个 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'。这些是主要步骤:
- 停止并删除 docker 个容器
- 删除 Docker 个图片
npm uninstall -g
模块rm -rf ~/.composer
删除卡片的v0.16版本- 删除
fabric-dev-servers
文件夹和内容(如果是旧版本,则可能称为fabric-tools
) - 下载新版本的 fabric-dev-servers,运行 downloadFabric.sh 脚本
- 使用
docker ps
检查 Fabric 容器的版本
然后您应该可以返回 "Install" 文档和开发人员教程。