Seetharaman GR
Seetharaman GR

Reputation: 270

What is chaincode container in Hyperledger Fabric?

Chaincode is already installed in the peer file system. Why does instantiating chaincode start the chaincode container? What is the purpose of the chaincode container?

Upvotes: 4

Views: 1893

Answers (2)

christo4ferris
christo4ferris

Reputation: 4037

The purpose of the chaincode container is to ensure isolation of the smart contract's execution from the peer itself, so that a smart contract (chaincode) cannot crash or even access the peer because of an error or malicious code. When you instantiate a chaincode, the peer populates a container image with the chaincode and invokes the Docker management API to deploy that image. If the container isn't running, it will start a new one. Once running, all transactions and proposals received by the peer will be transmitted to that container for execution.

Upvotes: 10

yacovm
yacovm

Reputation: 5140

The chaincode container runs the smart contract logic. When you instantiate a chaincode, the Init method is simulated and returned to the client for sending to the orderer for creation of a new transaction (init transaction, that binds the chaincode to the channel). That's why the container starts up, if it hasn't been running before.

Upvotes: 1

Related Questions