以太坊学习1—搭建以太坊私有链

关于以太坊

关于以太坊,我刚开始是从区块链的一些开源项目得知的。我们知道,比特币仅是作为数字货币的功能,是最开始区块链技术的应用(区块链1.0)。而以太坊作为公共的区块链平台,是一个去中心化的分布式账本技术的应用平台。智能合约的编写,让它可以实现更多元化的服务,所以我们更愿意称它为区块链2.0。

搭建环境

安装以太坊

安装yum源

rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

这里写图片描述

安装golang

yum install golang

这里写图片描述

编译以太坊

上传下载的以太坊客户端,并解压到eth目录,进入解压后的目录。执行make命令进行编译。

这里写图片描述

执行编译后,出现build/bin目录,表示成功。

这里写图片描述

初始化以太坊

创始文件genesis.json

进入build/bin目录下,新建创始文件genesis.json

{
  "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 },
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x80000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00",
  "alloc"      : {} }

这里写图片描述

需要注意的地方

比如初始化区块文件genesis.json,在geth1.5版本以上,需要添加”config”:{};extraData需要填写16进制0x开头编码,否则会报这个错误–json: cannot unmarshal hex string without 0x prefix into Go struct field Gen..

初始化

./geth init genesis.json

这里写图片描述
这时会生成默认存放钱包文件目录keystore。
这里写图片描述

启动以太坊

./geth --rpc --rpcapi personal,db,eth,net,web3 --networkid 666666 console

这里写图片描述

表明以太坊启动成功。

学习展望

环境的搭建,是学习任何技术的开始。搭建过程中的一些参数的意思,如何设定值,都是之后需要学习的范围,目前只需要知道如何搭建就好。
环境搭建完毕后,可以尝试创建钱包用户,挖矿,编写部署智能合约等等,之后也会继续记录。

阅读更多

更多精彩内容