使用go-ethereum创建私有网络

克隆

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")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值