以太坊私有链搭建,建立节点集群,部署智能合约,攻击智能合约

本文目的:
1.搭建Ethereum私有链和节点集群;
2.熟悉以太坊智能合约的部署和使用流程;
3.了解以太坊智能合约的应用和常见安全性问题;

参考:
https://www.jianshu.com/p/3aa80732ed73
https://blog.csdn.net/Jade0214/article/details/80043776
https://www.8btc.com/article/100840

Ethereum官网以及Ethereum Wallet下载:
https://www.ethereum.org/

Solidity在线撰写和编译:
http://remix.ethereum.org/

Ethernaut智能合约安全演练:
https://ethernaut.zeppelin.solutions/

一、以太坊私有链搭建

参考:https://blog.csdn.net/sportshark/article/details/51855007
以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。
区块链1.0时代通常是指在2009年到2014年之间,以比特币为代表的区块链应用发展阶段,它们主要致力于解决货币和支付手段的去中心化问题;2014年之后,开发者们越来越注重于解决比特币在技术和扩展性方面的不足。2013年底,Vitalik Buterin(V神)发布了以太坊白皮书《以太坊:下一代智能合约和去中心化应用平台》,将智能合约引入区块链,打开了区块链在货币领域以外的应用,从而开启了区块链2.0时代。
截至2018年11月,以太坊是市值NO.2的加密货币,仅次于比特币。

1.前言

我们先看看从比特币到以太坊,智能合约是如何演变的。注意下方智能合约的位置,这个位置表明上方的应用(APP)必须通过智能合约来实现对应区块链网络的功能。
在这里插入图片描述
那么,我们看一个简单的例子,就是A转账给B,在比特币和以太坊中大概都怎么实现的:
在这里插入图片描述
在这里插入图片描述
以太坊智能合约实现的方式貌似能看懂,比较易读。
事实也是这样的,智能合约使得区块链的扩展性更强,且实现上更简洁,从而让以太坊发展成为目前最大的一个区块链开发平台。

2.安装geth

Go-ethereum客户端通常被称为Geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。Geth得益于Go语言的多平台特性,支持在多个平台上使用(比如Windows、Linux、Mac)。Geth是以太坊协议的具体落地实现,通过Geth,你可以实现以太坊的各种功能,如账户的新建编辑删除,开启挖矿,ether币的转移,智能合约的部署和执行等等。所以,我们选择 geth工具来进行开发。
geth安装方式(linux):
在这里插入图片描述
或者(windows):
在这里插入图片描述
或者(mac):
在这里插入图片描述
检查是否安装成功:$ geth --help
如果输出一些帮助命令,则安装成功。

3.初始化区块链

定义创世区块

以太坊支持自定义创世区块,要运行私有链,我们就需要定义自己的创世区块,创世区块信息写在一个json格式的配置文件中。文件内容如下:

{
   
    "nonce":"0x0000000000000042",
    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    &#
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值