Hyperledger Fabric chaincode 开发(疑难解答)
Q&A
Q1: 使用fabric release 1.2 进行golang chaincode开发时报错:
..\..\hyperledger\fabric\vendor\github.com\docker\docker\pkg\archive\archive.go:364:5: hdr.Format undefined (type *tar.Header has no field or method Format)
..\..\hyperledger\fabric\vendor\github.com\docker\docker\pkg\archive\archive.go:364:15: undefined: tar.FormatPAX
..\..\hyperledger\fabric\vendor\github.com\docker\docker\pkg\archive\archive.go:1166:7: hdr.Format undefined (type *tar.Header has no field or method Format)
..\..\hyperledger\fabric\vendor\github.com\docker\docker\pkg\archive\archive.go:1166:17: undefined: tar.FormatPAX
A1: 这是因为在go 小于1.10的版本中自带的tar package中 Header结构体中不包含 FormatPAX属性,其解决方案如下:
1. 升级到1.10以上版本,但需要注意的是,在升级到1.10以上版本可能会遇到一些问题;
2. 从官网下载 archive 包放在 fabric/vendor/
文件夹下面。