【问题标题】:How to write shell script for chaincode invoke function for arguments from file?如何为文件中的参数的链代码调用函数编写shell脚本?
【发布时间】:2025-12-29 00:40:07
【问题描述】:

我想调用链​​代码以使用 bash 脚本自动写入 10 条记录的数据,链代码的参数可以从 txt 文件中获取。但是,链代码不会从文件写入分类帐,它只写入值“line1”和“line2”。

#!/bin/bash while read -r line1 <&3 && read -r line2 <&4; do
peer chaincode invoke -c '{"Args":["createDocRecord", "$line1" , "$line2"]}' -o orderer.example.com:7050 -C bloom-filter-channel -n bloom-filter --peerAddresses peer0.org2.example.com:9051  done 3<scripts/10.txt 4<scripts/data10.txt`

为什么它不从 txt 文件中获取字符串值?

【问题讨论】:

  • 当您删除链码组件并执行类似printf "#dbg : line1="|$line1| and line2=|$line2|\n" 的简单操作时,它是否有效?祝你好运。
  • @shellter 是的,当我只使用 echo 命令时它可以工作

标签: bash shell hyperledger-fabric hyperledger-chaincode


【解决方案1】:

尝试设置超时。 您可能正在运行调用,而第一个事务尚未验证和提交,我不知道您是如何配置网络的。

所以做一些类似的事情:

peer chaincode invoke -c '{"Args":["createDocRecord", "$line1" , "$line2"]}' -o orderer.example.com:7050 -C bloom-filter-channel -n bloom-filter --peerAddresses peer0.org2.example.com:9051  done 3<scripts/10.txt 4<scripts/data10.txt`

timeout 5

repeat

【讨论】:

  • 很抱歉,它没有帮助。