在Fabric的环境搭建后,就可以进行Fabric的开发工作。Fabric的开发主要分成两块,chaincode开发和基于SDK客户端应用开发。本章先讲chaincode的开发。Fabric的链上代码支持Java或者Go语言进行开发,因为Fabric本身是Go开发的,所以建议还是用Go进行chaincode。
chaincode结构如下:
// SimpleChaincode example simple Chaincode implementation
type SimpleChaincode struct {
}
func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
return shim.Success(nil)
}
func (t *SimpleChaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
return shim.Error("Invalid 03 invoke function name. Expecting \"put\" \"query\"")
}
init方法:chaincode实例化(peer chaincode instantiate)的时候执行,进行一些初始化操作。
invoke方法:客户端调用的时候执行,可以根据参数的不同,进行不用的业务处理。参数的获取可以根据shim.ChaincodeStubInterface的方法。
1.ChaincodeStubInterface获取参数的方法: