前言
搭建以太坊私有链和学习智能合约去年九月份做过一次,但是因为其他事情暂时搁下了,最近准备开始学习以太坊智能合约开发,以后会在论坛上发表一系列的相关博客,这次搭建解决了上次没完全解决的几个坑,相信很多用过ubuntu14.04的同学都应该碰到过。这次教程会非常详细,欢迎大家指导和提问题。
以太坊区块链我认为就像苹果手机和其他智能手机的关系,它绝对进行了一次区块链的革命,他最重要的思想我觉得是账户模型和执行智能合约的虚拟机。昨天在微信学习群里看到有前辈说以太坊正在考虑UTXO模型,我当时觉得很无解,但是鉴于是前辈的原因我没有争论,欢迎有想法的同学在下面讨论。
下面开始搭建以太坊私有链以及部署智能合约开发环境。
准备工具:ubuntu14.04LTS vim git
安装以太坊客户端
以太坊客户端有很多版本,我安装的是Go-ethereum,因为对geth的命令解释的比较详细。
执行命令
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
安装完成后输入
geth --help
会出现geth的各种操作命令说明,包括以太坊、账户、网络配置、虚拟机和GAS PRICE。
安装成功后直接启动,就可以链接到公有链上,下面开始建立自己的私有链。
sudo apt-get install vim -y
mkdir eth
cd eth
vim piccgenesis.json
把以下参数的配置复制进来。
{
"nonce":"0x0000000000000042",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"difficulty": "0x4000",
"alloc": {},
"coinbase":"0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "SecBroBlock",
"gasLimit":"0x0000ffff"
}
解释一下区块里面的参数,从参考文献里直接截图过来的,大家如果觉得不是太准确,可以去参考官方文档,都在下面的参考文献中。
下面开始初始化和启动节点
启动私有链节点所需要的参数