基于Win10的Geth环境配置和MetaMask钱包的应用

基于Win10的Geth环境配置和MetaMask钱包的应用

前言

感谢由区块链Bi站文章的醍醐灌顶。

目录

  • 安装geth
  • 基于geth创建创世区块
  • 安装MetaMask插件,以及私钥文件
  • 挖矿

安装 Geth

传送门

基于Geth创建【创世区块】

创建一个项目目录,任你创建.然后新建一个genesis.json文件,粘贴下面的json配置代码。

{
  "config": {
    "chainId": 8434,
    "homesteadBlock": 1,
    "eip150Block": 2,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 3,
    "eip158Block": 3,
    "byzantiumBlock": 4,
    "alien": {
      "period": 2,
      "epoch": 300,
      "maxSignersCount": 5,
      "minVoterBalance": 100000000000000000000,
      "genesisTimestamp": 1536136198,
      "signers": [
        "0x393faea80893ba357db03c03ee73ad3e31257469",
        "0x30d342865deef24ac6b3ec2f3f8dba5109351571",
        "0xd410f95ede1d2da66b1870ac671cc18b66a97778"
      ]
    }
  },
  "nonce": "0x0",
  "timestamp": "0x5b8f92c2",
  "extraData": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0x47b760",
  "difficulty": "0x1",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "cbfc29c31a31c869f9eb59a084d9019965978a7e": {
      "balance": "0x31d450f18af132720000000"
    },
    "393faea80893ba357db03c03ee73ad3e31257469": {
      "balance": "0xd3c21bcecceda1000000"
    },
    "30d342865deef24ac6b3ec2f3f8dba5109351571": {
      "balance": "0xd3c21bcecceda1000000"
    },
    "d410f95ede1d2da66b1870ac671cc18b66a97778": {
      "balance": "0xd3c21bcecceda1000000"
    },
    "a25dc63609ea7ea999033e062f2ace42231c0b69": {
      "balance": "0xd3c21bcecceda1000000"
    }
  },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

之后打开cmd/powershell,切换到json文件的目录。

geth --datadir data2 init .\genesis.json #data2是一个输出目录参数。

启动创世区块,如果是最开始创建的创世区块,就使用以下命令。

geth --http --http.api "db,eth,net,web3,personal" --datadir data2 --networkid 1997 console 2 >> .log #data2是上一个命令的输出参数,.log是日志文件参数。

否则使用:

geth --http --http.api "db,eth,net,web3,personal" --datadir data2 --networkid 1997 console

唯一的区别就是不在重定向到日志输出了。

之后,这个区块链就算是启动起来了。我们到输出目录(在这里是data2)里面的keyStore里面进行查看,里面是空的。
在这里插入图片描述
验证节点信息:admin.nodeInfo
在这里插入图片描述
查看已存在账号:eth.accounts
之后输出一个[]表示里面是空的。
然后,创建账号personal.newAccount()输入密码,用于测试。
在这里插入图片描述

届时,会在输出目录/keystore里面产生一个密钥文件。

在这里插入图片描述
可以通过以下命令来查看对应账户的余额:

eth.accounts[0]//查看第一个账号地址

eth.getBalance(eth.accounts[0])

eth.getBalance(“0x7326bc89fe5a1d593afb5fa02479974be776a081”) //括号内也可以直接填地址
可见余额为0

安装MetaMask插件,以及私钥文件

MetaMask是一个浏览器的插件,可以直接手动搜索并进行安装。

在这里插入图片描述
在这里插入图片描述
在这里,输入刚刚keystore中的密钥。这里有一个小漏洞,就是直接将本地私钥导入会导致崩溃。
退而求其次,我们反向推演。

在这里插入图片描述
在这里插入图片描述

将私钥文件以文本方式保存,粘贴到输出目录的keystore中。
之后切换到我们刚刚启动节点的控制台,输入:geth account import +你的私钥文件路径输入在geth控制台设置的那个密码,发现生成的账户就是metamask的账户。

输入geth account list可查看新导入的账户

挖矿

命令描述
miner.start(x)开始挖矿,x为线程数
eth.coinbase挖矿所得的奖励会进入矿工的账户
miner.setEtherbase(账号)设置挖矿账号
eth.getBalance(账号)获取当前账号余额
miner.stop()停止挖矿

geth在这里面就相当于是一个server(矿工的服务站),附带这一个MetaMask钱包,将其私钥(矿工的钱包账户)与geth做绑定,之后开启挖矿,所产生的收益都将进入到所指定的钱包里面去。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值