区块链(二)-私有链的搭建

2023-10-29


私有链


搭建私有链,首先需要写一个创世块文件,创世块就是我自己链上的第一个区块。

{
 "config":{},
 "nonce":"0x0000000000000042",
 "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
 "difficulty": "0x100",
 "alloc": {},
 "coinbase":"0x0000000000000000000000000000000000000000",
 "timestamp": "0x00",
 "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
 "extraData": "0x00",
 "gasLimit":"0xfffffff"
}

  1. config:这个参数很重要,如果少了这个参数,挖矿就会一直不成功
  2. nonce: 是一个64位随机数,用于挖矿
  3. mixhash: 与nonce配合用于挖矿,由上一个区块的一部分生成的hash
  4. difficulty: 设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度
  5. alloc: 用来预置账号以及账号的以太币数量
  6. coinbase: 矿工的账号,默认的初始值为创建的第一个账户
  7. timestamp:设置创世块的时间戳,可计算当前实时时间,以后查询交易时间更方便
  8. parentHash:上一个区块的hash值,因为是创世块,所以这个值是0
  9. extraData:附加信息
  10. gasLimit:该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,以后为了更复杂的交易,我们将其设置为最大值

初始化
(1)在终端输入这两条命令,创建文件夹myPrivate,并进入该文件夹

mkdir myPrivate
cd myPrivate

(2)将刚刚的创世块文件genesis.json,放在文件夹下,接着执行命令进行初始化

geth init genesis.json

启动私有链
执行如下命令:

geth  --rpc --rpccorsdomain "*" --rpcapi "personal,web3,eth"  console

这是我总结的最重要的geth启动项,在区块链的前端开发中每一个都不可缺少。

$ geth  --rpc --rpccorsdomain "*" --rpcapi "personal,web3,eth"  --rpc
addr "10.18.25.15" console
INFO [06-13|10:45:13] instance:Geth/v1.6.0-unstable-105b37f1/darwin/go1.8
INFO [06-13|10:45:13] Allocated cache and file handles         database=/Users/xue/Library/Ethereum/geth/chaindata cach
e=128 handles=1024
INFO [06-13|10:45:13] Initialised chain configuration          config="{ChainID: 0 Homestead: <nil> DAO: <nil> DAOSuppo
rt: false EIP150: <nil> EIP155: <nil> EIP158: <nil>}"
INFO [06-13|10:45:13] Disk storage enabled for ethash caches   dir=/Users/xue/Library/Ethereum/geth/ethash count=3
INFO [06-13|10:45:13] Disk storage enabled for ethash DAGs     dir=/Users/xue/.ethash                      count=2
INFO [06-13|10:45:13] Initialising Ethereum protocol           versions="[63 62]" network=1
INFO [06-13|10:45:13] Loaded most recent local header          number=288 hash=9a47c9…e52fea td=38712958
INFO [06-13|10:45:13] Loaded most recent local full block      number=288 hash=9a47c9…e52fea td=38712958
INFO [06-13|10:45:13] Loaded most recent local fast block      number=288 hash=9a47c9…e52fea td=38712958
INFO [06-13|10:45:13] Starting P2P networking
INFO [06-13|10:45:15] RLPx listener up                         self=enode://c0aa55a66963bc5321dd6633d029e3259458e68a2de
a591baee5b0bb96e1194ec7eea9bfd5fc2eaee518bfc58ed2c475a4574e9dae7a569625c6c88d89140ec7@[::]:30303INFO [06-13|10:45:15] IPC endpoint opened: /Users/xue/Library/Ethereum/geth.ipc
INFO [06-13|10:45:15] HTTP endpoint opened: http://10.18.25.15:8545
Welcome to the Geth JavaScript console!
instance: Geth/v1.6.0-unstable-105b37f1/darwin/go1.8
coinbase: 0xaae168cfde121cbbb2ceb3c7157f81a7dae82964
at block: 288 (Mon, 12 Jun 2017 12:37:45 CST)
 datadir: /Users/xue/Library/Ethereum
 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0

>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区块链(二)-私有链的搭建 的相关文章

随机推荐

  • Typescript 基础类型 —— 布尔值 Boolean

    在JavaScript和TypeScript里布尔值都叫做boolean 表示逻辑值 true 和 false 关键字 boolean 实例 let isRes boolean false 编译结果 var isRes false 试图给
  • 【读懂Autosar代码】-1-概述

    点击返回 Autosar从入门到精通 实战篇 总目录 案例背景 共5页精讲 聊一聊这些封装中关键字宏的命名是如何构成的 FUNC FUNC P2CONST FUNC P2VAR P2VAR P2CONST CONSTP2VAR CONSTP
  • 论文期刊一般的审稿流程

    一 经常在网上看到某某人在问什么期刊的审稿周期 或者是投稿已多久怎么还没消息之类的帖子 作为经常帮国内外期刊审稿的人 对编辑部相对有所了解 因此特意发帖告知 供大家交流 论文审稿是个复杂的过程 并不是像大部分作者想象的那样送个一个专家看个几
  • String 判断字符串是否包含某个字符

    contains 判断 s 是否包含 ss 包含返回true 不包含返回false String s 你好 String ss 你 boolean ii s contains ss if ii true System out println
  • STM32调试特定函数出现Cannot access Memory

    MDK5出现Cannot access Memory 1 问题 2 原因 3 总结 1 问题 程序每次执行到了特定函数的位置时 keil里面全速运行 一直出现Cannot access Memory 再后面就是进入硬件错误中断了 执行到这个
  • C#使用COM+实现事务控制,操作多个数据库

    其中大部分内容参考自http blog itpub net 10752043 viewspace 991224 上面的是sqlserver的操作方式 因为我实际项目是用的oracle 就拿oracle试了一下 为了自己记录或者方便其他人 其
  • Linux下如何配置环境变量

    基础知识 首先 我们来了解一下什么是 环境变量 环境变量 通俗讲是操作系统或程序执行时候默认设定的参数 比如 PATH 路径变量 当要执行某个命令或程序的时候默认寻找的路径 然后 我们再来了解一下环境变量都有哪些类型 环境变量的分类 根据变
  • C++的类型

    C 的类型 按照标准 C 只有两种类型 基本类型和复合类型 但是里面细节多导致彻底理解它们有难度 所以这里只是简单总结一下 基本类型 基本类型分成算术类型和两种特殊的类型 算术类型 算术类型分成整数类型和浮点数类型两种 整数类型 以下都是整
  • 在springboot中使用Sse(Server-sent Events)Web实时通信技术-服务器发送事件SseEmitter

    最近在练习项目时需要用到消息实时推送技术 了解到有两种实时通信技术供我选择 SSE和WebSocket 详细了解后得知SSE是基于http协议 无需导入其他依赖 特点是服务端主动给客户端推送消息 单向 适合浏览器端只做数据接收 而webso
  • 华为OD机试真题-路灯照明问题-2023年OD统一考试(B卷)

    题目描述 在一条笔直的公路上安装了N个路灯 从位置0开始安装 路灯之间间距固定为100米 每个路灯都有自己的照明半径 请计算第一个路灯和最后一个路灯之间 无法照明的区间的长度和 输入描述 第一行为一个数N 表示路灯个数 1 lt N lt
  • Pysot训练自己的数据集

    数据集预处理操作 Pysot训练自己数据集前的预处理 Vesper0412的博客 CSDN博客 Pysot源码地址 https github com STVIR pysot 1 linux系统激活环境 conda activate pyto
  • 机器学习课程学习阶段总结

    机器学习课程学习阶段总结 线性回归 逻辑回归 逻辑回归 是一种分类算法 和之前的线性回归不是同一类问题 但是对于处理问题上有相同的思想 对于线性回归问题 有较容易理解的思路 首先指定一个形式确定的 h x Tx h theta x thet
  • 笔记本连接RK61键机械键盘非损坏的win和alt对调,数字键失灵以及特殊字母键失灵恢复

    1 问题描述 在打游戏或者码字的时候 无意中按下了键盘模式切换按键 导致了键盘的假性失灵状态 具体表现为 1 win和alt键功能对调 win按键无反应 alt键出现windows窗口 虽然不影响使用 但是很别扭 2 数字键失灵 键盘打不出
  • 网络安全有哪些经典笑话

    今天程序员同事发了一个链接给我 点开是一个调侃程序员有哪些经典笑话的帖子 给我看乐了 诸如 老婆给当程序员的老公打电话 下班顺路买一斤包子带回来 如果看到卖西瓜的 就买一个 当晚 程序员老公手捧一个包子进了家门 老婆怒道 你怎么就买了一个包
  • Android BLE 快速开发示例

    目录 概述 1 FastBle的使用 2 BLE开发实践方面的理解 3 FastBle源码解析 概述 思来想去 还是写这篇博文 记录一下 当时学习BLE的一些心得 重捡回当前Android知识 想深入了解蓝牙通讯知识 这个案例是非常不错的选
  • 毕业设计 - 基于单片机的测谎仪

    文章目录 1 简介 2 实现原理 3 主要器件 4 实现效果 正常情况 未说谎 异常情况 说谎了 5 部分实现代码 6 最后 1 简介 Hi 大家好 学长今天向大家介绍一个有趣的单片项目 基于单片机的测谎仪 大家可用于 课程设计 或 毕业设
  • 大数据技术(林子雨版)——期末复习知识点

    gt 大数据 云计算 大数据时代的三次信息化浪潮 时间 标志 解决的问题 代表企业 1980年前后 个人计算机 信息处理 Intel IBM 1995年前后 互联网 信息传输 谷歌 腾讯 2010年前后 大数据 云计算 物联网 信息爆炸 亚
  • Windows “Win+R“命令行运行常用命令

    Windows Win R 命令行运行常用命令 Windows操作系统提供了许多方便的方式来执行各种任务 其中之一是使用 Win R 运行命令行 这个快捷键组合可以让您迅速启动各种应用程序 工具和系统实用程序 而无需通过开始菜单或桌面快捷方
  • 【仲裁器】轮询仲裁round-robin,rr

    起因 在多主单从的设计中 当多个源端同时发起传输请求时 需要仲裁器根据优先级来判断响应哪一个源端 轮询仲裁 各个源端优先级相同 当其同时发起请求时 依次进行响应 电路图 代码 module rr arb input clk input rs
  • 区块链(二)-私有链的搭建

    私有链 搭建私有链 首先需要写一个创世块文件 创世块就是我自己链上的第一个区块 config nonce 0x0000000000000042 mixhash 0x00000000000000000000000000000000000000