zoukankan      html  css  js  c++  java
  • Building Ethereum private chain on CentOS

    golang安装

    yum install golang

    查看版本

    go version

    安装以太坊源代码

    Building Geth (command line client)

    Clone the repository to a directory of your choosing:

    git clone https://github.com/ethereum/go-ethereum

    Install latest distribution of Go if you don't have it already.

    Building geth requires Go and C compilers to be installed:

    sudo apt-get install -y build-essential

    Finally, build the geth program using the following command.

    cd go-ethereum
    make geth

    由于firewall原因无法下载go相关库请使用代理

    You can now run build/bin/geth to start your node.

    创世区块文件的准备

    创建账号:

    ./geth --datadir /eth/data account new

    在go-ethereum/build/bin目录下创建init.json的文本文件,内容如下:

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

    创世区块初始化

    在go-ethereum/build/bin目录下执行以下命令以完成创世区块的创建:

    ./geth  --datadir "/app/chain" init init.json

    注意:上面命令中--datadir后面的 /app/chain可以任意指定,无需提前创建,但是一定要保证有足够的磁盘空间。init.json是我们在上一步创建的文件,注意文件名要一致。执行完成后,将会出现类似以下信息:

    启动以太坊

    仍然在go-ethereum/build/bin目录下执行,执行的命令是:

    ./geth --rpc --rpccorsdomain "*" --datadir "/eth/data" --port "30303" --rpcapi "db,eth,net,web3" --networkid 100000 console

    到目前为止,我们的私有链就搭建成功了。下一次,我们会介绍账户创建,挖矿,转账等操作。

  • 相关阅读:
    Java动态绑定和静态绑定-多态
    Java方法内联
    Java反射机制及原理
    Jvm-类加载机制
    Zookeeper 源码解析-环境准备
    SpringMvc源码解析
    Java虚拟机的意义
    起跑线
    js动态生成html,onclick事件失效解决方法
    虚拟机能ping通,但是telnet某个端口却不行
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/12094299.html
Copyright © 2011-2022 走看看