利用geth搭建私链

这篇具有很好参考价值的文章主要介绍了利用geth搭建私链。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

利用geth搭建私链

OS:ubuntu 18.04

需要有go环境!!

下载go-ethereum源码

# /usr/local/目录下:
git clone https://github.com/ethereum/go-ethereum.git

# git地址
https://github.com/ethereum/go-ethereum

编译

make geth

查看版本号

geth version

初始化

# 创建文件夹
mkdir /usr/local/myChain
# 初始配置文件
vim genesis.json
# /usr/local/go-ethereum
geth --datadir ../myChain/ init ../myChain/genesis.json
#初始化后就不能初始化了 直接移除
geth removedb
//genesis.json
{
    "config": {
        "chainId": 27   //链ID 随便起 和主链、测试连不同就OK
        },
    "alloc": {
        "0xc7c4f9a0Cd0a3e45348c5ed8c3909C69aA9FA8fC":{"balance":"10000000000000000000000"} //创世块分配的账户及余额
        },
    "difficulty": "2000", //挖矿难度
    "gasLimit": "2100000" //汽油费
}


{
"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"
}

启动

#/usr/local/myChain/
geth --datadir . --networkid 27
# 带控制台
geth --datadir . --networkid 27 console
#指定日志目录
geth --datadir . --networkid 27 console 2>output.log # 2代表输出 2> 输出重定向
#
geth --datadir . --networkid 123 --http console 2>output.log 

一些命令

#查看账户
eth.accounts
#查看余额
eth.getBalance("0xc7c4f9a0Cd0a3e45348c5ed8c3909C69aA9FA8fC")
eth.getBalance(eth.accounts[0])
#转成ether单位
web3.fromWei(eth.getBalance("0xc7c4f9a0Cd0a3e45348c5ed8c3909C69aA9FA8fC"))
web3.fromWei(eth.getBalance(eth.accounts[0]))
#当前块号
eth.blockNumber
#创建账户
personal.newAccount()
#解锁账户
personal.unlockAccount(eth.accounts[0])
#挖矿
miner.start(1)
#停止挖矿
miner.stop()
#返回接收挖矿回报的账户地址
eth.coinbase
#获取区块信息
eth.getBlock()
#获取交易信息
eth.getTransaction()
#转账
eth.sendTransaction({from:eth.accounts[0],to:"0xc7c4f9a0Cd0a3e45348c5ed8c3909C69aA9FA8fC",value:web3.toWei(10,'ether')})

0x74a328c888bccd96e24a856964b6e418984451fa
Yanlng0503

# 交易号
0xac6dee174111034ab7a39b6166529cf6918b90ecf89aa64ad37e68822e4d5e05


curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' http://1.116.123.107:8545

JSON-rpc文章来源地址https://www.toymoban.com/news/detail-516702.html

root@VM-16-5-ubuntu:/usr/local/myChain# curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","id":1,"result":"Geth/v1.10.18-unstable-40cfe710-20220420/linux-amd64/go1.18.1"}

geth --datadir . --networkid 123 --http console 2>output.log 

 curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://127.0.0.1:8545

到了这里,关于利用geth搭建私链的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包