课程链接:https://www.coursera.org/learn/blockchain-basics/home/week/2
本文为自己听课时做的笔记,翻译可能不太准确,望谅解。
目录
以太坊区块链:智能合约 Ethereum Blockchain: Smart Contracts
Ethereum Blockchain
以太坊区块链:智能合约 Ethereum Blockchain: Smart Contracts
比特币和以太坊区别:
左边是用于启动交易的比特币区块链和钱包应用程序。右边的是Ethereum,它在将区块链转换为计算框架方面迈出了重要的一步。
1)Ethereum支持智能合约 Smart Contracts 和执行智能合约的虚拟机。
2)智能合约反过来使分散的应用程序能够完成比价值转移更多的任务。
学习目标:
1)从高层次上讨论以太坊区块链的创新,即智能合约。
2)说明ethereum区块链协议、结构元素和操作方面。
3)演示gas的概念,gas 或代码执行的付款模型和Ethereum区块链的激励模型。
智能合约是什么?
智能合约是部署在区块链节点中的一段代码。智能合约的执行由嵌入在事务中的消息发起。
数字货币转账要求简单的加减法。Ethereum支持可以执行更复杂操作的事务。
怎样写一个智能合约?
从结构上讲,智能合约类似于面向对象设计中的类定义。它有数据、函数或方法,带有修饰符public或private,以及getter和函数集。特定的编程语言,如Solidity,是为编写智能合约而设计的。
第一行用pragma表示稳定语言的版本。合同的名字在第一行。
此特定契约用于一个整数存储。该整数的数据定义为类型 uint 来存储数据。
为写入和读取数据定义了两个函数,Set 和 get.
智能合约中的代码在何处执行? 它位于节点的什么位置?
我们需要一个计算基础结构 computational infrastructure 来执行任意代码。Ethereum网络中的每个节点都应该能够执行代码,而不管底层的硬件或操作系统的类型。与底层硬件或操作系统类型无关。
进入Ethereum虚拟机,EVM。EVM为合约代码提供了一个随处可以运行的阻塞层 obstruction layer。
一个高级编程语言编写的智能合约被翻译成EVM字节码,然后部署在Ethereum虚拟机EVM上。每个节点将在EVM上托管相同的智能契约代码。
总结:
智能契约为区块链支持的信任基础设施添加了一层逻辑和计算。智能契约允许执行代码。提升比特币区块链的基本价值转移能力。这个智能契约的代码是用高级语言(如solid)编写的,并编译为字节码。智能契约的代码是在一个称为Ethereum虚拟机的特殊结构上执行的。
从业者角度:企业 Practitioner's Perspective: The Enterprise
Ethereum已经出色地解决了如何解决这些规模和隐私问题,以及公共网络需要解决的许多其他问题。企业Ethereum联盟