win10与linux以太坊客户端Geth私链搭建教程

本来去年就应该写这个教程记录一下的,然而以为自己以后不会用到,所以偷懒没写……被打脸之后重新记录一波,如何在win10以及linux上面搭建一个以太坊的私链

1、win10搭建教程

首先保证你的电脑系统是win10,然后第一步,去官网下载Geth,我这里选的版本是1.9.12
下载地址:https://geth.ethereum.org/downloads/

在这里插入图片描述


下载好了之后,双击安装,然后打开安装目录,你会发现Geth.exe安静的在里面躺着:
在这里插入图片描述


但是先不要着急双击启动,geth客户端不是这样玩的,既然是要搭建私链,那么就先要有创世区块,我们在同级目录创建一个genesis.json文件

{
  "config": {
    "chainId": 7878,
    "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": "0x99999",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": { },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}


其中几个地方需要注意一下:
  • chainId:私链id,你可以随意取,保证链接一致即可
  • difficulty:挖矿难度
  • 不同版本创世区块文件可能不一致,建议选择1.9+的版本




这时候我们再创建一个data目录,用于存放数据文件,最终目录结构如下:
在这里插入图片描述
此时我们打开命令行,切换到当前目录后,输入如下代码初始化创世区块,输出如下内容代表初始化完成:

./geth -datadir .\data\ init genesis.json

在这里插入图片描述

如果你失误了想要删除,执行该命令即可:

./geth removedb --datadir .\data\

在这里插入图片描述

接下来我们再输入如下内容启动客户端:

./geth --rpc --rpcaddr 127.0.0.1 --port 10071 --rpcport 10070 --rpcapi "personal,db,eth,net,web3,miner" --datadir .\data\ --networkid 7878 console --allow-insecure-unlock

这里解释一下各个参数的意义:

  • rpcaddr :提供远程连接的地址
  • rpcport:远程连接端口
  • rpcapi :允许远程连接使用的API
  • datadir:数据目录
  • networkid:私链id
  • –allow-insecure-unlock:允许不安全的交易

启动客户端之后,我们就可以输入一些命令来玩了:
在这里插入图片描述

  • 查看账户列表:eth.accounts
  • 创建账户:personal.newAccount(“123”) PS:括号里的参数代表密码
  • 查看账户余额:eth.getBalance(eth.accounts[0])
  • 开始挖矿:miner.start()
  • 停止挖矿:miner.stop()
  • 查看区块高度:eth.blockNumber

至于怎么交易,大家可以自己去百度,我这里就不贴了,额外说一个问题,有些人miner.start()之后会发现,客户端返回了一个null,然后区块并没有增加,如果你的客户端和我版本是一致的,那么应该是以下情况:

  1. 第一次开始挖矿会有一个进度,需要等待百分比到100才会开始挖矿
  2. 机器配置太低,挖矿速度很慢(我之前在1核2G的云服务器上面是5分钟一个)

2、Linux搭建教程

这里我的系统是Centos7.4,其它的也大同小异,Linux的搭建和win10上面差不多:

wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9.25-e7872729.tar.gz
tar -zxvf geth-linux-amd64-1.9.25-e7872729.tar.gz

解压之后,cd到解压目录里,然后你会看到geth同样静静躺在里面,后续流程和上面创建genesis.json文件开始的一模一样

3、后记

后续有时间还会记录一下怎么用Java操作Geth客户端以及智能合约的部署使用……

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
搭建本地以太坊私链并连接钱包实现转账,需要以下步骤: 1. 安装Geth客户端 Geth是以太坊客户端软件,可以用于连接以太坊网络。可以从https://geth.ethereum.org/downloads/下载Geth安装包并安装。 2. 创建创世块 在创建私链之前,需要先创建创世块。可以使用Puppeth工具来创建创世块,该工具可以从https://github.com/ethereum/go-ethereum/releases下载。使用Puppeth可以选择网络ID、区块时间、初始难度等选项,并生成创世块配置文件。 3. 初始化私链 使用以下命令来初始化私链: ``` geth --datadir /path/to/chaindata init /path/to/genesis.json ``` 其,/path/to/chaindata为私链数据存储路径,/path/to/genesis.json为创世块配置文件路径。执行该命令后,私链数据存储路径下会生成相应的数据文件。 4. 启动私链 使用以下命令来启动私链: ``` geth --datadir /path/to/chaindata --networkid 1234 --rpc --rpcport "8545" --rpcaddr "127.0.0.1" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal" --nodiscover console ``` 其,/path/to/chaindata为私链数据存储路径,--networkid为私链的网络ID,--rpc为启用RPC服务,--rpcport为RPC服务端口,--rpcaddr为RPC服务IP地址,--rpccorsdomain为跨域访问配置,--rpcapi为RPC接口配置,--nodiscover为禁用节点发现。执行该命令后,会启动私链节点并进入控制台。 5. 创建钱包 在私链节点控制台,使用以下命令来创建钱包: ``` personal.newAccount() ``` 执行该命令后,会提示输入密码,并返回钱包地址。 6. 解锁钱包 使用以下命令来解锁钱包: ``` personal.unlockAccount("钱包地址", "密码", 0) ``` 其,"钱包地址"为钱包地址,"密码"为钱包密码,0为解锁时长,表示永久解锁。执行该命令后,会返回true表示解锁成功。 7. 转账 在私链节点控制台,使用以下命令来转账: ``` eth.sendTransaction({from: "发送方钱包地址", to: "接收方钱包地址", value: web3.toWei(1, "ether")}) ``` 其,"发送方钱包地址"为发送方钱包地址,"接收方钱包地址"为接收方钱包地址,web3.toWei(1, "ether")为转账金额,表示1个以太币。执行该命令后,会返回交易哈希值。 8. 查询余额 使用以下命令来查询钱包余额: ``` eth.getBalance("钱包地址") ``` 其,"钱包地址"为钱包地址。执行该命令后,会返回钱包余额。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值