智能合约与现实世界的合约完全没有关系。作为存储在
区块链上的计算机程序,智能合约可以在区块链上执行。
智能合约是用编程语言编写的,如Ethereum区块链中的Solidity或Serpent,以及Hyperledger Fabric区块链中的Go或Java。智能合约通过EVM(
以太坊虚拟机)在以太坊区块链上执行。在Hyperledger区块链上,链码在Docker容器中执行。
智能合约的概念是作为以太坊区块链的一部分引入的(以太坊被认为是第二代
加密货币)。将EVM添加到以太坊区块链平台,并通过使计算机程序能够在区块链上存储和运行,区块链的功能和用例可以被扩充。
比特币区块链(被认为是第一代加密货币)没有智能合约的概念,即在比特币区块链上,无法创建智能合约。
实际上,智能合约是位于以太坊区块链上的字节代码,即用Solidity编程语言编写的智能合约程序,由Solidity编译器编译成字节代码,并且该字节代码存储在以太坊区块链中。智能合约在以太坊区块链上运行,并由EVM(以太坊虚拟机)在以太坊区块链的每个节点执行。
相比之下,Hyperledger Fabric Chaincode程序在设计上与区块链保持绝缘。Chaincode程序是用Go或Java编写的,并且在每个节点上运行的独立Docker容器中执行,而不是在区块链上执行。Hyperledger Fabric的模块化架构因此得以实现,从而使得共识算法具有即插即用功能。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。