探索以太坊世界:使用Geth打造你的私人网络

文章目录

  • 概要
  • 名词解释
    • Geth(Go Ethereum)
    • 区块链网络种类
  • 具体流程
    • 下载geth客户端
    • 配置私链
    • 新建创世区块
    • 启动私链
  • 连接MetaMask钱包
  • 小结

概要

在区块链领域,以太坊私链的搭建是学习和开发智能合约的重要一步。私链允许开发者在独立的环境中进行测试和实验,而无需担心成本或影响到以太坊主网。本文将向你介绍如何使用 Geth 客户端搭建你自己的以太坊私链。

在这里插入图片描述

名词解释

Geth(Go Ethereum)

Geth 是以太坊的官方客户端之一,采用 Go 语言编写。它提供了完整的以太坊节点实现,可以连接到以太坊的主网(公有链)或者搭建私有链、联盟链等自定义的区块链网络。

  • 功能:Geth 提供了以太坊网络的完整功能,包括账户管理、智能合约部署、交易处理等。
  • 特点:Geth 是以太坊生态系统中最常用、最成熟的客户端之一,拥有强大的性能和稳定性。
  • 用途:开发者可以使用 Geth 进行智能合约的开发、部署和测试,也可以搭建私有链或联盟链用于特定的业务场景。

区块链网络种类

公有链(Public Chain)
公有链是开放的区块链网络,任何人都可以加入并参与网络的操作,而且所有的交易和数据都是公开透明的。以太坊的主网就是一个公有链,任何人都可以在上面部署智能合约、发送交易等。公有链的去中心化和透明性使得它适合于各种场景,包括加密货币、去中心化金融、智能合约等。

私有链(Private Chain)
私有链是一个独立的区块链网络,与公有链完全分离,通常由一个组织或企业控制。私有链不向公众开放,只允许特定的参与者连接并参与网络的操作。私有链可以具有自定义的共识机制、区块生成速度、区块链大小等特性,用于内部测试、开发或企业内部业务。

联盟链(Consortium Chain)
联盟链是介于私有链和公有链之间的一种区块链网络。它由多个组织或企业共同管理,参与者需要获得授权才能连接和参与网络的操作。联盟链通常具有更高的性能和隐私性,适用于需要多方合作或者联盟的场景,例如跨组织的供应链管理、金融交易等。

具体流程

下载geth客户端

geth官方文档点击此处,geth下载网站点击此处,在下载网站里选择适合自己电脑的geth版本下载
在这里插入图片描述
安装好之后放在一个新的文件夹里,命名为geth,里面只有一个geth.exe,随后新建一个keystore文件夹,这个文件夹里面是存放新创建的账户密码的
在这里插入图片描述

配置私链

在geth文件夹下打开cmd命令行,输入以下命令创建账户,后面的路径为自己的keystore文件夹路径,再输入自己的密码如 “123456”,一直点击确定即可

clef newaccount --keystore D:\hjy\geth\keystore

在这里插入图片描述

新建创世区块

在geth文件夹下,新建一个genesis.json文件,在上面的命令行中输入以下命令,得到创世区块信息,复制到genesis.json文件中去,

geth --dev dumpgenesis

在这里插入图片描述

在这里插入图片描述

启动私链

继续输入以下命令启动私链,此时属于你自己的私链就搭建成功了!!!

geth --datadir "." --dev --dev.period 2 --http --http.api eth,web3,net --http.corsdomain "http://remix.ethereum.org" --password password.txt --http.port 8888

在这里插入图片描述

连接MetaMask钱包

刚才的终端不要关闭,再新建一个终端输入下面命令进入到geth控制台并查看挖矿账户地址和余额

geth attach \\.\pipe\geth.ipc// 查看账户
eth.accounts
// 查询余额
eth.getBalance(eth.coinbase)/1e18

在这里插入图片描述

登录进入到MetaMask钱包,在设置中找到网络设置,点击添加网络,输入图中参数,保存网络之后再导入挖矿账户

在这里插入图片描述

点击添加账户中,导入账户,选择json方式导入,此时选中keystore文件夹下的文件,就可以看到账户地址和余额都对上了
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

小结

通过以上步骤,你已经成功搭建了自己的以太坊私链,并且连接了 Metamask,可以开始在私链中进行智能合约的开发和测试。祝你在以太坊开发的旅程中取得成功!
希望本文能够帮助读者更好地了解区块链的geth私链,如果有任何疑问或者建议,欢迎留言讨论🌹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

地图图源#ESRI ArcGIS XYZ Tiles系列(TMS)

目录 1、前言 2、地图图源网址 2.1、Satellite 卫星图源 2.2、Terrain 地形图源 2.3、Street 路网/标注图源 2.4、Specifity 特色设计图源 3、专业推荐”穿搭“ 4、图源配置下载及使用 图源名称图层类别特别注意谷歌 Google①地形 ②影像 ③矢量及标注 ④特色图源国内大…

python3如何提取汉字

采用正则表达式的方法对字符串进行处理。 str1 "{我%$是,《速$.度\发》中 /国、人"(1)提取汉字 汉字的范围为”\u4e00-\u9fa5“,这个是用Unicode表示的。 import re res1 .join(re.findall([\u4e00-\u9fa…

sso-oauth2单点登录功能笔记

场景:最近公司2个系统需要做单点登录,A系统作为服务器,认证方式是sso-oauth2方式,B系统作为客户端,token方式是ta-token,先来张sso-oauth2认证方式的图 前置准备工作 第一步:要确认谁是服务提…

kubernetes的网络通信实现原理

网络原理 Kubernetes网络原理详解:一、Kubernetes 网络实现1.容器到容器(同一Pod内)通信流程:2. pod之间的通信(以Calico为例): 二、CNI 网络模型三、网络策略四、开源的容器网络方案五、 常见网…

oracle控制文件的管理

1 说明 Oracle数据库中的控制文件是数据库管理中的重要组成部分,是一个二进制小文件,在 mount 阶段被读取。它包含了数据库的元数据信息和文件位置等重要数据,记录数据库当前物理状态,维护数据库的一致性,记录 RMAN 备…

2024年腾讯云免费服务器最新申请入口链接

腾讯云免费服务器申请入口 txybk.com/go/free 免费服务器可选轻量应用服务器和云服务器CVM,轻量配置可选2核2G3M、2核8G7M和4核8G12M,CVM云服务器可选2核2G3M和2核4G3M配置,腾讯云百科txybk.com分享2024年最新腾讯云免费服务器申请入口、限制…

【JavaEE初阶】网络原理|认识协议|协议分层|TCP/IP模型|封装和分用

一、认识协议 1.概念 简单来说:就是一种通信双方,对于通信规则的约定(标准),一定是通信双方都认可的 但是这个协议不一定是认可面非常广的,即使是两个人之间的也可叫做协议 就好⽐⻅⽹友,彼此…

力扣740删除并获得整数和力扣1173第N个泰波那契数

力扣740删除并获得整数 给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] 1 的元素。 开始你拥有 0 个点…

systemverilog功能覆盖率

1 iff 如过满足条件则采样,iff可以理解为if covergroup iff_cov;coverpoint tr.data iff(!vif.reset) ; //复位时不采样 endgroup2 coverpoint和bin covergroup name_bin ;coverpoint tr.kind {bins zero {0}; //1个bin 代表kind 0bins low {[1:3]…

(十三)C++自制植物大战僵尸游戏多用户存档实现(二)

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs UserData.h 在头文件中定义了枚举类型openUserDataReturnType,用于表示打开用户数据文件的返回状态。FileExistError表示文件存在但是打开错误,FileExistCorrect表示文件在且正确&#xff0…

如何进行景气分析

景气分析是一种短期经济分析方法。主要分析短时间内(一般指一年内, 或几个月内)经济运行的态势,包括当前的状态和未来的趋势。景气分析可以为宏观经济政策提供重要的决策与参考信息,例如根据经济运行的方向、强弱可建议…

概念理解: DDR的寻址容量设计

主要内容:DDR寻址容量设计的概念理解示例。 DDR的数据存储在不同的bank上,你知道具体是如何通过数据总线和地址总线的配合,拿到所需的数据吗?通过下面这样一个简单的问题,我们来逐渐了解这个过程的实现。 DDR…

C++11 玩家不得不学的语法集 [持续更新-建议收藏]

文章目录 1.std::function 开启函数式编程之路2.std::bind 灵活处理函数调用和传参3. std::ref 传递引用的必要包装4.std::thread 标准库的多线程5.std::packaged_task 封装函数为可异步调用的对象[待续。。。] 1.std::function 开启函数式编程之路 std::function 是 C 标准库…

LeetCode 热题 100 题解:普通数组部分

文章目录 题目一:最大子数组和(No. 53)题解 题目二:合并区间(No. 56)题解 题目三:轮转数组(No. 189)题解 题目四:除自身以外数组的乘积(No. 238&a…

MySql运维篇

目录 一.日志 1.1日志分类 1.2Error Log 1.3BinaryLog 1.4SlowQuery Log 二.备份 2.1备份原因 2.2备份目标 2.3备份技术 2.3.1物理备份 2.3.2逻辑备份 2.4备份方式 2.4.1完全备份 2.4.2增量备份 2.4.3差异备份 2.5备份环境准备 2.6完全备份实验 2.6.1完全备…

Android 一键唤醒应用

Android 一键唤醒应用 最近收到客户需求,需要设备实现一键唤醒应用功能,本次以录音机为例,一键唤醒应用功能具体修改参照如下: /frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java public…

12.Ribbon饥饿加载

Ribbon默认是懒加载的,第一次使用Ribbon访问的时候才会去实例化对象,所以第一次访问比较耗时。 ribbon:eager-load:enabled: true # 开启饥饿加载clients: user-service #对user-service这个服务饥饿加载 多个微服务的写法: ribbon:eager-loa…

https协议的加密方式详解

各位大佬能多多点赞关注评论收藏,球球各位大佬们了!! ! 目录 1.为什么要加密? 2.如何加密 1.密钥(yue,第四声) 2.对称加密 3.非对称加密 4.公证机构 3.总结 1.为什么要加密?…

点云语义分割:DELA代码解读

论文标题: Decoupled Local Aggregation for Point Cloud Learning 代码地址:https://github.com/Matrix-ASC/DeLA 1. Dataloader 数据导入流程: 预处理得到.pth文件 -> S3DIS类定义 -> 根据配置文件S3DIS类实例化 -> 通过Dataload…

趋势分析 一元线性回归及显著性检验 GIS方法 Slope

slope斜率计算公式: 假设有三年的NDVI图像 加载3年栅格数据,公式中n取3计算分子左边: 3*(1*"1990.tif"2*"1991.tif"3*"1992.tif") 计算分子右边: 6*("1990.tif""1991.tif"&q…