这里写自定义目录标题

  • 本次以太坊编译的环境
    • 进行编译

本次以太坊编译的环境

编译器goland,版本2020、Go语言版本1.17。下载源码:https://github.com/ethereum/go-ethereum对于2020版本的Goland编译器不能使用1.18版本的go语言,因为会导致导入time包的报错,若使用1.16版本的go语言则go mod命令不能正常使用,会出现下面错误:go mod tidy: go.mod file indicates go 1.17, but maximum supported version is 1.16这是golang版本低导致的问题,需要升级到1.17版本。

进行编译

  1. 用Goland打开下载好的源码

  2. 调整goland的setting;
    需要设置的由GOROOT和GOPATH,GOROOT是本地go语言的环境,GOPATH里面存的是下载的依赖包存放的地方。
    如果GOROOT显示添加错误,可以在下载的golang文件下的src\runtime\internal\sys中打开zversion.go,添加下面的语句:
    const theVersion = go1.17.6

  3. 在控制台中输入go mod tidy来进行依赖包(以太坊源码中import的包)的下载;

  4. 然后打开cmd\geth\main.go文件,并进行以下设置,其中Name可以随便写,需要配置的是Directory和Output directory。其中Directory的路径是geth文件存放的路径、Output directory的路径是存放编译好的文件;

  5. 配置好之后点击开始来进行编译,下面是运行的结果;

    本文章借鉴的文章:https://blog.csdn.net/xgocn/article/details/120109780
    对大佬表示感谢。