go-ethereum源码搭建环境

以太坊搭建联盟链详细教程 虫洞社区签约作者介绍 风逝 区块链 云旗天下 安装以太坊geth客户端 需要先安装go环境 安装教程 下载以太坊源码 github.com/ethereum/go-ethereum 进入 go-ethereum 目录 cd go-ethereum make geth 然后执行make all, 顺便安装一下其他一些命令。 创建组织 在桌面创建两个文件夹,a,b 两个文件夹,代表两个组织 在两个... 阅读详情

阅读源码对深入理解以太坊和区块链的原理是非常有用的,通过阅读源码可以知道交易、区块等核心数据结构的组成,可以对区块链的底层实现原理和运行过程有一个更清晰的认识,很多不明确的问题都可以从源码中找到答案。

网上以太坊的技术资料很多,但多数是关于智能合约和应用开发的,真正涉及底层实现和源码的很少。本文介绍以太坊go-ethereum源码的阅读环境配置,之后会陆续介绍一些源码阅读心得体会。以太坊有8种语言的实现,选择go-ethereum是因为它是以太坊的官方实现版本,包含了以太坊的所有特性,比较权威和全面,它是用go语言编写的,go语言学习起来比较容易,而且可读性也比较好。

阅读源码有一个代码编辑器就够了,但是为了更好的体验和更高的效率,还需要做一些配置,比如代码高亮、代码跳转等。

安装go语言

为了能支持代码跳转,需要安装go语言,安装教程参考这篇文章,其中最重要的是要保证正确设置了GOPATH,这样才能进行代码跳转。如果想学习go语言,可以看一下在线教程A Tour of Go,或者去看《The Go Programming Language》这本书。

配置编辑器

看代码可以选择你喜欢的代码编辑器,我用的是Visual Studio Code,为了支持go语言代码高亮,需要安装一个插件。在vscode的插件面板中搜索lukehoban,安装即可。

接下来安装一些go语言工具(有些需要翻墙),在命令行中执行以下命令安装:


    
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/zmb3/gogetdoc
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/acroca/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/cweill/gotests/...
go get -u -v golang.org/x/tools/cmd/godoc
go get -u -v github.com/fatih/gomodifytags

下载源码

以太坊代码都托管在github上,它的代码经常更新,每次更新会加入一些新的东西,也可能改变代码的组织架构,所以最好选择一个稳定版阅读,这里以1.5.9版本为例。

首先在GOPATH/src下创建github.com/ethereum目录:


    
$ mkdir -p $GOPATH/src/github.com/ethereum

然后进入上面创建的目录,下载go-ethereum项目源码:


    
$ cd $GOPATH/src/github.com/ethereum
$ git clone https://github.com/ethereum/go-ethereum.git
$ cd go-ethereum
$ git checkout v1.5.9

上面通过git clone下载源码,然后通过git checkout检出指定版本的代码,如果想使用其他版本,在git checkout中指定相应的版本号即可。

下载完成后目录结构应该是这样的:


    
GOPATH/src
├── github.com
└── ethereum
└── go-ethereum

路径和目录名一定要与上面的一致,不能放到其他地方或者改成其他名字,因为go语言是按照路径搜索包的。

其实上面最重要的就是要正确设置了GOPATH,并且要把源码放到GOPATH/src中正确的路径中。接下来就可以开始阅读代码了。


如果对以太坊开发有兴趣,推荐两个教程:

1.适合区块链新手的以太坊DApp开发:

http://xc.hubwiz.com/course/5a952991adb3847553d205d1

2.用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建以太坊DApp电商平台:

http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6

如果想加入以太坊技术开发群可以加微信拉你入群。


VSCode搭建Go开发环境(2020-04-13更新) 现在Go1.14都已经发布好些日子了,之前发的Go环境搭建教程早已过时,只是因为时间问题一直没来得及更新 这次怀着愧疚的心情,在凌晨四点时,将这教程进行一个更新 注意:**本教程最大的好处是不需要梯子。**直接在墙内可进行一切操作,文章写给纯小白的,部分Linux常识解释的过多,熟悉的人请略过 Go的安装 安装基本还是之前的老样子,不过现在的安装早已省事不少,不再需要配置环境变量。直接去官网,下载... 阅读详情

相关推荐

go-ethereum(geth)源码在eclipse下搭建开发环境

geth环境搭建备忘一、环境版本:window10 64位系统,1.8.4 go-ethereum版本1.jdk:1.82.go:1.103.eclipse:Eclipse Java EE IDE for Web Developers.Version: Oxygen.2 Release (4.7.2)Build id: 20171218-0600OS: Windows 8, v.6.2, x86_...

mbcsdn的博客 1192

go-ethereum源码阅读环境

阅读源码对深入理解以太坊和区块链的原理是非常有用的,通过阅读源码可以知道交易、区块等核心数据结构的组成,可以对区块链的底层实现原理和运行过程有一个更清晰的认识,很多不明确的问题都可以从源码中找到答案。 网上以太坊的技术资料很多,但多数是关于智能合约和应用开发的,真正涉及底层实现和源码的很少。本...

chuhuan6596的博客 382

以太坊(go-ethereum)编译调试环境搭建

以下步骤都是在MacOs上操作的,但同样适合Ubuntu,只是有几个小点有所不同,我会标注出来编译1. Go环境搭建    Mac: (brew是一个类似ubuntu apt-get的工具,用来在终端安装软件的)brew update && brew upgradebrew install gitbrew install mercurialbrew install go    Ub...

区块链斜杠青年(爱踢门) 8498

以太坊搭建私有链(非常详细!!!)

我的系统:CentOS7 64位环境需要:Go 1.9以上版本geth工具。

做工作不具体化,想问题就会简单化 5202

go-ethereum环境搭建及目录结构介绍

go-ethereum代码阅读环境搭建 Ubuntu 16.04 64bit/Mac 安装GO 配置环境变量(GOROOT, GOPATH, GOBIN) 下载源码: $ cd $GOPATH; $ mkdir src $ cd src #进入go项目目录,创建src目录, 并进入src目录 $ git clone https://github.com/ethereum/go-...

我不是大牛 1857

区块链学习笔记(一)Ethereum-Go开发环境搭建

Ethereum是2.0版区块链的主流应用,它将区块链从电子货币(digital cash)中延伸出来,作为一个分布式数据库使用,成为共识系统中的基础支撑。Ethereum引入了“智能合约”的概念,使得基于Ethereum的区块链能够构建多样化的去中心化应用。

Archmage的专栏 6698

ethereum入门--Go Ethereum环境搭建

Go Ethereum简介 Go Ethereum是以太坊协议的三个原始实现(以及C ++和Python)之一。 它是用Go编写的,完全开放源代码并在GNU LGPL v3下获得许可。Go Ethereum可以作为独立的客户端Geth使用,您可以将其安装在任何操作系统上,也可以作为可以嵌入Go,Android或iOS项目的库。 搭建基于以太坊go-ethereum的环境 1.安装go-ethere...

weixin_33888907的博客 982

win10搭建vscode_go-ethereum调试

本文档描述win10搭建vscode_go-ethereum调试的方法步骤。

goland环境配置_Ethereum以太坊源码分析(一)前言与环境搭建

本文参考:Github - go-ethereum-code-analysis前言之前在Github看到一个很棒的Ethereum源码分析笔记,所以想跟着这个笔记把Ethereum的代码过一遍,希望通过这个已有的笔记和自己的分析,能总结出一些自己的东西,并以此方式记录下来,用输出来激励自己的输入。因为之前有过fabric的开发经历,所以,我选择了go-ethereum这个项目来对ethereum的...

weixin_35558751的博客 414

VScode的go语言例子和安装的工具

例子就是Hello,World,工具包含gocode,godef,golint,go-outline,goreturns,gorename,gopkgs,go-symbols,guru,go-find-references还有F5调试用到的工具dlv,这些工具要安装git才能下载,不想下载的拷贝一下里面的文件也可以实现离线安装。

光耦继电器电路分析

光耦电路的分析笔记

MingYue_SSS的博客 6873

区块链以太坊go-ethereum源码解析(一)

咱们先来搭建环境 安装完CentOS7以后,我们下载git、wget、vim、gcc-c++、ntp组件、nodejs以及添加epel第三方安装源。 本步骤非常重要,可以节约大家在后续安装Ethereum以及开放框架时经常出错而到处摸索的时间。 简要介绍下各个工具的说明: # ntp:网络时钟同步组件;Ethereum的rpc网络需要时间同步; # nodejs:ethereum前端开发...

dqxiaoxiao的博客 3003

【全部更新】2025金地杯E题山西省大学生数学建模思路代码文章教学:高速铁路牵引供电系统能耗优化

问题四将列车的运行速度与发车时间同时作为优化变量,建立联合优化模型,目标是在考虑电价机制和调度均衡性的前提下,使牵引供电系统一天内的总电费支出最小。问题三在考虑分时电价机制的基础上,基于遗传算法优化列车速度组合,使牵引供电系统一天内的总电费支出最小。然而,在实际运营中,不同时段的电价差异显著,合理安排列车的运行时间与运行速度,可有效降低系统的总电费支出。本研究聚焦于高速铁路牵引供电系统的能耗与电费优化问题,针对列车运行速度、发车时间与分时电价的综合影响,提出一系列数学模型,以实现系统能耗与电费的最小化。

xb459149247的博客 5289

go-ethereum源码阅读环境搭建

go-ethereum源码 go-etherrum源码可以从github上面下载,或者使用git克隆到本地。 搭建go ethereum调试环境 windows 10 64bit 首先下载go安装包进行安装,因为GO的网站被墙,所以从下面地址下载。 https://studygolang.com/dl/golang/go1.9.1.windows-amd64.msi 安装好之后...

象牙塔下的渣渣 2688

微机原理-基于8086电压报警2.5V仿真系统设计

*单片机设计介绍,微机原理-基于8086电压报警2.5V仿真系统设计。

2201_75940997的博客 1081

基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真

本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。

numpy6sculptor的博客 622

以太坊go-ethereum项目源码本地环境搭建

如果要深入了解go-ethereum项目的实现与机制,看源代码是必不可少的。今天这篇博客就简单介绍一下如何在本地搭建项目的开发环境。GO语言环境搭建以win8为例,访问地址https://golang.org/dl/,下载windows版本。直接执行安装,默认会安装到C:\Go目录下,将 c:\Go\bin 目录添加到 PATH 环境变量中。 执行命令,验证安装配置成功:C:\Users\Admi

程序新视界 3万+

【专栏目录】

🌟 深度学习工程师的终极武器库!本专栏深度解析近3年CV领域最前沿的YoloV8改进方案,每一种方法都经过实战验证,性能显著提升!🌟。

m0_47867638的博客 1万+

go-ethereum 源码阅读环境搭建

1. 安装go运行环境https://dl.google.com/go/go1.10.2.windows-amd64.msi  2. 安装git工具3. 安装gcc(go编译geth需要使用)https://jaist.dl.sourceforge.net/project/tdm-gcc/TDM-GCC%20Installer/tdm-gcc-5.1.0-3.exe4. 安装go集成开发环境,这里...

qq_36391986的博客 721

抖音小程序:解决获取手机号报错 getPhoneNumber:fail auth deny,登录注册时需要获取用户手机号,getPhoneNumber一直提示错误(Uniapp抖音小程序报错也能解决)

抖音字节小程序获取手机号报错getPhoneNumber:fail auth deny,抖音 小程序 获取手机号 报错 getPhoneNumber:fail auth ,抖音小程序获取手机号始终返回拒绝,抖音小程序获取手机号,已经过了试运营期但依旧报错如何解决,调用 tt.getPhoneNumber 接口报错,登录注册时需要获取用户手机号,getPhoneNumber一直提示getPhoneNumber:fail auth deny,此能力仅支持小程序通过试运营期后可用,默认获取权限,无需申请;unia

✅ 精选推荐文章 4304

深度解构事务码 SQF:Support Query Framework 与 ABAP 静态分析实战

某制造企业在年度审计前,需要确认自定义发票过账程序 ZFI_INV* 系列是否存在硬编码公司代码与未捕获异常。技术团队在字段填入ZFI_INV*后,勾选与规则,执行扫描。SQF 生成的 ALV 报告列出 42 个警告,其中 17 条与抛出 CX_SY_NO_HANDLER 相关,8 条涉及动态 SQL 注入风险。结果导出至 Excel 供开发整改,并在 ATC 阶段验证修复。此过程较手工逐个执行 Code Inspector 节省超 80 % 时间。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 215

go编译so win10_以太坊go-ethereum项目源代码本地编译——Windows10

前言最近区块链项目火起来了,这不咱公司也在“闲暇之际”来搞两铲。github上有以太坊的源代码go-ethereum,大家可以先去看看。如果你不打算编译,只是想测试下以太坊私有链搭建,挖挖矿miner.start(1),部署部署智能合约,可以直接移步这里,或者网上搜索以太坊私有链搭建。后面主要讲讲我如何在win10系统下,利用eclipse来build生成geth.exe可执行文件,自己去编译的好...

weixin_39729784的博客 567

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 82

基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境

第一、先安装geth的CLI环境sudo apt-get install geth,这个很重要 第二、下载源代码 git clone https://github.com/ethereum/go-ethereum 第三、依赖环境 注:(重要)先通过此链接配置GO语言的开发环境:https://github.com/ethereum/go-ethereum/wiki/Insta

坤宇的博客 8269

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

go-ethereum代码阅读环境搭建

go-ethereum源码解析 因为go ethereum是最被广泛使用的以太坊客户端, 所以后续的源码分析都从github上面的这份代码进行分析。 搭建go ethereum调试环境 windows 10 64bit 首先下载go安装包进行安装,因为GO的网站被墙,所以从下面地址下载。 https://studygolang.com/dl/golang/go1.9.1.windows-amd64...

Show something 586

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: java开发区块链只需150行代码
下一篇: 如何使用 Java 语言为 Hyperledger Fabric 编写区块链链代码智能合约
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值