macOS 安装 go-sero 及本地调试 - Go语言中文社区

macOS 安装 go-sero 及本地调试


下载源码

go get github.com/sero-cash/go-sero

如果失败,就分别检出两个项目工程

cd $GOPATH/src/github.com/sero-cash/
git clone https://github.com/sero-cash/go-sero.git
git clone https://github.com/sero-cash/go-czero-import.git

编译

cd $GOPATH/src/github.com/sero-cash/go-sero
make all

测试是否成功

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GOPATH/src/github.com/sero-cash/go-czero-import/czero/lib
./build/bin/gero version

输出如下

start libczero ...


                         sssSSssss
                   sSSSSSSSSSSSSSSSSSSSs
               sSSSSSSSSSSSSSSSSSSSSSSSSSSs
             sSSSSSSss               ssSSSSSSs
          ssSSSSSSs        s sss        sSSSSSSs
         sSSSSSs     sSSSSSSSSSSSSSSs      sSSSSS
        sSSSS     +SSSSSSS+        sSSSsss   SSSSSs
      sSSSSs   sSSSSSSSs   sssSss      SSSS    sSSSS
      SSSS     SSSSSs     sSSSSSSSSs   sSSSSs   sSSSSs
    sSSSS    sSSSSSs     SSSSSSSSSSSs   SSSSSs    SSSSs
    SSSSs    SSSSSS     SSSSSSSSSSSSSs  SSSSSSSs   SSSS
   SSSSs    SSSSSSs    sSSSSSSSSSSSSSSs SSSSSSSSs  sSSSs
  sSSSs     SSSSSSs      SSSSSSSSSSSSSssSSSSSSSSSs  +SSSs
  SSSS      SSSSSSs      sSSSSSSSSS+SSSSSSSSSSSSSS  sSSSS
 sSSSs      SSSSSS         sSSSSSSSSSSsSSSSSSSSSSSs ssSSS
 sSSSs  s   SSSSSSs           SSSSSSSSSSssSSSSSSSSS   SSSs
 SSSS  sS    SSSSSSs             SSSSSSSSSs sSSSSSS   SSSs
 SSSss sSs   sSSSSSSs             ssSSSSSSSS  sSSSS   SSSs
 SSS+s SSS    sSSSSSSS               sSSSSSSS ssSSS   SSSS
 SSSSs sSSSs    sSSSSSSSss             sSSSSSSs SSS   SSSs
 SSSS  sSSSSS     SSSSSSSSSs            sSSSSSSs SS   SSS+
 SSSSs  SSSSSSS     sSSSSSSSSS            SSSSSs ss   SSSs
  SSS+  sSSSSSSSSSs   sSSSSSSSSSs         SSSSSS ss  +SSS
  SSSS   SSSSSSSSSSSss   sSSSSSSSs        sSSSSS    sSSSS
  sSSSs  sSSSSSSSs sSSSs   sSSSSSSs       SSSSSs    sSSSs
   SSSSs  sSSSSSSs  SSSSSSs sSSSSSSs      SSSSSs   sSSS+
    SSSS    SSSSS+   SSSSSSSssSSSSSs     sSSSS    sSSSS
    sSSSS    SSSSS   ssSSSSSSsSSSSss    sSSSSs    SSSS
      SSSSss   SSSs     SSSSSSSSSs     SSSSS    sSSSSs
       SSSSs    sSSs      +SSSSS     sSSSSs   ssSSSs
        sSSSSS    sSSSS           sSSSSs     SSSSSs
          SSSSS+ss     sSSSSSSSSSSSS      sSSSSSs
            SSSSSSss                   ssSSSSSSs
             sSSSSSSSsss           ssSSSSSSSS
                sSSSSSSSSSSSSSSSSSSSSSSSSSs
                   ssSSSSSSSSSSSSSSSSSs
                          rrssssrr


zero init ...
***CZERO*** nettype : 2
***CZERO*** b_path : /Users/xingyongtao/go/src/github.com/sero-cash/go-czero-import/czero/lib
***CZERO*** account_dir : /Users/xingyongtao/Library/Sero/keystore
load keypair from: /Users/xingyongtao/go/src/github.com/sero-cash/go-czero-import/czero/data/output
load keypair from: /Users/xingyongtao/go/src/github.com/sero-cash/go-czero-import/czero/data/input
load keypair from: /Users/xingyongtao/go/src/github.com/sero-cash/go-czero-import/czero/data/license
Gero
Version: 0.3.0-beta.rc.5
Git Commit: 0ae860d136195d775367e1ca5bf601c1394a4468
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.11.4
Operating System: darwin
GOPATH=/Users/xingyongtao/go
GOROOT=/usr/local/Cellar/go/1.11.4/libexec

注意,我机器上安装的Go版本是1.11.4,也就是官方不支持的高版本(仅支持1.10.x)。但我也编译成功了。

GoLand调试

如果想本地调试,也是没问题的。

1. 配置

配置成package模式

  • Run Kind:下拉选中Package
  • Package Path:github.com/sero-cash/go-sero/cmd/gero/,我们是要调试gero命令,因此填的是gero包的地址
  • Working directory:/Users/xingyongtao/go/src/github.com/sero-cash/go-sero/,工程目录
  • Program arguments:示例填version,如果想调试其他子模块/子命令,填相应的即可。


    Package

一般的包调试,到这步点击应用,应该就可以了。
不过gero比较特殊,需要一些动态链接库。

2. 增加动态库链接路径

配置环境变量,指定动态库链接路径
点击Environment,添加LD_LIBRARY_PATHName就填LD_LIBRARY_PATHvalue填它的值$LD_LIBRARY_PATH:$GOPATH/src/github.com/sero-cash/go-czero-import/czero/lib

如果GOPATH没设置,也可以使用绝对路径代替上述GOPATH

Environment

3. DEBUG

设置断点,就可以调试了。比如我设置在了打印Logo处~


DEBUG
版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/7265f5989f92
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-12 11:45:23
  • 阅读 ( 1181 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢