Skip to content

Commit

Permalink
Update doc
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexiaChen committed Dec 3, 2022
1 parent a09c638 commit 7f24c89
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions doc/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,20 @@ CRITICAL please submit the following transaction:
tx crisis invariant-borken bank total-supply
```

然后我发现了是SDK的这个模块的BUG,但是没追究其原因,我又看了下,感觉`go.mod`里面的sdk版本是包含了这些Fixs的。但是我本机,不在容器里面编译
就可以在ubuntu 20.04的环境里面运行,所以我把Dockerfile里面的golang版本和ubuntu的版本都升级到跟我本机编译开发环境保持一致,
然后我发现了是SDK的这个模块的BUG,但是没追究其原因,我又看了下,感觉`go.mod`里面的sdk版本是包含了这些Fixs的

- https://github.com/cosmos/cosmos-sdk/issues/9159
- https://github.com/cosmos/cosmos-sdk/pull/9229
- https://github.com/cosmos/cosmos-sdk/issues/4795
- https://github.com/cosmos/cosmos-sdk/issues/4803
- https://github.com/cosmos/cosmos-sdk/pull/4854



但是我本机,不在容器里面编译就可以在ubuntu 20.04的环境里面运行,所以我把Dockerfile里面的golang版本和ubuntu的版本都升级到跟我本机编译开发环境保持一致,

最后运行docker compose的时候,节点就没有报错了,并且4个validators节点正常出块,并且同一高度的block的hash是一致的。

其实Dockerfile还可以优化,直接把golang的alpine Linux版本删除,在ubuntu上构建项目,他们文昌链为什么会这样做,用Alpine Linux编译,然后拷贝到
ubuntu上,是因为golang的官方Docker镜像就是推荐用Alpine Linux的镜像版本,而且他们想用musl编译项目,让irita的二进制全静态,不依赖任何动态库,所以
Dockerfile里面又要下载muslc的静态库.a文件之类的,搞得很烦人。其实完全不必这么麻烦,都容器运行了,动态静态无所谓,所以可以考虑改天优化掉。
其实Dockerfile还可以优化,直接把golang的alpine Linux版本删除,在ubuntu上构建项目,他们文昌链为什么会这样做,用Alpine Linux编译,然后拷贝到ubuntu上,是因为golang的官方Docker镜像就是推荐用Alpine Linux的镜像版本,而且他们想用musl编译项目,让irita的二进制全静态,不依赖任何动态库,所以Dockerfile里面又要下载muslc的静态库.a文件之类的,搞得很烦人。

其实完全不必这么麻烦,都容器运行了,动态静态无所谓,所以可以考虑改天优化掉。

0 comments on commit 7f24c89

Please sign in to comment.