零、概述
版本号:Ubuntu-16.04
ethereum-1.6.0-stable
go - 1.7.4
一、Ubuntu下安装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
二、创建初始化文件
vim genesis.json
{ "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "nonce":"0x0000000000000042", "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000", "difficulty": "0x4000", "alloc": {}, "coinbase":"0x0000000000000000000000000000000000000000", "timestamp": "0x00", "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "", "gasLimit":"0x0000ffff" }
参数 |
描述 |
mixhash |
与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。 |
nonce |
nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。 |
difficulty |
设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度 |
alloc |
用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。 |
coinbase |
矿工的账号,随便填 |
timestamp |
设置创世块的时间戳 |
parentHash |
上一个区块的hash值,因为是创世块,所以这个值是0 |
extraData |
附加信息,随便填,可以填你的个性信息 |
gasLimit |
该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填最大。 |
三、启动
geth --identity "emaretherum" --rpc --rpccorsdomain "*" --datadir="/data/ethchain" --ipcdisable --port 30301 --rpcport 8101 console
参数 |
描述 |
identity |
区块链的标示,随便填写,用于标示目前网络的名字 |
init |
指定创世块文件的位置,并创建初始块 |
datadir |
设置当前区块链网络数据存放的位置 |
port |
网络监听端口 |
rpc |
启动rpc通信,可以进行智能合约的部署和调试 |
rpcapi |
设置允许连接的rpc的客户端,一般为db,eth,net,web3 |
networkid |
设置当前区块链的网络ID,用于区分不同的网络,是一个数字 |
console |
启动命令行模式,可以在Geth中执行命令 |
nodiscover |
禁止被网络中其它节点发现,需要手动添加该节点到网络 |
verbosity |
打印详细的日志信息 |
四、debug 日志参数
-verbosity 6
官方文档
启动私有网络或本地集群
https://github.com/ethereum/go-ethereum/wiki/Setting-up-private-network-or-local-cluster
监控
https://github.com/ethereum/go-ethereum/wiki/Setting-up-monitoring-on-local-cluster
快速创建本地集群
https://github.com/ethersphere/eth-utils
时间: 2024-12-18 02:49:54