在编写chaincode
的时候,会用到一个名shim
的包,是下面这样定义的:
import(
"github.com/hyperledger/fabric/core/chaincode/shim"
)
这样定义,我们往往会找不到这个包的存在,从而导致编译出错。
我们可以看一下fabric
中的这个包的位置,在现在的fabric
版本中,我们会发现,这个包是不存在
的,如下所示:
可以清楚的看到shim
是不存在的,考虑到这个问题,我专门在Fabric
的源码中去寻找了一下,shim
包到底跑到了什么位置。
终于,在SystemChaincode的源码中,我找到了有关shim包的使用。
Fabric中的chaincode我们可以分为SystemChaincode和Chaincode,这两者的区别,在以后的博客中会专门写一篇文章来叙述。
然后我就去github.com
上访问了这个地址,发现确实存在的。
综上:
我们应该这样使用shim
包
import (
"github.com/hyperledger/fabric-chaincode-go/shim"
)