Hyperledger Fabric的智能合约叫做Chaincode,是业务的成载体,负责具体的业务逻辑
Chaincode代码
Fabric的Chaincode运行在容器中,可以使用Go,Java,Node.js语言开发,Golang是目前为主比较成熟稳定的。
Chaincode组成
Chaincode主要由下面几个组成:
必须在main包下
引用必要的依赖
定义一个结构体,并为结构体绑定Init和Invoke方法
shim.ChaincodeStubInterface和pb.Response
main方法
下面以一个例子进行说明
// 1.在main包下
package main
// 2.引入必要的依赖
import(
"fmt"
"github.com/hyperledger/fabric/core/chaincode/shim"
pb "github.com/hyperledger/fabric/protos/peer"
)
// 3.定义一个结构体
type mychaincode struct {
}
// 4.为结构体绑定init和invoke方法
func (t *mychaincode) Init(stub shim.ChaincodeStubInterface) pb.Response{
fmt.Println(" << ====[Init] success init it is view in docker =