1703876078
区块链项目开发指南 2.9 创世区块
1703876079
1703876080
创世区块(genesis block)是区块链中的第一个区块,其区块序号是0。它是区块链中唯一一个不指向前一个区块的区块,因为没有前一个区块。它也不包含交易,因为还没产生任何以太币。
1703876081
1703876082
只有网络中的两个节点有相同的创世区块,它们才会彼此配对,也就是说,如果两个对等节点有相同的创世区块才会进行同步区块,否则它们将彼此拒绝。不同的创世区块有较高难度值也不能替代难度值较低的。每一个节点生成自己的创世区块。对于不同的网络,创世区块被硬编码到客户端里。
1703876083
1703876084
1703876085
1703876086
1703876088
区块链项目开发指南 2.10 以太币面值
1703876089
1703876090
和其他货币一样,以太币也有多种面值。其面值如下:
1703876091
1703876092
·1以太币=1000000000000000000 wei。
1703876093
1703876094
·1以太币=1000000000000000 Kwei。
1703876095
1703876096
·1以太币=1000000000000 Mwei。
1703876097
1703876098
·1以太币=1000000000 Gwei。
1703876099
1703876100
·1以太币=1000000 Szabo。
1703876101
1703876102
·1以太币=1000 Finney。
1703876103
1703876104
·1以太币=0.001 Kether。
1703876105
1703876106
·1以太币=0.000001 Mether。
1703876107
1703876108
·1以太币=0.000000001 Gether。
1703876109
1703876110
·1以太币=0.000000000001 Tether。
1703876111
1703876112
1703876113
1703876114
1703876116
区块链项目开发指南 2.11 以太坊虚拟机
1703876117
1703876118
以太坊虚拟机(Ethereum Virtual Machine,EVM)是以太坊智能合约字节码(byte-code)的执行环境。网络中的每个节点都运行EVM。所有节点执行使用EVM指向智能合约的全部交易,因此它们进行同样的计算,并存储同样的数值。只进行以太币转账(查询该地址是否有余额并相应地扣款)的交易也需要进行一些计算。
1703876119
1703876120
出于各种原因,每个节点执行并存储最终状态。例如,如果有一个智能合约存储参加派对的每个人的姓名和细节,只要增加新的人,就向网络广播新的交易。网络中的任何节点想要展示参加派对的每个人的细节,只需读取合约的最终状态即可。
1703876121
1703876122
每个交易需要在网络中进行一些计算和存储。因此需要有交易费,否则整个网络里将充斥着垃圾交易,而且没有交易费用矿工就没有理由在区块中接纳交易,它们将开始挖空区块。每个交易需要的计算和存储量有所不同,因此每一个交易的交易成本不同。
1703876123
1703876124
1703876125
有两种EVM实现,即字节码VM和JIT-VM。在写本书时,JIT-VM已交付使用,但其开发仍未结束。在两种情况下,Solidity代码都被编译成字节码。在JIT-VM中,字节码编译更充分。JIT-VM比字节码VM更高效。
1703876126
[
上一页 ]
[ :1.703876077e+09 ]
[
下一页 ]