关于以太坊,我刚开始是从区块链的一些开源项目得知的。我们知道,比特币仅是作为数字货币的功能,是最开始区块链技术的应用(区块链1.0)。而以太坊作为公共的区块链平台,是一个去中心化的分布式账本技术的应用平台。智能合约的编写,让它可以实现更多元化的服务,所以我们更愿意称它为区块链2.0。
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
yum install golang
上传下载的以太坊客户端,并解压到eth目录,进入解压后的目录。执行make命令进行编译。
执行编译后,出现build/bin目录,表示成功。
进入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
表明以太坊启动成功。
环境的搭建,是学习任何技术的开始。搭建过程中的一些参数的意思,如何设定值,都是之后需要学习的范围,目前只需要知道如何搭建就好。
环境搭建完毕后,可以尝试创建钱包用户,挖矿,编写部署智能合约等等,之后也会继续记录。