您现在的位置是:首页 >学无止境 >以太坊私链搭建网站首页学无止境
以太坊私链搭建
以太坊私链搭建(Windows+geth)
1.Geth下载与安装(Geth是go以太坊客户端)
1.1Geth下载
https://geth.ethereum.org/downloads/
(这个是我下载的版本)
1.2Geth安装
傻瓜式安装,一直点下一步就可以了(可以选择自己的安装路径),最后配置一下环境变量,安装过程应该会自动配置环境变量,如果没有自己手动添加一下
 设置系统环境变量 /刚刚安装选择的路径(我的是直接安装在D:路径下)
 电脑/计算机 ——> 属性 ——> 高级系统设置 ——> 环境变量 ——> 系统变量 ——> path
 ![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lfgcNZz4-1683344995448)(assets/image-20220416002518947.png)]](https://img-blog.csdnimg.cn/27987dd3829c48d58af2e33c5701e5a3.png)
 
在命令行窗口下输入geth -h 返回相关信息,表示安装配置成功
2.搭建私链
2.1创世区块链配置
在Geth目录下创建prichain文件夹,然后创建data0文件夹(用来保存区块信息),创建genesis.json文件(创世区块配置信息放在json文件中)
 
 genesis.json文件内容:
{
  "config": {
        "chainId": 8, 
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x1",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000066",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}
 
2.2创世区块初始化
 进入命令行窗口,切换到genesis.json所在路径执行初始化命令
 geth --datadir data0 init genesis.json
 
会返回successfully worte genesis state表示初始化成功(私链搭建成功)
 geth … init …,表示初始化区块链
 –datadir选项后面跟一个目录名 , 指定数据存放目录为 data0
 genesis.json是init命令的参数。
 运行上面的命令,会读取genesis.json文件,并将创世区块写入到区块链中。
 在文件目录中查看初始化的结果
 ![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-elhqs99X-1683344995449)(assets/image-20220416095928117.png)]](https://img-blog.csdnimg.cn/9ffbcc82f97c45d2bdc6ddf5a97cd8e9.png)
3.启动private chain,进入geth控制台
命令行输入 geth --datadir data0 --networkid 8 console
 geth console : 启动节点并进入交互式控制台
 –datadir选项指定使用data0作为数据目录
 –networkid选项后面跟一个数字,指定这个私有链的网络id为8。
 note : 网络id在连接到其他节点的时候会用到,以太坊公网的网络id是1,为了不与公有链网络冲突,运行私有链节点的时候要指定自己的网络id
 
 
这是一个交互式的Javascript执行环境,在这里面可以执行Javascript代码,其中>是命令提示符。在这个环境里也内置了一些用来操作以太坊的Javascript对象,可以直接使用这些对象。这些对象主要包括:
 eth:包含一些跟操作区块链相关的方法
 net:包含以下查看p2p网络状态的方法
 admin:包含一些与管理节点相关的方法
 miner:包含启动&停止挖mining的一些方法法
 web3:包含了以上对象,还包含一些单位换算的方法
4.创建账户
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KWgGC80T-1683344995450)(assets/image-20220416101011604.png)]](https://img-blog.csdnimg.cn/58b00faaa9df4300becb84a23cb57225.png)
(创建的账户密码要保存好)
6.geth控制台常用命令
personal.newAccount():创建账户;
 personal.unlockAccount():解锁账户;
 eth.accounts:枚举系统中的账户;
 eth.getBalance():查看账户余额,返回值的单位是 Wei(Wei 是以太坊中最小货币面额单位,类似比特币中的聪,1 ether = 10^18 Wei);
 eth.blockNumber:列出区块总数;
 eth.getTransaction():获取交易;
 eth.getBlock():获取区块;
 miner.start():开始;
 miner.stop():停止;
 web3.fromWei():Wei 换算成以太币;
 web3.toWei():以太币换算成 Wei;
 txpool.status:交易池中的状态;
 admin.addPeer():连接到其他节点;
            




U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结