Smart contracts, which in Hyperledger Fabric take the name of chaincodes, are programs containing instructions regarding transactions and are characterized by self-execution, meaning that when a trigger event occurs, the instructions contained in the smart contract are executed. In Hyperledger Fabric, chaincodes can be programmed using standard programming languages.
Please note that chaincodes do not have direct access to the transaction ledger, and only after their execution will the transactions be added to the ledger.
Chaincodes can be deployed by peer nodes, even in multiple versions of the same program.
In the next section, we'll see how the installation and deployment of chaincodes is carried out.