Geth搭建以太网私有链挖矿并连接MetaMask管理账户
1. 安装
https://geth.ethereum.org/downloads/
下载对应的版本,建议使用Windows,比较容易方便一些
下载好之后,执行exe文件,按照指示安装,记录好安装的目录,之后会用到
geth help
:检查一下是否安装完成
2. 搭建私有网络
进入到安装目录下,如C:\Program Files\Geth,需要管理员权限,新建一个genesis.json在此目录下,内容如下:
{
"config": {
"chainId": 666,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"ethash": {}
},
"nonce": "0x0",
"timestamp": "0x5ddf8f3e",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x47b760",
"difficulty": "0x00002",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": { },
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
管理员权限的cmd进入到Geth目录下,执行如下命令初始化:
geth --datadir data init genesis.json
生成的data文件夹是用来存放账户数据,如交易转账记录等
一开始执行一次就好,之后就不用再执行了,会重新初始化
执行如下命令搭建私有链:
geth --datadir "C:\Program Files\Geth\data" --rpc -rpcapi "eth,web3,miner,admin,personal,net" --rpccorsdomain "*" --nodiscover --networkid 15
数据文件位置改成自己的即可
该命令会在当前窗口一直运行,执行其他命令需要新建一个管理员窗口
使用RPC协议接入节点:
geth attach ipc:http://127.0.0.1:8545
进入shell后,执行eth.accounts
查看账户
新建一个账户personal.newAccount("123")
,括号里是账户密码
再eth.accounts
,会发现账户创建成功
3. 挖矿
输入以下命令即可开始,括号里可以指定进程数
miner.start()
查看以太币的数量:eth.getBalance(eth.accounts[0])
会发现数量很大,单位是Wei,换算成ETH
web3.fromWei(eth.getBalance(eth.accounts[0]))
停止挖矿
miner.stop()
注意:当你关掉窗口重新进入的时候,会发现之前的币都没有了,因此,需要连接钱包管理账户,如MetaMask
4. MetaMask安装和使用
进入到谷歌浏览器后,chrome://extensions,进入应用商店,搜索MetaMask添加
添加完成后,按照指示安装即可,注意要记录下助记词和密码,助记词尤其重要,建议复制保存下来
接下来的步骤跟上面差不多
打开一个管理员cmd创建一个私有链:
geth --datadir "C:\Program Files\Geth\data" --rpc -rpcapi "eth,web3,miner,admin,personal,net" --rpccorsdomain "*" --nodiscover --networkid 15
在metamask里选择连接localhost,然后导入之前的账户:
选择导入账户,选择json文件,添加key文件
key文件的位置在之前创建的Geth中的data文件夹下的keystore中
点击确定之后,可能会出现卡顿,过几分钟重新打开,会发现账户已经导入成功
新建新的管理员cmd:
RPC协议接入:geth attach ipc:http://127.0.0.1:8545
miner.start()
就可以开始挖矿了,在metamask里可以看到数量的增加
5. 转账操作
选择发送,然后选择账户,如Account1,输入ETH后,确认
可能会出现发送失败的情况,尝试自定义一下:
名称自己取一个即可
URL为http://127.0.0.1:8545/
ChainID为666,在之前的genesis.json中可以看到
更改完之后再试一次。