区块链——配置和使用geth

一测试是否安装成功

win+r打开cmd,输出geth help
出现类似以下场景代表安装成功

在这里插入图片描述

二创建创世文件genesis.json

genesis.json是创世区块配置文件,在安装目录下新建一个txt文件,把内容复制进去后保存,最后改名为genesis.json
提供两个文件的内容,选其一即可。

 {
      "config": {
            "chainId": 10,
            "homesteadBlock": 0,
            "eip155Block": 0,
            "eip158Block": 0
        },
      "alloc"      : {},
      "coinbase"   : "0x0000000000000000000000000000000000000000",
      "difficulty" : "0x00000002",
      "extraData"  : "",
      "gasLimit"   : "0x2fefd8",
      "nonce"      : "0x0000000000000042",
      "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
      "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
      "timestamp"  : "0x00"
    }
{

  "difficulty" : "0x20000",

  "extraData"  : "",

  "gasLimit"   : "0x8000000",

  "alloc": {},

  "config": {

        "chainId": 15,

        "homesteadBlock": 0,

        "eip155Block": 0,

        "eip158Block": 0

    }

}
{
“config”: {
“chainId”: 123,
“homesteadBlock”: 0,
“eip150Block”: 0,
“eip155Block”: 0,
“eip158Block”: 0,
“byzantiumBlock”: 0,
“constantinopleBlock”: 0,
“petersburgBlock”: 0,
“istanbulBlock”: 0
},
“alloc”: {},
“coinbase”: “0x0000000000000000000000000000000000000000”,
“difficulty”: “0x2000”,
“extraData”: “”,
“gasLimit”: “0x2fefd8”,
“nonce”: “0x0000000000000042”,
“mixhash”: “0x0000000000000000000000000000000000000000000000000000000000000000”,
“parentHash”: “0x0000000000000000000000000000000000000000000000000000000000000000”,
“timestamp”: “0x00”
}

在这里插入图片描述

三配置文件,初始化

1.打开cmd
2.进入geth的安装路径,如下图我放在D盘的Geth文件中
3.输入geth --datadir data init genesis.json

在这里插入图片描述
成功则会在安装路径下出现data文件夹用于存放数据。
在这里插入图片描述

启动节点连接私有测试网络

geth --datadir data --networkid 123 --nodiscover console
--networkid 123参数表示区块链网络ID标识,--nodiscover参数表示节点私有,console参数表示进入geth控制台。
连接测试网进入控制台,此时我们已经进入geth测试网的交互式控制台,窗口也显示「Welcome to the Geth JavaScript console」成功提示!

查询账户列表

输入指令:eth.accounts     输出结果:[]
代表账户未创建

在这里插入图片描述

新建账户

输入指令:personal.newAccount("123")
账户新建成功,返回账户地址,123为账户密码。

在这里插入图片描述

查询账户余额

输入指令:eth.getBalance(eth.accounts[0])  数组形式保存账号,所以0代表第一个账户,输出0
这个账户的余额是0,因为还没有开始挖矿。

在这里插入图片描述

启动或停止挖矿

miner.start();admin.sleepBlocks(1);miner.stop()  
启动挖矿程序,当挖到1个区块时停止挖矿,挖矿所得默认进入第一个账户里。成功挖出1个后我们的节点就是矿工节点

在这里插入图片描述
需要注意的一点是开启挖矿后,如果难度过低,挖矿会很快,信息会刷屏,需要你盲打miner.stop()才会停止。
在这里插入图片描述

参考:https://www.cnblogs.com/lvdongjie/p/11207021.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值