以太坊的使用:基础指南
经过本节能够获取用户参与到以太坊项目中的基本方法。首先,要想成为网络中的节点,须要运行一个以太坊客户端。在选择客户端这一节中列出了多重实现,同时针对不一样的安装应选择什么样的客户端给出了建议。链接到网络会告诉你关于网络、链接故障排除和区块链同步的基本信息。设立私有链等高级的网络主题能够在测试网络章节中看到。git
Homestead的发布
Homestead是以太坊平台的第二个主要版本,也是以太坊发布的第一个正式版本。它包括几处协议变动和网络设计变动,使网络进一步升级成为可能。以太坊的第一个版本Frontier其实是测试版,供开发者学习、试验并开始创建以太坊去中心化的应用和工具。github
以太坊开发路线图中的里程碑
以太坊上线以前计划的初始开发路线图主要有如下几个里程碑:算法
尽管仍然有效,但它背后的实质已有所改变。Olympic testnet阶段(Frontier发布以前)见证了不少主要的改进,紧接着就发布了Frontier。Homestead标志着测试版结束,开始发布正式版本。Homestead会自动在1,150,000号区块引入,大概会发生在2016年3月14日,也就是π日先后。安全
若是你正在运行一个和实时网络链接的节点,很是有必要升级到Homestead兼容的客户端。这些客户端版本列在以太坊客户端下。若是客户端不兼容,你会进入到错误的分叉,不能和网络其余部分同步。网络
以太坊区块链一旦到达1,150,000号区块,以太坊网络就会经历一个硬分叉,带来几项主要变动,这将在下一章节中阐述。工具
Homestead 硬分叉变动
以太坊从狭义上来讲,是一系列协议。Homestead带来了几个反向不兼容的协议变动,进而要求硬分叉。这些变动在过程当中向以太坊改进建议靠拢,主要包括如下几个内容:学习
• EIP 2: — 经过交易建立合约的费用由21000增长到53000。用CREATE操做码经过合约来建立合约不受影响。区块链
— S值比secp256k1n/2大的交易签名如今被认定无效。测试
— 若是建立合约时没有足够的gas用来支付给状态增长合约编码所需的最终gas费用,合约建立就会失败(例如,无gas可用)而不会留下一个空合约。大数据
— 改变算法难度调整
• EIP 7: DELEGATECALL:增长一个新的操做码,DELEGATECALL at 0xf4,它和CALLCODE的概念类似,不过会把发送者和父做用域的价值发送到子做用域,好比,建立的调用与原始调用具备相同的发送者和价值。这就意味着合约能够经过信息存储通路,同时听从父合约中的信息发送者(msg.sender)和信息价值(msg.value)。这样对建立合约的合约来讲是好事,可是不要重复那些存储gas的附加信息。参见对EIP 7的评论。
• EIP 8: devp2p 向前兼容性符合健壮性原则 RLPx 发现协议和 RLPx TCP传输协议确保以太坊网路上使用的客户端软件能够应对未来的网络协议升级。对于以太坊的旧版原本说,网络协议升级并不被旧客户端所接受,发现接收到的hello数据包不是预期数据时,通讯会被拒绝。这个升级意味着将来的客户端版本可以接受即将到来的网络升级和握手通讯。
这些变化有如下几项好处:
• EIP-2/1消除了经过交易建立合约的过量激励,经过交易建立的成本是21000,而经过合约建立的成本是32000。
• EIP-2/1 在自杀式退款的帮助下修复了协议中的漏洞, 如今只用11664 gas就能实现简单的以太币价值转移。
• EIP-2/2 修复了交易可塑性方面的担心(不是安全性缺陷,是用户界面不便利性)
• EIP-2/3 在合约建立过程当中,创建了更加直观的“成功或失败”的区分,而不像如今“成功,失败或者空帐户” 三分的状况。
• EIP-2/4 将设置时间戳区别的过量激励消除到1,以便建立难度稍大的区块,进而保障搞定任何可能的分叉。这样就保证了出块时间维持在10-20范围,而且按照模拟能够恢复目标的15秒出块时间(如今有效时间是17秒)。
• EIP-7 使合约更容易储存另外一个地址,做为编码和“经过”调用的可变来源,子编码会和父编码在本质上相同的环境下执行(除非gas减小,调用栈深度增长)
• EIP-8 确保以太坊网络上使用的全部客户端软件能够应对将来网络协议升级。
参考资料:
Reddit上关于Homestead发布的讨论:https://www.reddit.com/r/ethe...
初始开发路线图:https://blog.ethereum.org/201...
EIP 2:https://github.com/ethereum/E...
EIP 7: DELEGATECALL:https://github.com/ethereum/E...
对EIP 7的评论:https://github.com/ethereum/E...
EIP 8: devp2p Forward Compatibility compliance with the Robustness Principle:https://github.com/ethereum/E...
EIPs(Ethereum Improvement Proposals):以太坊改进建议
下一篇文章咱们将会介绍《以太坊连载(三):Web 3:去中心化应用平台》
汪晓明 HPB芯链创始人,巴比特专栏做家。十余年金融大数据、区块链技术开发经验,曾参与建立银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并做为主要做者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。