hyperledger-fabric - Fabric v1.3 链码在导入“shim/ext/statebased”时无法实例化
问题描述
由于我尝试了 Fabric v1.3 的新功能:key-level-endorsement
从此文档中,我必须通过 KeyEndorsementPolicy.Policy() 函数生成我的密钥级背书策略。
但是,导入包后无法实例化链码github.com/hyperledger/fabric/core/chaincode/shim/ext/statebased
以下是错误日志:
2018-12-11 09:58:25.518 UTC [dockercontroller] deployImage -> ERRO 053 Error building images: Failed to generate platform-specific docker build: Error returned from build: 1 "opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/ext/statebased/statebasedimpl.go:14:2: cannot find package "github.com/hyperledger/fabric/common/cauthdsl" in any of:
/opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric/common/cauthdsl (vendor tree)
/opt/go/src/github.com/hyperledger/fabric/common/cauthdsl (from $GOROOT)
/chaincode/input/src/github.com/hyperledger/fabric/common/cauthdsl (from $GOPATH)
/opt/gopath/src/github.com/hyperledger/fabric/common/cauthdsl
"
我知道这意味着ccenv
容器缺少这种依赖,所以我尝试将我vendor
的 gopath 目录添加到我的实例化请求的链码路径目录。然后我又试了一次,仍然有错误:
2018-12-12 02:06:32.976 UTC [endorser] callChaincode -> INFO 092 [channelforkvepdemo][75cd50e5] Exit chaincode: name:"lscc" (34907ms)
2018-12-12 02:06:32.976 UTC [endorser] SimulateProposal -> ERRO 093 [channelforkvepdemo][75cd50e5] failed to invoke chaincode name:"lscc" , error: Failed to generate platform-specific docker build: Error returned from build: 2 "# github.com/chaincode/vendor/golang.org/x/crypto/sha3
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go:13:6: missing function body
# github.com/chaincode/vendor/golang.org/x/sys/unix
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go:13:6: missing function body
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_linux_gc.go:10:6: missing function body
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_linux_gc.go:14:6: missing function body
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_unix_gc.go:12:6: missing function body
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_unix_gc.go:13:6: missing function body
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_unix_gc.go:14:6: missing function body
chaincode/input/src/github.com/chaincode/vendor/golang.org/x/sys/unix/syscall_unix_gc.go:15:6: missing function body
"
error starting container
我怀疑图像中仍然缺少一些 c/c++ 库ccenv
。
[]byte
那么,如果没有这个,我怎么能生成一个关键级别的背书策略KeyEndorsementPolicy
呢?或者,我怎样才能导入这个shim/ext/statebased
包?
解决方案
那是因为 fabric-sdk-node 的一个错误,这里是链接。
升级到fabric-client@1.3.0后,问题解决:
npm install fabric-client@1.3.0
npm install fabric-ca-client@1.3.0
推荐阅读
- typescript - 如何在 TypeScript 中为泛型类型编写泛型辅助函数?
- html - 如何用 :before 或 :after 制作这个圆形边框?
- python - pyqt5中的多个窗口
- javascript - API 给出错误 (net::ERR_EMPTY_RESPONSE)
- libvirt - 虚拟接口 (veth) 在 libvirtd/virt-manager 中无法用于桥接
- android - mySQL 安卓工作室。java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接
- javascript - 当我将“scrollIntoView”函数与“pointer-events:none”一起使用时,元素的行为很奇怪
- python - 将变量传递给 websocket 函数 - Alpaca API Python Websocket
- python - 如何在 python 中使用 matplotlib.ticker 舍入 yaxis
- reactjs - 不能使用带有打字稿的反应钩子