B517ec32acf4041f425bf746b808f72d
Linux 下 Go Ethereum开发调试环境的搭建

发完十篇后再开启订阅!

配置基础环境

操作系统选择

因为我们是在搭建golang的开发环境, 所以推荐大家使用ubuntu 18.04 LTS.
主要是因为18.04 已经集成了比较新的golang 1.10 而不用再去引用第三方的ppa repo。
这样可以省去一些麻烦。因为我们后面的debug使用基于GUI的 gdlv 所以也推荐安装带有桌面的版本
unity, kde, xfce 看使用者个人的偏好。

相关工具安装

  1. 安装工具链:
    sudo apt update
    sudo apt install -y build-essential golang software-properties-common

  2. 安装相关的工具软件
    sudo apt install -y libdb++-dev libssl-dev libreadline-dev autoconf curl wget vim graphviz

  3. 配置golang 环境变量: $GOPATH 是一个非常重要的环境变量 所以后续安装的工具或者代码都要在这个路径之下。也是为了方便后续的调试开发工作。
    mkdir ~/go
    把$GOPATH下的bin目录加入PATH之中, 方便后续调用
    echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
    source ~/.bashrc

  4. 源代码获取: 从官方的github 中获取最新的代码
    如果需要从自己fork出来的github repo clone 可以参考如下命令。
    可以将官方的link替换为你自己的github repo link。
    go get -u github.com/ethereum/go-ethereum
    如果不需要 push 回github自己的repo, 仅仅是浏览分析可以用上面的官方链接

  5. 编译
    cd $GOPATH/src/github.com/ethereum/go-ethereum/cmd/geth
    go build
    如果没有什么错误发生, 应该可以看到geth的二进制文件生成在该目录下面

配置开发环境

golang的开发环境有很多选择, 例如 liteIDE, goland(收费), vscode 等等。
但是经过一段时间的摸索,作者还是找到了最匹配自己习惯的工具。 vim+vim-go 插件

插件的安装vim-go

  1. 作者因为长期使用vim的配置管理工具spf13 所以在这配置是按照spf13进行配置。读者也可以自行根据自己的习惯进行简化的配置. 使用vundle 即可.
  2. 如果使用spf13 则需要在 `/.vimrc.before.local 里面激活golang选项从而加载vim-go 插件
  3. 第一次使用时,需要首先去安装vim-go 所需要的二进制文件。 打开vim,在命令模式下输入命令 :GoInstallBinaries
  4. 之后就可以打开相关的源代码, 进行代码走读
  5. 图例
top Created with Sketch.