Skip to content

Latest commit

 

History

History
28 lines (23 loc) · 980 Bytes

chaincode_go.md

File metadata and controls

28 lines (23 loc) · 980 Bytes

chaincode.go

定义接口 Chaincode 和 ChaincodeStub。

type Chaincode interface { 
// Init is called during Deploy transaction after the container has been 
// established, allowing the chaincode to initialize its internal data 
Init(stub *ChaincodeStub, function string, args []string) ([]byte, error) 

// Invoke is called for every Invoke transactions. The chaincode may change 
// its state variables 
Invoke(stub *ChaincodeStub, function string, args []string) ([]byte, error) 

// Query is called for Query transactions. The chaincode may only read 
// (but not modify) its state variables and return the result 
Query(stub *ChaincodeStub, function string, args []string) ([]byte, error)}

用户自己编写的 chaincode 代码需要实现这三个接口,在代码中通过 stub 来跟 ledger 交互。

type ChaincodeStub struct { 
UUID string 
securityContext *pb.ChaincodeSecurityContext 
chaincodeEvent *pb.ChaincodeEvent 
args [][]byte
}