前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >以太坊go-ethereum项目源码本地环境搭建

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

作者头像
程序新视界
发布2022-05-06 09:48:33
5700
发布2022-05-06 09:48:33
举报
文章被收录于专栏:丑胖侠丑胖侠

如果要深入了解go-ethereum项目的实现与机制,看源代码是必不可少的。今天这篇博客就简单介绍一下如何在本地搭建项目的开发环境。

GO语言环境搭建

以win8为例,访问地址https://golang.org/dl/,下载windows版本。直接执行安装,默认会安装到C:\Go目录下,将 c:\Go\bin 目录添加到 PATH 环境变量中。 执行命令,验证安装配置成功:

代码语言:javascript
复制
C:\Users\Administrator>go version
go version go1.7.4 windows/amd64

开发ide

本篇博客以intellij idea 15为例。 首先安装go语言插件(地址https://github.com/go-lang-plugin-org)。进入idea的settings,选择plugins, Browse repositories,搜索go lang。具体操作如下图:

这里写图片描述
这里写图片描述

点击install,安装Go Lang Plugin。上图仅为参考,因为截图中的idea已经安装过插件了。如果无法直接下载,可在Manager repositories中配置一下地址:https://plugins.jetbrains.com/plugins/alpha/5047 然后再尝试下载。如果因网路原因无法下载,可考虑在https://plugins.jetbrains.com搜索go lang 找到插件(注意版本与插件中的一致)直接下载文件到本地,然后导入idea中,安装完成插件重启即可。

创建go项目

安装完成插件,在idea中创建项目,即会显示Go语言的项目。选择项目,配置SDK到Go安装的根目录。

导入项目

下载项目

通过git客户端,下载github上的go-ethereum项目(https://github.com/ethereum/go-ethereum.git)。

目录结构

此时,如果直接将项目导入到idea中,你会发现有很多错误。这是因为go-ethereum对项目的目录有一定的要求。 基础的目录结构需要按照以下路径:

代码语言:javascript
复制
-bin(可省略)

-pkg(可省略)

-src

   -github.com

      -ethereum

       -go-ethereum

       -project2(其他项目)
   -golang.org

因此,把下载之后的go-ethereum按照目录要求,放到指定的层级位置。然后再导入项目。

导入项目和配置

导入项目后,打开一个go文件时idea会提示配置SDK和Configure Go Libraries。SDK配置直接找到go语言的根路径或之前的配置即可。

Configure Go Libraries,点击此提示,进入配置选项,在下面的Project Libraries中添加当前项目根路径(此处需注意是上面目录结构src的上层目录),点击OK,即完成了GOPATH的配置。项目的external libraries中会显示GOPATH的相关文件。

引入依赖

当完成以上步骤之后,比如打开interface.go 你会发现import中"golang.org/x/net/context"为红色。 使用快捷键alt+enter,会提示执行go get命令。点击回车之后,idea会帮忙把相关的依赖添加到项目中。 此时,再回头看上面的目录结构中与github.com同级会出现一个golang.org的目录,此目录的内容即为刚刚下载的依赖内容。

总结

此篇博客只是作为一个简单的入门介绍,其中有很多坑需要自己去踩。本人踩过的坑也已经分享出来,有问题共同讨论。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GO语言环境搭建
  • 开发ide
  • 创建go项目
  • 导入项目
    • 下载项目
      • 目录结构
        • 导入项目和配置
          • 引入依赖
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档