克隆
git clone https://github.com/ethereum/go-ethereum.git
安装
make all
可执行文件在 go-ethereum/build/bin 下
创建创世区块配置文件
mkdir /home/block
vi /home/block/genesis.json
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"ethash": {}
},
"difficulty": "2000",
"gasLimit": "8000000",
"alloc": {
"7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" }
}
}
difficulty
参数影响初始挖矿难度
chainId参数网络id
alloc初始余额(可以写自己的eth地址)
这里的单位是wei 1eth=10^18wei
即1eth=1000000000000000000 18个0
初始化
geth init --datadir /home/block /home/block/genesis.json
运行
id为之前配置的id
geth --datadir /home/block --networkid 15
使用JavaScript 控制台运行
## 启动
geth --datadir /home/block --networkid 15 console 2>output.log
## 开发模式启动 该模式不需要初始化配置genesis.json
geth --datadir /home/block --dev console 2>output.log
命令列表
eth:主要包含对区块链进行访问和交互相关的方法;
net:主要包含查看p2p网络状态的方法;
admin:主要包含与管理节点相关的方法;
miner:主要包含挖矿相关的一些方法;
personal:包含账户管理的方法;
txpool:包含查看交易内存池的方法;
web3:包含以上所有对象,还包含一些通用方法。
常用命令有:
personal.newAccount():创建账户;
personal.unlockAccount():解锁账户;
eth.accounts:列出系统中的账户;
eth.getBalance():查看账户余额,返回值的单位是Wei;
eth.blockNumber:列出当前区块高度;
eth.getTransaction():获取交易信息;
eth.getBlock():获取区块信息;
miner.start():开始挖矿;
miner.stop():停止挖矿;
web3.fromWei():Wei换算成以太币;
web3.toWei():以太币换算成Wei;
txpool.status:交易池中的状态;
命令查看钱包初始余额
把wei转为eth并输出
web3.fromWei(eth.getBalance("钱包地址"), "ether")