Hyperledger自定义Chaincode部署错误

我正在使用Hyperledger在POC上工作。 我已经按照此处。 我正在跟踪链接中提到的选项1(使用流浪汉来运行CA服务器和一个VP)。 在当前设置中,我正在禁用安全性的情况下运行。 我的VP运行正常,我能够启动并注册链码了(按照上述此处。但是,当我尝试使用以下命令通过CLI部署链代码时:</ p>

 对等链代码deploy -n mycc -c'{“ Function”:“ init”,“ Args”:`[“ hi there”]}''
</ code> </ pre>

我遇到以下错误</ p>

 错误:构建链码时出错:rpc错误:code = 2 desc =“获取链码包字节时出错:无法生成 来自空链码路径的哈希码” 
</ code> </ pre>

我尝试专门提及自定义链码的存储路径,出现以下错误:</ p>

 错误:构建链码时出错:rpc错误:code = 2 desc =“链码的路径不存在:/ opt / gopath / src / ProductBC / ProductBC / finished /” 
</ code> </ pre>

有人遇到过类似的问题吗? 关于如何解决这个问题,有何建议?</ p>
</ div>

展开原文

原文

I'm using Hyperledger to work on a POC. I've set the chaincode setup as mentioned here . I'm following the Option 1 mentioned in the link(using vagrant to run a CA server and one VP). In my current setup, I'm running with security disabled. My VP is running fine, and I'm able to start and register the chaincode just fine (as per mentioned here. But, when I'm trying to deploy my chaincode via CLI with the following command :

peer chaincode deploy -n mycc -c '{"Function":"init", "Args": `["hi there"]}'`

I am getting the following error

Error: Error building chaincode: rpc error: code = 2 desc = "Error getting chaincode package bytes: Cannot generate hashcode from empty chaincode path"

I tried specifically mentioning the path where I've stored my custom chaincode, I get the following error :

Error: Error building chaincode: rpc error: code = 2 desc = "Path to chaincode does not exist: /opt/gopath/src/ProductBC/ProductBC/finished/"

Has anyone faced a similar issue or any points on what can be done to overcome this ?

1个回答



您似乎使用了链码“ / opt / gopath / src / ProductBC / ProductBC / finished /”的完整路径,但< 默认情况下,code> peer </ code>会尝试在您的gopath中找到链码。 </ p>

只需尝试使用“ ProductBC / ProductBC / finished /”运行CLI命令。</ p>

 对等链代码deploy -p ProductBC / ProductBC  / finished -c'{“ Function”:“ init”,“ Args”:[“ hi there”]}'
</ code> </ pre>

尝试在$ GOPATH / src / ProductBC / ProductBC / finished </ p>

PS中找到此链码 在聊天中讨论后更新。 </ p>
</ div>

展开原文

原文

It looks like that you use full path to your chaincode “/opt/gopath/src/ProductBC/ProductBC/finished/” but peer will try to find chaincode in you gopath by default.

Just try to run CLI command with “ProductBC/ProductBC/finished/“ instead.

peer chaincode deploy -p ProductBC/ProductBC/finished -c '{"Function":"init", "Args": `["hi there"]}'`

in this case peer will try to find this chaincode in $GOPATH/src/ProductBC/ProductBC/finished

P.S. Updated after discussion in chat.

dtvq4978
dtvq4978 我想知道为什么他们为golang和节点链码使用不同的路径结构(相对/绝对)。 现在我知道了,谢谢您的见识。
接近 3 年之前 回复
dpw43061
dpw43061 让我们继续聊天中的讨论。
大约 4 年之前 回复
duanguoping2016
duanguoping2016 还是一样的问题
大约 4 年之前 回复
donglan9651
donglan9651 通过重启对等体,您是指通过“ make peer”再次建立对等体,还是仅通过“ peer node start”命令来重新对等体?
大约 4 年之前 回复
dso15221
dso15221 不需要'src'。 如果没有它,您可以尝试运行此命令吗? (只是更新了答案中的示例)
大约 4 年之前 回复
dongyongan9941
dongyongan9941 因此,我的GOPATH是“ / opt / gopath /”,而我的链码位于“ / src”目录中。 因此,我尝试使用以下命令:“ peer chaincode deploy -p / src / ProductBC / ProductBC / finished -n mycc -c'{” Function“:” init“,” Args“:[” hi there“]}' ”,它现在不会引发任何错误,但似乎卡住了。 用新状态更新了问题。
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐