windows下用Geth创建一个私有链(笔记)

Geth安装后

在其安装目录下创建一个文件夹privateChain

在privateChain文件夹下创建一个文件genesis.json(这是创世区块的配置文件)
在这里插入图片描述
在genesis.json文件中输入配置创世区块的代码(来自:https://geth.ethereum.org/docs/interface/private-network)

{
    
    
  "config": {
    
    
    "chainId": 12345,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0,
    "ethash": {
    
    }
  },
  "difficulty": "1",
  "gasLimit": "8000000",
  "alloc": {
    
    
    "7df9a875a174b3bc565e6424a0050ebc1b2d1d82": {
    
     "balance": "300000" },
    "f41c74c9ae680c1aa78f42e5647a62f353b7bdde": {
    
     "balance": "400000" }
  }
}

初始化

在命令行窗口privateChain目录下,使用如下命令初始化区块链

geth --datadir data0 init genesis.json

其中--datadir data0是将区块链的数据保存到data0文件下
注意:我开始使用geth init genesis.json --datadir data0 并未成功
在这里插入图片描述

创建账户

也可以启动节点后用eth再创建
用如下命令

geth account new --datadir data0

在这里插入图片描述

启动私有链节点

geth --datadir data0 --networkid 1108 console 2>1.log

networkid 配置成与配置文件config内的chainId相同值,代表加入哪个网络,私链就自己随意编号即可
console 进入管理台
2> 1.log Unix系统下的重定向,将Geth产生的日志输出都重定向到1.log中,以免刷日志影响操作

当需要remix连接本地部署的私有链节点可以采用如下代码(更完整的配置)

geth --datadir data0 --networkid 12345  --http --http.addr 0.0.0.0 --http.vhosts "*" --http.api "db,net,eth,web3,personal" --http.corsdomain "*" --snapshot=false --mine --miner.threads 1 --allow-insecure-unlock  console 2> 1.log

猜你喜欢

转载自blog.csdn.net/qxjswl/article/details/127205025