以太坊搭建私链

Posted 在家无聊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊搭建私链相关的知识,希望对你有一定的参考价值。

  1.  新建一个私链目录
  2. 在目录中新建genesis.json, 里面存储创世配置
  3. 通过genesis.json生成创世块:geth --datadir data init genesis.json
  4. 启动节点:geth --datadir data console
  • 节点启动之后会在data目录下生成geth和keystore目录
  • geth:存储区块链数据等
  • keystore:存储私钥文件

5.创世区块配置文件参数详解

  • ChainId:独立的区块链网络ID,再连接到其他节点时可以用到公网ID是1。不同ID的网络节点无法连接。
  • homesteadBlock:值为0表示当前正在使用的homestead版本。
  • alloc:预置账号以及账号的以太币数量,私链用不上。
  • coinbase:矿工账号,可以随便填,因为以太坊中会默认把账号列表中的第一个账号当成挖矿账号
  • difficulty:挖矿难度,可以动态的进行调节。
  • extaData:附加信息,随便填。
  • gasLimit:gas上限。
  • nonce:随机数,随便填。
  • mixHash:与nonce结合用于配合挖矿。
  • parentHash:前区块hash。
  • timestamp:创世区块时间戳

以下是全部配置文件示例:


  "config":
    "chainId": <arbitrary positive integer>,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0,
    "londonBlock": 0
  ,
  "alloc": ,
  "coinbase": "0x0000000000000000000000000000000000000000",

 "difficulty": "0x20000",

  "extraData": "",
  "gasLimit": "0x2fefd8",
  "nonce": "0x0000000000000042",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp": "0x00"

    6. geth启动参数详解  

  • datadir:区块链数据库存放位置
  • rpc:启动RPC通信,可以进行智能合约部署和调试
  • rpcaddr:指定HTTP_RPC监听地址,默认localhost
  • rpcport:指定HTTP_RPC监听端口,默认8545
  • rpccorsdomain:*
  • rpcapi:允许连接的RPC客户端
  • nodiscover:关闭自动连接
  • maxpeers:允许的最大连接数,默认25个
  • networkid:设置当前区块链中网络ID,为了区分不同的网络
  • port:30303
  • mine:开户挖矿,默认CPU挖矿
  • minerthreads:挖矿的CPU线程数,默认为4
  • etherbase:矿工账号
  • console:启动命令行

以上是关于以太坊搭建私链的主要内容,如果未能解决你的问题,请参考以下文章

Docker 搭建以太坊私有链

区块链学习--win10下构建以太坊私链

为啥我基于自己搭建的私链创建代币后,以太坊账户的余额仍然为零?

以太坊-私有链-搭建-部分细节

以太坊搭建私链

问题以太坊私链连接钱包报错解决汇总