grin/doc/translations/build_ZH-CN.md

127 lines
4.5 KiB
Markdown
Raw Normal View History

# Grin - 构建,配置和运行
*阅读其它语言版本: [English](../build.md), [Español](build_ES.md), [日本語](build_JP.md), [Korean](build_KR.md).*
## 支持的平台
从长远来看大多数平台都可能会得到一定程度的支持。Grin 的编写语言 `rust` 已为大多数平台建立了目标。
到目前为止进度:
* Linux x86\_64 and macOS [grin + 挖矿 + 部署]
* 暂时不支持 Windows 10 [部分 grin。暂时不支持挖矿。希望得到帮助]
## 要求
* rust 1.34+ (使用 [rustup]((https://www.rustup.rs/))- i.e. `curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env`)
* 如果已经安装过了 rust只需要运行 `rustup update` 升级版本
* clang
* ncurses 和 libs (ncurses, ncursesw5)
* zlib libs (zlib1g-dev or zlib-devel)
* pkg-config
* libssl-dev
* linux-headers (有报告指出在 Alpine linux 上是必需的)
* llvm
对于基于 Debian 的发行版DebianUbuntuMint 等一行就可以搞定rust 的安装除外):
```sh
apt install build-essential cmake git libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm
```
macOS 用户:
```sh
xcode-select --install
brew install --with-toolchain llvm
brew install pkg-config
brew install openssl
```
## 构建步骤
```sh
git clone https://github.com/mimblewimble/grin.git
cd grin
cargo build --release
```
Grin也可以在 debug 模式下构建(不带 `--release` 参数,或是使用 `--debug``--verbose` 参数),但是由于加密的开销很大,这将影响快速同步的性能。
## 构建错误
详见 [故障排除](https://github.com/mimblewimble/docs/wiki/Troubleshooting)
## 构建得到了什么?
成功的构建可以提供给您:
* `target/release/grin` - grin 主要的二进制文件
默认情况下grin 创建和使用的所有数据,配置和日志文件都位于隐藏的 `~/.grin` 目录中(位于用户主目录下)。
您可以通过编辑文件 `~/.grin/main/grin-server.toml` 来修改所有配置。
也可以让 grin 在当前目录中创建其数据文件。只需要运行
```sh
grin server config
```
它将在当前目录中生成一个 `grin-server.toml` 文件,该文件已预先配置为使用当前目录中的所有数据。
在包含 `grin-server.toml` 文件所在的目录下运行 grin 将使用该文件中的配置,而不是默认的 `~/.grin/main/grin-server.toml`
在测试时,将 grin 二进制文件放在您的 `PATH` 中,如下所示:
```sh
export PATH=`pwd`/target/release:$PATH
```
假设您从 Grin 安装的根目录运行。
然后您可以直接运行 `grin`(尝试使用 `grin help` 获得更多选项)。
## 配置
Grin 尝试使用合理的默认值运行,并且可以通过 `grin-server.toml` 文件进行进一步配置。
该文件是在首次运行时由 grin 生成的,并且包含有关每个可用选项的文档。
虽然建议您通过 `grin-server.toml` 配置 grin 服务器,但也可以提供命令行开关以覆盖文件中的任何设置。
有关 grin 命令及其开关的帮助,请尝试:
```sh
grin help
grin wallet --help
grin client --help
```
## Docker
```sh
docker build -t grin -f etc/Dockerfile .
```
对于 testnet, 使用 `etc/Dockerfile.testnet` 代替
您可以绑定安装您的 grin 缓存以在容器中运行。
```sh
docker run -it -d -v $HOME/.grin:/root/.grin grin
```
如果您更喜欢使用名为 volume 的 docker则可以传递 `-v dotgrin: /root/.grin` 以替换。
使用命名卷在创建卷时会复制默认配置。
## 跨平台构建
Rustcargo可以在许多平台上构建 grin因此从理论上讲可以在低功耗设备上运行 `grin` 作为验证节点。要在 x86 Linux 平台上交叉编译 `grin` 并生成 ARM 二进制文件,例如,为一个 Raspberry Pi。
## 使用 grin
Wiki页面 [Wallet User Guide](https://github.com/mimblewimble/docs/wiki/Wallet-User-Guide) 和链接页面提供了有关我们提供的功能,故障排除等更多信息。
## 在 Grin 中挖矿
请注意,针对 Grin 的所有挖矿功能已移至一个名为 [grin-miner](https://github.com/mimblewimble/grin-miner) 的独立软件包中。
一旦您的 Grin 代码节点启动并运行,就可以通过针对正在运行的 Grin 节点构建并运行 grin-miner 开始挖矿。
为了使 grin-miner 能够与您的 grin 节点进行通信,请确保在您的 `grin-server.toml` 配置文件中有 `enable_stratum_server = true`,并且您正在运行钱包监听器(`grin wallet listen`)。