IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 本地搭建以太坊私有节点网络 -> 正文阅读

[区块链]本地搭建以太坊私有节点网络

背景介绍

以太坊开发必须需要节点,虽然已经拥有了测试网的节点,但是我们还是最好搭建一个我们自己的本地节点,对于底层开发就更需要节点了,所以我们最好还是搭建本地节点。

环境需求

  • VMWare软件
  • ubuntu虚拟机
  • git
  • go

节点配置文件

以太坊私有链启动必须需要创世块文件配置,这个创世块配置文件是一个json文件。以下是一个创世块配置文件模板:

{
    "config": {
      "chainId": 1337,
      "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": {
      "0x0192a05d8B681fB99AC07e0D58C69DCAf99df0ea":{
        "balance":"0xffffffffffffffff"
      }
     },
    "number": "0x0",
    "gasUsed": "0x0",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}  
  • 配置文件几个关键点说明
参数说明
coinbase矿工地址
alloc用于预设创世账户及其拥有的以太币数量,此处也可以预设合约账户

编译geth可执行文件

$git clone git@github.com:ethereum/go-ethereum.git
$cd ethereum
$git checkout v1.10.o
$make geth
$sudo mv ./build/bin/geth /usr/local/bin

编写管理本地私有节点脚本

#!/bin/bash

MinerAddress='0x1140dC752FF55453086564557c839cd5BBa3178C'

function print() {
  echo "Usage: "
  echo "  run.sh <mode>"
  echo "    <mode> - one of 'init', 'start', 'console', 'stop'"
  echo "      - 'init' - init genesis block"
  echo "      - 'start' - start ethereum nede"
  echo "      - 'console' - enter console"
  echo "      - 'stop' - stop ethereum node"
}

MODE=$1
if [ "${MODE}" == "init" ]; then
    cd deploy
    geth --datadir ./data init genesis.json
elif [ "${MODE}" == "start" ]; then
    nohup geth --rpc --rpcapi "eth,web3,net,ssh,db,debug,personal,miner" \
    --rpcaddr 192.168.235.128 --rpcport 8545 --allow-insecure-unlock --rpccorsdomain "*" \
    --dev --dev.period 1 --datadir ./data --port 30303 \
    --password password --networkid 100000 \
    --miner.etherbase $MinerAddress --mine \
    --miner.threads=1 2>&1 &
    echo
elif [ "${MODE}" == "console" ]; then
    geth attach http://192.168.235.128:8545
elif [ "${MODE}" == "stop" ]; then
    GETHPID=`ps -ef | grep geth | grep -v grep | awk '{print $2}'`
    kill -9 $GETHPID
    rm -rf nohup.out
else
    print
    exit 1
fi
  • MinerAddress是挖矿地址
  • 脚本文件中的ip地址是虚拟机的ip,为了能够让本地Windows浏览器里的MetaMask钱包能够连上区块链节点

节点管理

初始化创世区块

./run.sh init

启动节点

./run.sh start

进入控制台

./run.sh console

关闭节点

./run.sh stop

源码仓库

1、https://github.com/billchen-818/eth-dev

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:36:24  更:2021-08-24 15:37:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:15:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码