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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是使用geth创建基于联盟链的私有区块链,拥有自己的节点和genesis区块,以及创建10个合约账户的步骤: **1. 安装geth** 首先需要安装geth,可以从官网下载二进制文件或者通过包管理器进行安装。 **2. 创建genesis区块** 在创建私有区块链之前,需要先创建genesis区块,可以使用puppeth工具来完成。puppeth是一个命令行工具,可以帮助我们创建和管理私有区块链。 使用以下命令来启动puppeth: ``` puppeth ``` 根据提示进行以下设置: - 输入一个名字来创建一个新的网络 - 选择一个网络类型,选择2(Configure new genesis) - 选择网络协议,选择1(Ethash - proof-of-work) - 选择预分配的币数,输入0 - 输入一个新的地址作为挖矿奖励的收件人地址 - 输入一个新的账户地址,用于签署genesis区块 - 选择一个密码,用于加密私钥 - 选择一个目标平台,选择1(Ethereum) - 选择一个链ID,输入一个数字作为你的私有链ID - 选择是否要使用Clique共识算法,选择2(No) 完成以上设置后,puppeth会自动创建genesis.json文件,该文件包含了我们需要在geth中使用的genesis区块数据。 **3. 初始化节点** 接下来需要初始化节点,使用以下命令: ``` geth --datadir /path/to/chain init /path/to/genesis.json ``` 其中,/path/to/chain是你想要存储区块链数据的目录,/path/to/genesis.json是上一步中生成的genesis.json文件的路径。 **4. 创建账户** 使用以下命令来创建账户: ``` geth --datadir /path/to/chain account new ``` 这将会提示你输入一个密码,该密码将会用于加密账户的私钥。创建完毕后,你将会得到一个账户地址。 重复以上步骤,创建10个账户。 **5. 启动节点** 使用以下命令来启动节点: ``` geth --datadir /path/to/chain --networkid [network_id] --nodiscover console ``` 其中,/path/to/chain是你的区块链数据目录,[network_id]是你在puppeth中设置的私有链ID。 启动后,会进入geth控制台,可以在控制台中进行各种操作,例如挖矿、转账等。 **6. 解锁账户** 在控制台中,使用以下命令来解锁账户: ``` personal.unlockAccount(address, password, duration) ``` 其中,address是你的账户地址,password是你在创建账户时设置的密码,duration是解锁时间,单位为秒。 解锁账户后,可以使用以下命令来查询账户余额: ``` eth.getBalance(address) ``` 以上就是使用geth创建基于联盟链的私有区块链,拥有自己的节点和genesis区块,以及创建10个合约账户的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值