Creating a chaincode
We are now ready to start to implementing our chaincode, which we will program in the Go language. There are several IDEs available that provide support for Go. Some of the better IDEs include Atom, Visual Studio Code, and many more. Whatever environment you opt for will work with our example.
The chaincode interface
Every chaincode must implement the Chaincode interface
, whose methods are called in response to the received transaction proposals. The Chaincode interface
defined in the SHIM package is shown in the following listing:
type Chaincode interface { Init(stub ChaincodeStubInterface) pb.Response Invoke(stub ChaincodeStubInterface) pb.Response }
As you can see, the Chaincode
type defines two functions: Init
and Invoke
.
Both functions have a single argument, stub
, of the type ChaincodeStubInterface
.
The stub argument is the main object that we will use when implementing the chaincode functionality, as it provides functions for accessing and modifying the...