我已与hyperledger织物样品/ fabcar例如玩弄了一会儿,我能够在fabcar.go添加更多的领域和功能,但是当我改变的领域完全。我在部署中遇到错误。改变fabcar例如hyperledger织物
下面是我在fabcar.go所做的变化的例子。
type Car struct {
Name string `json:"Name"`
College string `json:"College"`
DOB string `json:"DOB"`
SecretCode string `json:"SecretCode"`
}
func (s *SmartContract) initLedger(APIstub shim.ChaincodeStubInterface) sc.Response {
cars := []Car{
Car{Name: "name1", College: "college1", DOB: "dob1", SecretCode: "secretcode1"},
Car{Name: "name2", College: "college2", DOB: "dob2", SecretCode: "secretcode2"},
Car{Name: "name3", College: "college3", DOB: "dob3", SecretCode: "secretcode3"},
Car{Name: "name4", College: "college4", DOB: "dob4", SecretCode: "secretcode4"},
}
i := 0
for i < len(cars) {
fmt.Println("i is ", i)
carAsBytes, _ := json.Marshal(cars[i])
APIstub.PutState("CAR"+strconv.Itoa(i), carAsBytes)
fmt.Println("Added", cars[i])
i = i + 1
}
return shim.Success(nil)
}
这里是我的错误,当我运行startFabric.sh
Error: Error endorsing chaincode: rpc error: code = Unknown desc = Error starting container: Failed to generate platform-specific docker build: Error returned from build: 2 "# github.com/fabcar chaincode/input/src/github.com/fabcar/fabcar.go:132: unknown Car field 'Make' in struct literal chaincode/input/src/github.com/fabcar/fabcar.go:132: unknown Car field 'Model' in struct literal chaincode/input/src/github.com/fabcar/fabcar.go:132: unknown Car field 'Colour' in struct literal chaincode/input/src/github.com/fabcar/fabcar.go:132: unknown Car field 'Owner' in struct literal chaincode/input/src/github.com/fabcar/fabcar.go:193: car.Owner undefined (type Car has no field or method Owner) chaincode/input/src/github.com/fabcar/fabcar.go:211: car.Colour undefined (type Car has no field or method Colour) "
我使用的是Mac OSX Yosemite和我曾尝试通过删除所有数据,并再次和我开始打扫泊坞窗也尝试重命名go文件,但没有任何工作。我在这里做错了什么?
输出去打造命令:
go build ../../../../../go/src/github.com/hyperledger/fabric/protos/peer/admin.pb.go:74:8: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/protos/peer/admin.pb.go:77:8: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/protos/peer/chaincode.pb.go:9:8: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/protos/peer/init.go:21:2: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/bccsp/pkcs11/conf.go:25:2: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/protos/peer/admin.pb.go:80:2: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/protos/peer/admin.pb.go:81:2: use of vendored package not allowed ../../../../../go/src/github.com/hyperledger/fabric/common/flogging/grpclogger.go:21:2: use of vendored package not allowed
,可以在运行“去打造“编译链代码并用输出扩展你的问题? –
我已经用go build输出更新了我的问题。 –
使用admin.pb.go文件中的任何内容的目的是什么? –