在对面料V1.4私人数据样本链代码调用错误

问题描述 投票:1回答:2

我遵循的步骤在https://hyperledger-fabric.readthedocs.io/en/latest/private_data_tutorial.html步骤的指令,但有这样的错误“错误:字符串文字无效字符‘\ n’ - 提案回答:错误解析短暂串”在链代码中调用。是否有任何人有同样的问题?请您指教如何解决它。非常感谢!

我跟随在https://hyperledger-fabric.readthedocs.io/en/latest/private_data_tutorial.html步骤的指令通过步骤,但必须在链代码中调用错误

返回是“错误:错误解析短暂字符串:在字符串常量无效字符‘\ n’ - 提案回答:”

我发出怒吼调用命令:出口MARBLE = $(回声-n “{\” 名称\ “:\” marble1 \ “\ ”颜色\“:\ ”蓝\“,\ ”大小\“:35 \”业主\ “:\” 汤姆\ “\ ”价格\“:99}” |的base64)等chaincode调用-o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com /hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c“{ “参数数量”: [ “initMarble”]}” --transient “{\” 大理石\ “:\” $ MARBLE \ “}”

出口MARBLE = $(回声-n “{\” 名称\ “:\” marble1 \ “\ ”颜色\“:\ ”蓝\“,\ ”大小\“:35 \ ”老板\“:\”汤姆\ “\ ”价格\“:99}” |的base64)等chaincode调用-o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer /crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c“{ “参数数量”:[ “initMarble”]} “--transient ”{\“ 大理石\ ”:\“ $ MARBLE \ ”}“

预计有:[chaincodeCmd] chaincodeInvokeOrQuery-> INFO 001 Chaincode调用成功。结果:状态:200

实际结果是:“错误:错误解析短暂字符串:在字符串常量无效字符‘\ n’ - 提案回答:”

hyperledger-fabric
2个回答
2
投票

请问您使用的是哪台机器?并检查是否TR -d \ n是存在,而

出口MARBLE = $(回声-n “{\” 名称\ “:\” marble1 \ “\ ”颜色\“:\ ”蓝\“,\ ”大小\“:35 \ ”老板\“:\”汤姆\ “\ ”价格\“:99}” |的base64 | TR -d \ N)

特定

tr命令剥去其在linux BASE64命令将有问题的换行符。

如果问题仍然存在,你可以参考How can I replace a newline (\n) using sed?和尝试

TR -d '\ n'

要么

TR --delete '\ n'


1
投票

织物private data tutorial已经被更新,以指示新行应该被剥夺,像这样tr -d \\n

export MARBLE=$(echo -n "{\"name\":\"marble1\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64 | tr -d \\n)
© www.soinside.com 2019 - 2024. All rights reserved.