最近在帮着完善基于grpc的fabric性能测试工具,https://github.com/guoger/stupid
其中遇到一个坑就是在fabric 1.4.4之后,fabric重构了git上的项目结构和依赖关系。
首先最大的一个痛点就是proto的位置换掉了。这里导致了一个间接的问题,就是在golang里fabric proto如果biuld两次会出现
msp枚举类型被覆盖的错误。
所以如果想用fabric-sdk-go的朋友们,如果在用sdk的同时还想基于fabric做一些底层的事情。那么请使用统一的go package
github.com/hyperledger/fabric-protos-go
接下来就是换包的那些坑了。
首先先把所有protos下的peer,common,orderer换到新的目录。 嗯。。。这不难
接下来是github.com/hyperledger/fabric/core/comm 这里的config和NewConnection接口
这里的话有两点,
一) comm.SecureOptions从指针变成了对象。
二)NewConnection接口的值改了,在我这里把opt设为空了。以前是str
最后是最麻烦的部分
github.com/hyperledger/fabric/protos/utils -》 github.com/hyperledger/fabric/protoutil
有些函数在新的代码库里依旧有。
有些函数我是没翻到。没办法,自己先copy一份吧。