[CTF | BlockChain] GETH搭建做题专用私链教程

Goerli已经死了,Sepolia天天挂。受不了做题5分钟,交易2小时的生活了。于是用geth搭建自己做题用的私链。

本着自用的目的,直接用最简单的方法,不用配置gensis.json之类的。毕竟用普通模式run起来,还得自己开线程挖矿才能正常交易,不如直接用devmode,有交易的时候才挖矿,节省服务器资源(毕竟也不是24h都在做题)。

安装 geth

Ubuntu系可以直接加PPA然后apt-install:

sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

如果是其他系统,参照Doc安装即可Geth-Docs

dev 模式启动私链

新建一个文件夹,如private_chain:

mkdir private_chain
cd private_chain

不需要额外配置,直接启动就可以了:

geth --datadir . --http --http.api eth,net,web3 --dev console

--http是打开rpc服务必选,这样才能链接你的web3钱包。

如果需要用域名在外网访问,要加上--http.corsdomain "*" --http.vhosts "*"去除域名和host限制。默认端口是8545,需要更改请用--http.port xxxx修改

启动后的界面长这样:
image

输入命令eth.accounts可以看到dev模式下默认给你生成的主账户,这里面有很多eth。

image

image

连接 Metamask 钱包

Metamask 点击头像进入设置-网络,点击添加网络
image

选择手动添加网络
image

名字随便取,URL填http://服务器ip或域名:端口(默认端口是8545),dev模式下链id是1337,货币名称也可以自己随便取,弄好了保存就行。
image

然后切到自己保存的测试链就能看到自己的链了(如果你是新创建的链应该是0个ETH,我这里改过所以有几百个币):
image

转账进自己的账户

新创建的钱包里应该是0ETH,需要从dev模式给我们的默认账户中转给我们的账号。进入geth的console,输入以下命令即可:

eth.sendTransaction({from:eth.accounts[0],to:"你的metamask的钱包地址",value:web3.toWei("转账金额(eth)")})

如:

eth.sendTransaction({from:eth.accounts[0],to:"0x27B9C380AF7a34dE3007dB044c0f872D2A6632E2",value:web3.toWei("100")})

运行后会自动挖矿完成交易,然后你的账户上就多出100代币了。

image

然后就可以去享受0延迟做题啦~

posted @ 2023-03-24 20:12  Tim厉  阅读(196)  评论(0编辑  收藏  举报