利用Geth搭建私有链
2018-01-17 本文已影响0人
CarlosHu
- 最近区块链的概念很火,记录点相关的研究。
区别于传统的中心化记账方式,区块链是一个分布式的、无中心、公开透明的新型模型
区块链 = 区块 + 链
区块按照时间划分,记录每个区块时间段内发生的所有交易过程,不同的区块以链表结构连接。
主流的加密数字货币:比特币、以太币都是这样的原理,以太坊分为6层结构:数据层、网络层、共识层、激励层、合约层 + 应用层,geth(Go Ethereum)是前五层的封装,应用层通常有web3.js
- 搭建geth,官方文档:https://ethereum.github.io/go-ethereum/install/
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
安装完毕后,确认
geth version
- 创建创世区块
mkdir GethPrivate
cd GethPrivate
vim genesis.json
genesis.json内容如下:
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x40000",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": { }
}
然后执行以下命令
geth --datadir "./" init genesis.json
执行完毕后,当前目录下面会新增出两个文件夹geth和keystore