From c71ef5cf99ea8b2db40e981510f50d9b1842e7fe Mon Sep 17 00:00:00 2001 From: 0x5459 <0x5459@protonmail.com> Date: Wed, 14 Jun 2023 16:20:31 +0800 Subject: [PATCH 1/2] remove .DS_Store --- .DS_Store | Bin 10244 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index ebd4d9105238411da8b7aae568d07dc41f62a2a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHMdu$X%7@u!j%C0Q!wpLn}f(He8ozPl9D+1TvAtJ>VuB8v4?cMFtZrIyBZuhQ0 zsTBQF(LYS&p@|{!{lI?&G#VpDjbfsSRvS!AG%->BfEZtBB++knw%5Cs5)&V3%ucfN z&3un}{O0?1c4i47P@ht&3Gop^czh_8M9i*|sGL6I66bQtkOJBhy{9@HGvkSInjXVL zz(c@8z(c@8z(ZiNAb@)|P5d-Qz1%~5Ig8+R$`0$}L;L<@xomU5D&Jh4P*gXg$m7e6pMMHJ_fB1|T)Cz^(VKNQ z08MC${VK#HF=9pgtc2V42hoJCS$0*`FmQSKQwpZ?g1`&Yg`MGEvoCB%?37g>Np7dL zrik4eb<54Bsb|WO=r&F5>yk=?reQ}kLrprynxdl0j#kZ3%)WXvWhj=@PM8Utj=H4s z{{EF!EBwCdn%V)sufMjY#_wBIQ#CLk@MR0C*KF*L@7v#hVBp?kbO!jIao& zYo=jsQG2DoGdJ>n7d%f@)fmf zgBu#dLq$??iC8MmXiaOD7S+|3K25QE+ap#?H5AS0>A+<$Y;BjOCWT^nOlUSDadoIf zDlRIYDa&oCsJ17i+54nQo_Dyj=g8s?1v}epD%47mPVs^xnKwt4w^KU3HTS$mBkZzJB{p2t?N=}eh$Z2whyhlDJ!{kfyE%|}`NPZ!g$rYFag&;vO zl)x-l1WRBk_+cf~K|KVa0k%LGnxO?cAqFb!f*wdf8ur3I*bn!^18^7~f`{QKoPa0c zDR>%QhBx6YI16vXhwvGE4#V&jdN2j$e0juuvxCBkgq+29BEgBeF)loW0XVB-ws_-2p4x&Tr0(Tu97t1{_B?Suk0B&Y zVbz7=VjhD>DqvNA#WEhlRpOkgSY1&gU{FeVtm?0rhVeu@6>G)S0tTm)KQwEmT)t+l zC`yFB90b-*uwp%r0VeVPw1=M~pOW+BYjP1i{13n?~u6cmVqfxf*5EI0rIa1aLJKJ@Pg(Ze5wBXA6k!{g}T&%pEW0=x*P;557n zufgl^2D}R&p`U*P7svST<`K_j6fR}^Z}zsl^TNR+1t;BY+1*;>=IFM3HF?gq{D{*- zCN|RHq@kNe4{~WNiNwI|S|KXwB5|jbB0AQr?2Sygt#r?|bhF2M@!XlS7hZD4J7L?| z_wO} zxAO9a78L%>5|5+IPr#^9s(|LZ6I|33*v z>J7m|z(e5QLICnZ;ZQxcK5}9n+Y!BM_u Date: Wed, 14 Jun 2023 16:21:19 +0800 Subject: [PATCH 2/2] chore(*): formatting docs with `autocorrect` --- docs/intro/ha.md | 4 +- docs/intro/join-a-cs.md | 2 +- docs/ref/Venus-Worker.md | 2 +- docs/zh/README.md | 4 +- docs/zh/TODO.md | 32 +++++----- docs/zh/about/README.md | 6 +- docs/zh/developer/README.md | 56 ++++++++-------- docs/zh/developer/data-by-id.md | 74 +++++++++++----------- docs/zh/intro/README.md | 4 +- docs/zh/operation/README.md | 24 +++---- docs/zh/operation/chain-mng.md | 20 +++--- docs/zh/operation/deploy-a-cs.md | 58 ++++++++--------- docs/zh/operation/ha.md | 16 ++--- docs/zh/operation/join-a-cs.md | 70 ++++++++++---------- docs/zh/operation/simple-load-balancing.md | 12 ++-- docs/zh/operation/venus-daemon.md | 52 +++++++-------- docs/zh/operation/venus-run-in-docker.md | 12 ++-- script/download.js | 2 +- 18 files changed, 225 insertions(+), 225 deletions(-) diff --git a/docs/intro/ha.md b/docs/intro/ha.md index a3d380263..e9963c389 100644 --- a/docs/intro/ha.md +++ b/docs/intro/ha.md @@ -42,9 +42,9 @@ make ## proxy(optional) There are many options for the proxy, including load balancing such as nginx, slb, etc., but note that it needs to support websocket and custom http headers. Take nginx as an example here -install nginx: https://www.nginx.com/resources/wiki/start/topics/tutorials/install +install nginx: https://www.nginx.com/resources/wiki/start/topics/tutorials/install -nginx config: +nginx config: ``` user nginx; worker_processes auto; diff --git a/docs/intro/join-a-cs.md b/docs/intro/join-a-cs.md index c0b8eb80d..a52737f9d 100644 --- a/docs/intro/join-a-cs.md +++ b/docs/intro/join-a-cs.md @@ -208,7 +208,7 @@ Initialize work space. ./dist/bin/venus-sector-manager daemon init ``` -### Create a miner-id(optional) +### Create a miner-id (optional) Skip this step if you already have a miner-id. diff --git a/docs/ref/Venus-Worker.md b/docs/ref/Venus-Worker.md index c966a68f1..9fbf23e50 100644 --- a/docs/ref/Venus-Worker.md +++ b/docs/ref/Venus-Worker.md @@ -126,4 +126,4 @@ Running `./venus-sealer storage list`, the result is similar to the following In venus-sealer, run the command ```venus-sealer sectors pledge``` to accumulate power. Run the command ```venus-sealer sectors list``` to check the status of sealing. -***Note: if the Rust code prompts permission error, you can add /var/tmp/filecoin-parents,/tmp/bellman.gpu.lock/bellman.priority.lock and 777 permissions*** +***Note: if the Rust code prompts permission error, you can add /var/tmp/filecoin-parents,/tmp/bellman.gpu.lock/bellman.priority.lock and 777 permissions*** diff --git a/docs/zh/README.md b/docs/zh/README.md index 304953fc6..16a8bc005 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -9,7 +9,7 @@ footer: MIT Apache dual Licensed

稳定&安全

-

智子自2021年1月30日起持续同步Filecoin主网,历经多次迭代升级,为不同类型的用户提供稳定、安全的节点服务

+

智子自 2021 年 1 月 30 日起持续同步 Filecoin 主网,历经多次迭代升级,为不同类型的用户提供稳定、安全的节点服务

高可用

@@ -18,6 +18,6 @@ footer: MIT Apache dual Licensed

大家的节点服务

-

智子旨在为每个Filecoin生态系统参与者提供服务,通过智子的帐户管理功能就能够轻松管理SP、SC和Dapp等节点服务使用者

+

智子旨在为每个 Filecoin 生态系统参与者提供服务,通过智子的帐户管理功能就能够轻松管理 SP、SC 和 Dapp 等节点服务使用者

\ No newline at end of file diff --git a/docs/zh/TODO.md b/docs/zh/TODO.md index 91e1d37cc..7d69de7b4 100644 --- a/docs/zh/TODO.md +++ b/docs/zh/TODO.md @@ -1,39 +1,39 @@ ## 原则 -  基于目前的需要,先从重构guide和modules模块,让两块联动,形成比较易读的venus集群部署介绍. +  基于目前的需要,先从重构 guide 和 modules 模块,让两块联动,形成比较易读的 venus 集群部署介绍。 -- modules模块存储各组件的简介,将不相干的文档移到对应位置 +- modules 模块存储各组件的简介,将不相干的文档移到对应位置 -- guide和modules对于组件介绍存在很多重复的,只保留一份 +- guide 和 modules 对于组件介绍存在很多重复的,只保留一份 -- modules模块组件介绍老旧,超链接到项目的介绍文档,避免项目内更新后doc中不及时及重复劳动 +- modules 模块组件介绍老旧,超链接到项目的介绍文档,避免项目内更新后 doc 中不及时及重复劳动 -- guide将组件介绍,编译构建,部署文档独立 +- guide 将组件介绍,编译构建,部署文档独立 -- guide模块增加QA模块,将venus discussion的问题以超链接方式统一到QA模块 +- guide 模块增加 QA 模块,将 venus discussion 的问题以超链接方式统一到 QA 模块 -- 部署模块尽量少一些设计的介绍,简明扼要,每个指定的操作尽量不涉及不相干的,以免造成误解 +- 部署模块尽量少一些设计的介绍,简明扼要,每个指定的操作尽量不涉及不相干的,以免造成误解 ## TODO list -- [ ] modules模块 +- [ ] modules 模块 - [ ] 引导页内容更新 - [ ] 不相关文档移走 - [ ] 文档命名一致 - [ ] 组件介绍匹配项目进度 - [x] 编译构建独立到一个文档 - - [ ] 组件文档移除从项目中搬过来的内容,用超链接 - - [ ] market和cluster模块的技术文档移到modules模块, + - [ ] 组件文档移除从项目中搬过来的内容,用超链接 + - [ ] market 和 cluster 模块的技术文档移到 modules 模块, -- [ ] guide模块 +- [ ] guide 模块 - [ ] 将部署用到的基础知识单独形成文档 - [x] 编译构建超链接到对应文档 - - [x] 增加部分组件的验证:怎么判断部署成功 + - [x] 增加部分组件的验证:怎么判断部署成功 - [ ] 目录结构调整 - - [ ] market和cluster归属到链服务部署和独立组件部署文档 - - [ ] .fil_withdraw_and_send.md.swp文件删除 - - [ ] sealer文档放到单独的目录 - - [ ] Troubleshooting-&-FAQ.md用超链接方式管理venus discussion + - [ ] market 和 cluster 归属到链服务部署和独立组件部署文档 + - [ ] .fil_withdraw_and_send.md.swp 文件删除 + - [ ] sealer 文档放到单独的目录 + - [ ] Troubleshooting-&-FAQ.md 用超链接方式管理 venus discussion - [ ] 移除没有价值或过时的文档 - [ ] 在很多模块中重复的内容整合 diff --git a/docs/zh/about/README.md b/docs/zh/about/README.md index 48e11bb4b..5424d1fd6 100644 --- a/docs/zh/about/README.md +++ b/docs/zh/about/README.md @@ -2,8 +2,8 @@ ## 使命,愿景,价值观 -- :exclamation:使命:建设Filecoin基础设施和工具,支持生态繁荣发展 -- :earth_asia: 愿景:人人都能参与Filecoin生态 +- :exclamation:使命:建设 Filecoin 基础设施和工具,支持生态繁荣发展 +- :earth_asia: 愿景:人人都能参与 Filecoin 生态 - :yin_yang: 价值观:开放并且去信任 ## 联系方式 @@ -16,4 +16,4 @@ - VenusHub: [venushub.io](venushub.io) - Github: [venus](https://github.com/filecoin-project/venus) - Social Media: [Twitter](https://twitter.com/venus_filecoin), [Wechat](https://mp.weixin.qq.com/s/p4_ch03QeMMXxPyakr_8XQ) -- 安全审计报告: [link](https://leastauthority.com/static/publications/LeastAuthority_Filecoin_Foundation_Venus_Final_Audit_Report.pdf) +- 安全审计报告:[link](https://leastauthority.com/static/publications/LeastAuthority_Filecoin_Foundation_Venus_Final_Audit_Report.pdf) diff --git a/docs/zh/developer/README.md b/docs/zh/developer/README.md index a9c3732db..f516bae7e 100644 --- a/docs/zh/developer/README.md +++ b/docs/zh/developer/README.md @@ -1,10 +1,10 @@ # 如何启动测试网络 -> 本文以在 Ubuntu 系统部署2k网络为例 +> 本文以在 Ubuntu 系统部署 2k 网络为例 :::warning -目前在 CentOS 系统存在问题, 具体请参考:[issue](https://github.com/filecoin-project/lotus/issues/7136) +目前在 CentOS 系统存在问题,具体请参考:[issue](https://github.com/filecoin-project/lotus/issues/7136) ::: @@ -51,13 +51,13 @@ $ ./venus seed pre-seal --sector-size 2048 --num-sectors 2 $ ./venus seed genesis new localnet.json $ ./venus seed genesis add-miner localnet.json ~/.genesis-sectors/pre-seal-t01000.json ``` -> `seed pre-seal` 需要root权限,请在root用户下执行 +> `seed pre-seal` 需要 root 权限,请在 root 用户下执行 -- 启动venus +- 启动 venus ```sh $ nohup ./venus daemon --make-genesis=devgen.car --genesis-template=localnet.json --network=2k --auth-url=http://127.0.0.1:8989 --auth-token= > venus.log 2>&1 & ``` -> venus作为公共服务组件需要监听不同IP时需要修改配置文件 `.venus/config.json` +> venus 作为公共服务组件需要监听不同 IP 时需要修改配置文件 `.venus/config.json` ```bash "apiAddress": "/ip4/0.0.0.0/tcp/3453", ``` @@ -79,16 +79,16 @@ $ ./venus chain head ### venus-message -   venus-auth管理着其他venus模块使用的jwt令牌,以便它们在网络上安全地相互通信.为共享模块生成token。 +   venus-auth 管理着其他 venus 模块使用的 jwt 令牌,以便它们在网络上安全地相互通信。为共享模块生成 token。 ```bash # --perm specifies admin, sign, wirte or read permission of the token generated $ ./venus-auth token gen --perm admin ``` -> SHARED是token名,共享组件可以随便起。 +> SHARED 是 token 名,共享组件可以随便起。 -- 为矿工t01000和wallet生成token +- 为矿工 t01000 和 wallet 生成 token ```bash $ ./venus-auth user add test $ ./venus-auth user miner add test t01000 @@ -96,7 +96,7 @@ $ ./venus-auth token gen --perm write test ``` -查询token及user +查询 token 及 user ```bash $ ./venus-auth user list number: 1 @@ -123,12 +123,12 @@ nohup ./venus-messager run \ --db-type=sqlite \ > msg.log 2>&1 & ``` -> db-type还支持mysql,配置如下: +> db-type 还支持 mysql,配置如下: ```bash --db-type=mysql --mysql-dsn ":@(127.0.0.1:3306)/venus_messager?parseTime=true&loc=Local&readTimeout=10s&writeTimeout=10s" ``` -2k网络4s出一个块,故需修改配置文件的WaitingChainHeadStableDuration为2s。 +2k 网络 4s 出一个块,故需修改配置文件的 WaitingChainHeadStableDuration 为 2s。 ``` # 默认是8s [messageService] @@ -145,7 +145,7 @@ nohup ./venus-messager run \ --slash-filter local ``` -   此时没有启动venus-sealer,所以无法出块,因为获得出块权后需要计算证明,这个是venus-sealer负责的(管理所有的扇区永久存储),故暂时不启动venus-miner。 +   此时没有启动 venus-sealer,所以无法出块,因为获得出块权后需要计算证明,这个是 venus-sealer 负责的 (管理所有的扇区永久存储),故暂时不启动 venus-miner。 ## 创世节点 @@ -168,7 +168,7 @@ $ ./venus-wallet list t3sjhgun7xcklmyga6x3c5sq6pbncdlmrjmepfz7ms4fuqimtk4fida37dhq7kpq3tn7nyu5hpnn7mtp3a7lia ``` -设置接入venus-gateway,提供签名服务,这一步很重要,否则出块,消息等都没法签名,业务无法正常运行. +设置接入 venus-gateway,提供签名服务,这一步很重要,否则出块,消息等都没法签名,业务无法正常运行。 ```bash # 修改`~/.venus_wallet/config.toml` [APIRegisterHub] @@ -177,12 +177,12 @@ Token = "" # 矿工集群的别名,在venus-auth中注册 SupportAccounts = ["test"] ``` -***保存后重启venus-wallet,需要unlock*** +***保存后重启 venus-wallet,需要 unlock*** ```bash $ ./venus-wallet unlock ``` -查看是否成功,在venus-gateway的日志中查询: +查看是否成功,在 venus-gateway 的日志中查询: ```bash 2021-08-05T10:01:07.665+0800 INFO event_stream walletevent/wallet_conn_mgr.go:89 add wallet connection {"channel": "58309445-87da-4160-831a-44e5236ab3c7", "walletName": "test", "addrs": ["t3sjhgun7xcklmyga6x3c5sq6pbncdlmrjmepfz7ms4fuqimtk4fida37dhq7kpq3tn7nyu5hpnn7mtp3a7lia"], "support": {"test":{}}, "signBytes": "6VzoKBejPzmFp/DvJzSO16s5SziYZKYjU2l2EkDUKy0="} 2021-08-05T10:01:07.666+0800 INFO event_stream walletevent/wallet_event.go:79 add new connections test 58309445-87da-4160-831a-44e5236ab3c7 @@ -210,7 +210,7 @@ $ ./venus-gateway wallet list } ] ``` -> 上面日志即表示wallet注册服务组件成功,可提供签名服务. +> 上面日志即表示 wallet 注册服务组件成功,可提供签名服务。 ### venus-sealer @@ -256,7 +256,7 @@ Sectors: Proving: 2 ``` -查看是不是在服务组件注册成功,gateway日志: +查看是不是在服务组件注册成功,gateway 日志: ```bash 2021-09-27T14:06:13.135+0800 INFO proof_stream proofevent/proof_event.go:71 add new connections 6295d403-275b-430e-a008-1b7491522d86 for miner t01000 ``` @@ -267,13 +267,13 @@ t01000 ``` - 开始出块 -   这个时候我们就可以启动venus-miner了 +   这个时候我们就可以启动 venus-miner 了 ``` # run nohup ./venus-miner run --nettype=2k --nosync > miner.log 2>& 1 & ``` -启动时会从venus-auth请求当前已加入venus分布式矿池中的miner列表,可以根据命令查询: +启动时会从 venus-auth 请求当前已加入 venus 分布式矿池中的 miner 列表,可以根据命令查询: ``` $ ./venus-miner address state [ @@ -285,12 +285,12 @@ $ ./venus-miner address state ] ``` -在venus-miner的运行过程中可以暂停或继续某个miner_id的出块: +在 venus-miner 的运行过程中可以暂停或继续某个 miner_id 的出块: ``` ./venus-miner address stop/start f01000 ``` -查看venus-miner日志 +查看 venus-miner 日志 ``` 2021-08-05T12:04:28.562+0800 INFO miner miner/minerwpp.go:88 GenerateWinningPoSt took 3.202841ms 2021-08-05T12:04:28.562+0800 INFO miner miner/warmup.go:94 winning PoSt warmup successful {"took": 0.00494326} @@ -321,11 +321,11 @@ $ ./venus chain ls ## 普通节点 -   普通节点和其他网络接入共享组件流程一致,可参考文档: https://venus.filecoin.io/guide/Using-venus-Shared-Modules.html#pre-requisites +   普通节点和其他网络接入共享组件流程一致,可参考文档:https://venus.filecoin.io/guide/Using-venus-Shared-Modules.html#pre-requisites -   唯一需要说明的是给普通节点钱包转账的问题:因为venus服务组件是限制Send消息的,而2k私网的原始fil在创世钱包里,故需要一个转账节点. +   唯一需要说明的是给普通节点钱包转账的问题:因为 venus 服务组件是限制 Send 消息的,而 2k 私网的原始 fil 在创世钱包里,故需要一个转账节点。 -- 启动一个venus节点,仅用于转账 +- 启动一个 venus 节点,仅用于转账 ```sh nohup ./venus daemon --genesisfile=devgen.car --network=2k > venus.log 2>&1 & ``` @@ -366,22 +366,22 @@ $ ./venus wallet balance $ ./venus wallet default $ ./venus wallet set-default ``` -> venus转账节点重启后也需要unlock,不然无法转账. +> venus 转账节点重启后也需要 unlock,不然无法转账。 ## 扇区封装    和主网逻辑差不多,请查阅:[扇区封装](https://venus.filecoin.io/zh/guide/Using-venus-Shared-Modules.html#开始封装),需要注意的是: -1. 文档中init时没有添加storage,故如果要做扇区封装,先attach storage; +1. 文档中 init 时没有添加 storage,故如果要做扇区封装,先 attach storage; -2. 如果机器上同时运行看了别的占用gpu的程序,如多个venus-worker,需要用TMP_DIR指定不同路径,避免竞争锁。 +2. 如果机器上同时运行看了别的占用 gpu 的程序,如多个 venus-worker,需要用 TMP_DIR 指定不同路径,避免竞争锁。 3. 第一个sector时没有生成/var/tmp/s-basic-unsealed-2048,需要手动执行拷贝命令: ``` cp /var/tmp/s-basic-unsealed-2048 ``` -   测试结果: 2~8 是新做的Sector,已上链 +   测试结果:2~8 是新做的 Sector,已上链 ``` $ ./venus-sealer sectors list ID State OnChain Active Expiration Deals DealWeight diff --git a/docs/zh/developer/data-by-id.md b/docs/zh/developer/data-by-id.md index 8c0b8ee82..739d4c0f5 100644 --- a/docs/zh/developer/data-by-id.md +++ b/docs/zh/developer/data-by-id.md @@ -1,54 +1,54 @@ - + ## Simple Summary (概述) -链服务对其用户(SP等)数据隔离,并开放访问接口。 +链服务对其用户(SP 等)数据隔离,并开放访问接口。 ## Abstract (功能简介) - + `SP` 的很多业务数据保存在链服务端,并由其负责跟踪与维护。 -为了 `SP` 用户能够管理自己的数据,如:订单,消息,出块,转账等,需要链服务对用户的数据进行隔离,并开放请求的接口. +为了 `SP` 用户能够管理自己的数据,如:订单,消息,出块,转账等,需要链服务对用户的数据进行隔离,并开放请求的接口。 关联: - [x] 提案的[issue](https://github.com/filecoin-project/venus/issues/5384) ## Motivation (来源/背景) - -`Venus` 系统分为 `云组件` 和 `本地组件` ,在多数情况下,`云组件` 和 `本地组件` 的维护者不是同一类人,比如孵化器就是专门维护一套链服务给众多的SP终端用户使用。`云组件` 在向不同用户提供服务的同时, 为了确保用户数据的安全, 也限制了用户对大部分 `用户数据` 的访问, 需要新增一种机制, 使得用户能够访问自己的 `用户数据`的同时, 隔离其他用户的数据, 确保每一位用户的数据安全 + +`Venus` 系统分为 `云组件` 和 `本地组件` ,在多数情况下,`云组件` 和 `本地组件` 的维护者不是同一类人,比如孵化器就是专门维护一套链服务给众多的 SP 终端用户使用。`云组件` 在向不同用户提供服务的同时,为了确保用户数据的安全,也限制了用户对大部分 `用户数据` 的访问,需要新增一种机制,使得用户能够访问自己的 `用户数据`的同时,隔离其他用户的数据,确保每一位用户的数据安全 ## Specification (feature Spec) - + -- **`链服务`**: 是指 `Sophon` 所提供的, 包括 链上信息的查询, 发布消息 等细项在内的服务. -- **`订单服务`**: 是指 `Droplet` 提供的, 包括 `检索订单` 的创建和查询, `检索订单` 的创建和查询, 存储服务提供商定价查询 等细项在内的服务. -- **`用户`** 是指 `链服务` 的使用者,这要包括三类群体: +- **`链服务`**: 是指 `Sophon` 所提供的,包括 链上信息的查询,发布消息 等细项在内的服务。 +- **`订单服务`**: 是指 `Droplet` 提供的,包括 `检索订单` 的创建和查询,`检索订单` 的创建和查询,存储服务提供商定价查询 等细项在内的服务。 +- **`用户`** 是指 `链服务` 的使用者,这要包括三类群体: - `SC`:借助部署在 `订单服务` 发起存储订单的客户; - - `SP`:使用 `链服务` 和 `Filecoin 网络` 进行交互, 或者使用`订单服务`承接存储订单的存储服务提供商; - - `其他`: 除了上述两个群体的其他用户,比如使用 `链服务` 获取链上数据或者和链进行交互的开发者等。 -- **`云组件`**: 是指包括 `venus-auth`,`venus-gateway`,`venus`, `venus-messager`, `venus-miner`, `venus-market` 等系列软件在内的软件实体, 其特点是一套 `云组件` 可以为多个不同的 `用户` 提供服务. 云组件又可以划分为 `Sophon` 和 `Droplet` 两个部分, 其中 `Sophon` 负责提供 `链服务` , `Droplet`负责提供 `订单服务`. -- **`本地组件`**: 是指包括 `venus-cluster`, `venus-tool` 等软件在内的软件实体. `本地组件` 依赖于 `云组件` 提供的服务, 一套 `本地组件` 一般只为一个 `用户` 提供服务. -- **`用户数据`** 是指用户在使用 `链服务`以及 `订单服务` 的过程中产生的与用户相关联的数据, 包括但不限于: 用户的公钥, 用户发出的消息, 用户发起的订单, 用户存储订单中的数据, 用户的个性化设置. + - `SP`:使用 `链服务` 和 `Filecoin 网络` 进行交互,或者使用`订单服务`承接存储订单的存储服务提供商; + - `其他`: 除了上述两个群体的其他用户,比如使用 `链服务` 获取链上数据或者和链进行交互的开发者等。 +- **`云组件`**: 是指包括 `venus-auth`,`venus-gateway`,`venus`, `venus-messager`, `venus-miner`, `venus-market` 等系列软件在内的软件实体,其特点是一套 `云组件` 可以为多个不同的 `用户` 提供服务。云组件又可以划分为 `Sophon` 和 `Droplet` 两个部分,其中 `Sophon` 负责提供 `链服务` , `Droplet`负责提供 `订单服务`. +- **`本地组件`**: 是指包括 `venus-cluster`, `venus-tool` 等软件在内的软件实体。 `本地组件` 依赖于 `云组件` 提供的服务,一套 `本地组件` 一般只为一个 `用户` 提供服务。 +- **`用户数据`** 是指用户在使用 `链服务`以及 `订单服务` 的过程中产生的与用户相关联的数据,包括但不限于:用户的公钥,用户发出的消息,用户发起的订单,用户存储订单中的数据,用户的个性化设置。 -- **`服务接口`** 是指 `链服务` 和 `订单服务` 为用户提供的用于使用服务以及访问用户数据的接口, 主要是指 `链服务` 和 `订单服务` 所对应的软件实体提供*RPC访问接口*. +- **`服务接口`** 是指 `链服务` 和 `订单服务` 为用户提供的用于使用服务以及访问用户数据的接口,主要是指 `链服务` 和 `订单服务` 所对应的软件实体提供*RPC 访问接口*. -- **`用户数据隔离`**: 是指 `链服务` 和 `订单服务` 提供者限制用户只能访问和自己的 `用户数据`. 通过对 `服务接口` 进行访问控制, 限制用户只能访问自己的 `用户数据`, 是实现 `用户数据隔离` 的方式. +- **`用户数据隔离`**: 是指 `链服务` 和 `订单服务` 提供者限制用户只能访问和自己的 `用户数据`. 通过对 `服务接口` 进行访问控制,限制用户只能访问自己的 `用户数据`, 是实现 `用户数据隔离` 的方式。 -- **`用户权限`**: 是指 `链服务` 和 `订单服务` 控制用户访问 `服务接口` 的权限级别的划分, 包括: `读权限`, `写权限`, `签名权限`等三个用户级别权限, 和一个管理员级别权限: `管理权限`. 一般来说,用户具有用户级别最高权限, 即 `签名权限` , 但为了方便用户在不同使用情形下进行更加细致的访问控制, 用户可以申请更低权限级别的 `Token`, 比如: `读权限` 或者 `写权限`. 只有管理员才能获得 `管理权限`. 访问不同的服务端口需要不同的权限级别, 详细参见 [API Reference](https://venus.filecoin.io/zh/advanced/chain-api-v0.html) +- **`用户权限`**: 是指 `链服务` 和 `订单服务` 控制用户访问 `服务接口` 的权限级别的划分,包括:`读权限`, `写权限`, `签名权限`等三个用户级别权限,和一个管理员级别权限:`管理权限`. 一般来说,用户具有用户级别最高权限,即 `签名权限` , 但为了方便用户在不同使用情形下进行更加细致的访问控制,用户可以申请更低权限级别的 `Token`, 比如:`读权限` 或者 `写权限`. 只有管理员才能获得 `管理权限`. 访问不同的服务端口需要不同的权限级别,详细参见 [API Reference](https://venus.filecoin.io/zh/advanced/chain-api-v0.html) -- **`用户界面`** 是指用户能够用于访问 `服务接口` 的软件或者其他类型的工具, 包括但不限于: `Democles`, `venus-wallet`, `market-client`, `venus-tool` 等直接访问 `链服务` 或者 `订单服务` 服务的软件; 或者能够直接访问 `服务接口` 的 *curl* , 或者用户自己开发的工具. +- **`用户界面`** 是指用户能够用于访问 `服务接口` 的软件或者其他类型的工具,包括但不限于:`Democles`, `venus-wallet`, `market-client`, `venus-tool` 等直接访问 `链服务` 或者 `订单服务` 服务的软件; 或者能够直接访问 `服务接口` 的 *curl* , 或者用户自己开发的工具。 ## Design Rationale (设计思路) - + -通过 `Token` 区别不同用户身份, 以及访问级别.
-`服务接口` 的实现中针对不同的 `用户身份`, 进行不同的处理, 从而实现 `用户数据隔离`. +通过 `Token` 区别不同用户身份,以及访问级别。
+`服务接口` 的实现中针对不同的 `用户身份`, 进行不同的处理,从而实现 `用户数据隔离`. ## Backwards Compatibility(兼容性) @@ -62,7 +62,7 @@ -- 应确保只有管理员能够获取到 'admin' 级别的权限, 防止用户数据泄漏 +- 应确保只有管理员能够获取到 'admin' 级别的权限,防止用户数据泄漏 ## Implementation(实施) @@ -110,14 +110,14 @@ func GetCtxName(ctx context.Context) string { ### 目标数据的识别 -仅仅只是知道 `用户身份` 是不够的的, 我们还需要知道, 该用户访问的 `目标数据` 是什么, 以及该`目标数据` 是属于哪个 `用户` 的. 例如, 一个 `用户` 可能有多个 `矿工`, 但是他只能访问自己的 `矿工` 的数据, 不能访问其他 `用户` 的 `矿工` 的数据. +仅仅只是知道 `用户身份` 是不够的的,我们还需要知道,该用户访问的 `目标数据` 是什么,以及该`目标数据` 是属于哪个 `用户` 的。例如,一个 `用户` 可能有多个 `矿工`, 但是他只能访问自己的 `矿工` 的数据,不能访问其他 `用户` 的 `矿工` 的数据。 -绝大多数情况下,我们都可以通过 `用户` 所访问的 `服务接口` 来确定 `目标数据` 的类型, 可以根据 `目标数据` 类型中的 `关键字段` 来确定 `目标数据` 的归属. 例如当用户访问 消息相关的服务接口时, 可以通过 `消息类型` 的发送者字段来确定该数据的拥有者是谁, 进而判断访问者是否具有该数据的访问权限. +绝大多数情况下,我们都可以通过 `用户` 所访问的 `服务接口` 来确定 `目标数据` 的类型,可以根据 `目标数据` 类型中的 `关键字段` 来确定 `目标数据` 的归属。例如当用户访问 消息相关的服务接口时,可以通过 `消息类型` 的发送者字段来确定该数据的拥有者是谁,进而判断访问者是否具有该数据的访问权限。 -在现在的实现中, 我们可以通过三种类型的 `关键数据` , 来确定访问者是否具有访问 `目标数据` 的权限: +在现在的实现中,我们可以通过三种类型的 `关键数据` , 来确定访问者是否具有访问 `目标数据` 的权限: #### 用户名称 -在用户管理相关的 `服务接口` 中, 往往会出现 `用户名称` 作为 `关键数据` 的情况, 例如 `用户` 的 `矿工` 列表, `用户` 的 `Signer` 列表等. 通过 `用户名称` 我们可以直接判断访问者是否具有访问该数据的权限. +在用户管理相关的 `服务接口` 中,往往会出现 `用户名称` 作为 `关键数据` 的情况,例如 `用户` 的 `矿工` 列表,`用户` 的 `Signer` 列表等。通过 `用户名称` 我们可以直接判断访问者是否具有访问该数据的权限。 ```go // checkPermissionByUser check weather the user has admin permission or is match the username passed in @@ -135,7 +135,7 @@ func CheckPermissionByName(ctx context.Context, name string) error { #### 钱包地址 -在和 `消息` 有关联的 `服务接口` 中, 往往会涉及到消息的发送者, 也就是签名该消息的钱包地址. 通过该地址, 我们可以判断该消息是否属于访问者的, 从而判断访问者是否具有访问该数据的权限. +在和 `消息` 有关联的 `服务接口` 中,往往会涉及到消息的发送者,也就是签名该消息的钱包地址。通过该地址,我们可以判断该消息是否属于访问者的,从而判断访问者是否具有访问该数据的权限。 ```go @@ -190,20 +190,20 @@ func CheckPermissionByMiner(ctx context.Context, client IAuthClient, addrs ...ad ### 实现的细节 -本小节主要叙述在实际实现的过程中涉及到的 `服务接口` 的变动.
+本小节主要叙述在实际实现的过程中涉及到的 `服务接口` 的变动。
`venus` 组件不涉及 `用户数据`, 不需要做相应变动.
-`venus-gateway` 涉及 `用户数据` 部分的 `接口` 仅对管理员开放, 不需要变动.
-所以, 主要涉及到一下四个 `云组件` 的接口: +`venus-gateway` 涉及 `用户数据` 部分的 `接口` 仅对管理员开放,不需要变动.
+所以,主要涉及到一下四个 `云组件` 的接口: #### `venus-auth` 接口 -`venus-auth` 本身并无 `用户身份` 和 `权限级别` 的检查, 新增如下: +`venus-auth` 本身并无 `用户身份` 和 `权限级别` 的检查,新增如下: ```go // Read 权限 Verify(ctx context.Context, token string) (*JWTPayload, error) // read -// Admin 权限: +// Admin 权限: GenerateToken(ctx context.Context, cp *JWTPayload) (string, error) Tokens(ctx context.Context, skip, limit int64) ([]*TokenInfo, error) GetToken(c context.Context, token string) (*TokenInfo, error) @@ -225,7 +225,7 @@ HasSigner(ctx context.Context, req *HasSignerReq) (bool, error) GetUserBySigner(ctx context.Context, req *GetUserBySignerReq) ([]*OutputUser, error) UpsertMiner(ctx context.Context, req *UpsertMinerReq) (bool, error) -// Admin 权限 或者 目标数据拥有者 (意味着这部分接口会对部分非admin权限开放) +// Admin 权限 或者 目标数据拥有者 (意味着这部分接口会对部分非 admin 权限开放) RemoveToken(ctx context.Context, token string) error // +tokenOwner RecoverToken(ctx context.Context, token string) error // +tokenOwner GetTokenByName(c context.Context, name string) ([]*TokenInfo, error) // +tokenOwner @@ -241,7 +241,7 @@ DelSigner(ctx context.Context, req *DelSignerReq) (bool, error) // +signerOwner #### venus-miner -在非 `管理权限` 的接口增加了`用户身份`的检查, 接口权限变动如下: +在非 `管理权限` 的接口增加了`用户身份`的检查,接口权限变动如下: ```go UpdateAddress(context.Context, int64, int64) ([]types.MinerInfo, error) //perm:write -> admin @@ -258,7 +258,7 @@ CountWinners(context.Context, []address.Address, abi.ChainEpoch, abi.ChainEpoch) ```go -// 不需要用户隔离的接口(管理员级别的接口或者公开数据接口) +// 不需要用户隔离的接口 (管理员级别的接口或者公开数据接口) SetSharedParams(ctx context.Context, params *mtypes.SharedSpec) //perm:admin SetLogLevel(ctx context.Context, subsystem, level string) //perm:admin SaveNode(ctx context.Context, node *mtypes.Node) //perm:admin @@ -315,7 +315,7 @@ ListMessage(ctx context.Context ) -> ListMessage(ctx context.Context , p *types. #### venus-market ```go -// 不需要做用户数据隔离的接口(开放数据) +// 不需要做用户数据隔离的接口 (开放数据) PiecesListPieces //perm:read PiecesListCidInfos //perm:read PiecesGetPieceInfo //perm:read diff --git a/docs/zh/intro/README.md b/docs/zh/intro/README.md index 27f8fcd67..c4d3074a0 100644 --- a/docs/zh/intro/README.md +++ b/docs/zh/intro/README.md @@ -6,7 +6,7 @@ ### 稳定&安全 -智子自2021年1月30日起持续同步Filecoin主网,历经多次迭代升级,为不同类型的用户提供稳定、安全的节点服务 +智子自 2021 年 1 月 30 日起持续同步 Filecoin 主网,历经多次迭代升级,为不同类型的用户提供稳定、安全的节点服务 ### 高可用 @@ -14,4 +14,4 @@ ### 大家的节点服务 -智子旨在为每个Filecoin生态系统参与者提供服务,通过智子的帐户管理功能就能够轻松管理SP、SC和Dapp等节点服务使用者 \ No newline at end of file +智子旨在为每个 Filecoin 生态系统参与者提供服务,通过智子的帐户管理功能就能够轻松管理 SP、SC 和 Dapp 等节点服务使用者 \ No newline at end of file diff --git a/docs/zh/operation/README.md b/docs/zh/operation/README.md index 9be6ee633..8db8134fb 100644 --- a/docs/zh/operation/README.md +++ b/docs/zh/operation/README.md @@ -1,19 +1,19 @@ ## 背景 -考虑到庞大的初始硬件和Filecoin质押[投资](https://filscan.io/calculator)以及相关的运营成本,开始Filecoin存储提供是一项艰巨的任务。 囊括了分布式部署架构,订单服务和算力服务,Venus将帮助存储提供者,如社区所说,把[全职工作](https://filecoinproject.slack.com/archives/CEGN061C5/p1610810730117900?thread_ts=1610809298.116800&cid=CEGN061C5)变成为一个对运维更加友好的解决方案。 希望本教程能让您立即开始存储提供! +考虑到庞大的初始硬件和 Filecoin 质押[投资](https://filscan.io/calculator)以及相关的运营成本,开始 Filecoin 存储提供是一项艰巨的任务。囊括了分布式部署架构,订单服务和算力服务,Venus 将帮助存储提供者,如社区所说,把[全职工作](https://filecoinproject.slack.com/archives/CEGN061C5/p1610810730117900?thread_ts=1610809298.116800&cid=CEGN061C5)变成为一个对运维更加友好的解决方案。希望本教程能让您立即开始存储提供! ## 如何提供存储服务 -有两种方法可以开始使用Venus来提供存储服务。 +有两种方法可以开始使用 Venus 来提供存储服务。 1. 部署最少的硬件并获得第三方`Venus`链服务的帐号。欢迎了解`Venus`孵化器[项目](https://venushub.io/zh/incubator/),加入`Venus`团队提供的免费链服务。(请参阅[这个](join-a-cs.md)教程以了解更多信息) 2. 自行部署`Venus`链服务。(请参阅[这个](deploy-a-cs.md)教程以了解更多信息) 在遵循其余的教程和成功部署后,您可以开始封装扇区,增加算力并通过您对网络存储容量的贡献最终获得区块奖励! -## venus组件介绍 +## venus 组件介绍 -根据其在挖矿集群中的作用,模块可以大致分为两类:链服务组件和本地组件。 链服务可以被认为是开始封装扇区所需的基础。 大多数与区块链的交互,如链同步、发送消息、赢得赢票等,都是由链服务处理的。 这个想法是许多存储提供者都可以共用一套链服务,从而减少维护成本。 本地组件提供了一整套算力服务。如果您选择使用第三方托管的Venus链服务,您只要将花费大部分时间在独立模块上。 另请注意,`venus-market`和`venus-wallet`模块可以作为链服务或本地组件部署。 +根据其在挖矿集群中的作用,模块可以大致分为两类:链服务组件和本地组件。链服务可以被认为是开始封装扇区所需的基础。大多数与区块链的交互,如链同步、发送消息、赢得赢票等,都是由链服务处理的。这个想法是许多存储提供者都可以共用一套链服务,从而减少维护成本。本地组件提供了一整套算力服务。如果您选择使用第三方托管的 Venus 链服务,您只要将花费大部分时间在独立模块上。另请注意,`venus-market`和`venus-wallet`模块可以作为链服务或本地组件部署。 | name | role | Chain_Service/Local | | ------------------------------------------------------------ | ----------------------------------------------------- | ------------------ | @@ -29,7 +29,7 @@ ## 服务架构 -下图展示了venus模块如何相互交互。 +下图展示了 venus 模块如何相互交互。 ![venus-cluster](../../.vuepress/public/venus-arch.png) @@ -45,17 +45,17 @@ ## Venus 组件构建 -本文档各组件以 `TAG:v1.0.0` 为例说明,实际场景中按需检出. +本文档各组件以 `TAG:v1.0.0` 为例说明,实际场景中按需检出。 -> 每个组件的构建相互独立,无顺序之分. +> 每个组件的构建相互独立,无顺序之分。 ### 环境准备 -系统需要安装 `Go`,`Rust`等必要软件,可以参考 `lotus` 文档中的相应部分 [building-from-source](https://lotus.filecoin.io/lotus/install/linux/#building-from-source)。 +系统需要安装 `Go`,`Rust`等必要软件,可以参考 `lotus` 文档中的相应部分 [building-from-source](https://lotus.filecoin.io/lotus/install/linux/#building-from-source)。 -`Venus` 组件均在 `github` 开源,通常用 `git` 管理, `git` 命令使用可参考 [Branching-Remote-Branches](https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches) +`Venus` 组件均在 `github` 开源,通常用 `git` 管理,`git` 命令使用可参考 [Branching-Remote-Branches](https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches) -部分组件依赖`filecoin-ffi`, `Filecoin`官方提供了编译好的静态库文件.如果需要源码编译此静态库,可参考 [native-filecoin-ffi](https://lotus.filecoin.io/lotus/install/linux/#native-filecoin-ffi),通常`venus-cluster`或`venus-sealer`源码编译此库以提升扇区封装效率. +部分组件依赖`filecoin-ffi`, `Filecoin`官方提供了编译好的静态库文件。如果需要源码编译此静态库,可参考 [native-filecoin-ffi](https://lotus.filecoin.io/lotus/install/linux/#native-filecoin-ffi),通常`venus-cluster`或`venus-sealer`源码编译此库以提升扇区封装效率。 ### venus-auth @@ -87,8 +87,8 @@ $ git submodule update --init --recursive $ make ``` -如果遇到编译错误: `github.com/dgraph-io/badger/v3@v3.2011.1/fb/BlockOffset.go:6:2: missing go.sum entry for module providing package github.com/google/flatbuffers/go (imported by github.com/dgraph-io/badger/v3/table); to add: - go get github.com/dgraph-io/badger/v3/table@v3.2011.1` ,先执行: +如果遇到编译错误:`github.com/dgraph-io/badger/v3@v3.2011.1/fb/BlockOffset.go:6:2: missing go.sum entry for module providing package github.com/google/flatbuffers/go (imported by github.com/dgraph-io/badger/v3/table); to add: + go get github.com/dgraph-io/badger/v3/table@v3.2011.1` ,先执行: ```shell script $ go get github.com/google/flatbuffers@v1.12.1 diff --git a/docs/zh/operation/chain-mng.md b/docs/zh/operation/chain-mng.md index 345d0cdff..204bdb7f0 100644 --- a/docs/zh/operation/chain-mng.md +++ b/docs/zh/operation/chain-mng.md @@ -1,6 +1,6 @@ --- title: 'venus: 链管理' -description: 'Venus区块链携带计算网络当前状态所需的信息,存储在磁盘上,每30秒增加一个新的块。本指南解释了如何管理th链的几个方面。' +description: 'Venus 区块链携带计算网络当前状态所需的信息,存储在磁盘上,每 30 秒增加一个新的块。本指南解释了如何管理 th 链的几个方面。' breadcrumb: '链管理' --- @@ -17,15 +17,15 @@ Venus 将通过以下方式自动同步到最新的 _chain head_ : - 获取从当前区块头到最后一个同步高度的区块头。 - 检索并验证从上一次同步的高度到当前块头的所有区块。 -一旦Venus同步后,它将通过Pubsub在每个高度出新块时进行相应的验证。请注意,在Venus上,每个高度可能会看到不同数量的区块。 +一旦 Venus 同步后,它将通过 Pubsub 在每个高度出新块时进行相应的验证。请注意,在 Venus 上,每个高度可能会看到不同数量的区块。 -Filecoin的区块链增长相对较快,因此完全同步将需要很长时间。因此,Venus提供了一种通过受信任状态快照进行同步的更快方法。 +Filecoin 的区块链增长相对较快,因此完全同步将需要很长时间。因此,Venus 提供了一种通过受信任状态快照进行同步的更快方法。 ### 从受信任状态快照(主网)进行同步 我们建议大多数用户从最小的轻量级快照执行初始节点同步。受信任状态快照不包含完整的链,并且可能不适合需要对历史状态信息执行查询的节点(例如区块浏览器),但对于大多数用户而言,它们是可行的。 -最近的最小受信任状态链快照在 [这里](https://snapshots.mainnet.filops.net/minimal/latest). 我们可以用venus启动守护程序并直接从URL导入: +最近的最小受信任状态链快照在 [这里](https://snapshots.mainnet.filops.net/minimal/latest). 我们可以用 venus 启动守护程序并直接从 URL 导入: ```sh # 快照大小约为100GiB。这适用于mainnet。 @@ -40,11 +40,11 @@ curl -sI https://snapshots.mainnet.filops.net/minimal/latest \ | xargs curl -s ``` -::: 如果您不信任快照的来源,或者只是想让Venus验证链,则需要按照下一节中的步骤进行操作。完整验证链的速度要慢一个数量级,预计需要几天的时间。::: +::: 如果您不信任快照的来源,或者只是想让 Venus 验证链,则需要按照下一节中的步骤进行操作。完整验证链的速度要慢一个数量级,预计需要几天的时间。::: ### 检查同步状态 -有两种方法可以跟踪Venus守护程序是否正确同步了链,以及还需要多久才能完成同步: +有两种方法可以跟踪 Venus 守护程序是否正确同步了链,以及还需要多久才能完成同步: ```sh # 检查当前同步状态,同步works程序等: @@ -55,7 +55,7 @@ venus chain head ## 压缩链数据 -通过从最小快照重新同步,可以精简Venus使用的当前链数据以减少Venus节点的磁盘占用量。 +通过从最小快照重新同步,可以精简 Venus 使用的当前链数据以减少 Venus 节点的磁盘占用量。 1. 停止 Venus daemon: @@ -63,16 +63,16 @@ venus chain head venus daemon stop ``` -2. 在Venus的路径中删除 `badger/` 文件夹的内容: +2. 在 Venus 的路径中删除 `badger/` 文件夹的内容: ```bash rm -rf ~/.venus/badger/* ``` -3. 如上所述,使用最小快照启动daemon: +3. 如上所述,使用最小快照启动 daemon: ```bash venus daemon --import-snapshot https://snapshots.mainnet.filops.net/minimal/latest ``` -在GitHub上[创建一个问题](https://github.com/filecoin-project/venus-docs/issues)。 +在 GitHub 上[创建一个问题](https://github.com/filecoin-project/venus-docs/issues)。 diff --git a/docs/zh/operation/deploy-a-cs.md b/docs/zh/operation/deploy-a-cs.md index d0681ea72..48fefef81 100644 --- a/docs/zh/operation/deploy-a-cs.md +++ b/docs/zh/operation/deploy-a-cs.md @@ -1,6 +1,6 @@ ## 准备 -所需组件构建完成,可参考 [组件构建](../modules/build.md) +所需组件构建完成,可参考 [组件构建](../modules/build.md) :::warning @@ -10,9 +10,9 @@ ### 软件依赖 -在运行`Venus`之前,您需要安装[这些](https://lotus.filecoin.io/lotus/install/linux/#software-dependencies)软件。(注:和lotus的软件依赖相同) +在运行`Venus`之前,您需要安装[这些](https://lotus.filecoin.io/lotus/install/linux/#software-dependencies)软件。(注:和 lotus 的软件依赖相同) -## 安装venus-auth +## 安装 venus-auth ```shell script $ nohup ./venus-auth run > auth.log 2>&1 & @@ -24,12 +24,12 @@ $ nohup ./venus-auth run > auth.log 2>&1 & :::tip Logs -日志默认打印到控制台。 通过配置可以支持InfluxDB。 +日志默认打印到控制台。通过配置可以支持 InfluxDB。 ::: :::tip port -`venus-auth`默认端口为8989,下面其他组件使用参数--auth-url,填写的相关参数就是这个端口号与相应ip。 +`venus-auth`默认端口为 8989,下面其他组件使用参数--auth-url,填写的相关参数就是这个端口号与相应 ip。 ::: ### 查看配置 @@ -39,9 +39,9 @@ $ head ~/.venus-auth/config.toml Port = "8989" ``` -### 使用MySQL (可选) +### 使用 MySQL (可选) -支持MySQL 5.7及以上版本,可替代默认的`Badger`键值数据库。要使用 MySQL 数据库,请修改配置中的 `db`部分。 +支持 MySQL 5.7 及以上版本,可替代默认的`Badger`键值数据库。要使用 MySQL 数据库,请修改配置中的 `db`部分。 ```shell script $ vim ~/.venus-auth/config.toml @@ -67,9 +67,9 @@ $ kill $ nohup ./venus-auth run > auth.log 2>&1 & ``` -### user及token生成 +### user 及 token 生成 -`venus-auth`管理着其他venus模块使用的[jwt](https://jwt.io/)令牌,以便它们在网络上安全地相互通信。 +`venus-auth`管理着其他 venus 模块使用的[jwt](https://jwt.io/)令牌,以便它们在网络上安全地相互通信。 :::tip @@ -87,7 +87,7 @@ $ ./venus-auth token gen --perm admin ``` -为独立模块生成令牌。 token可以通过`` 逻辑分组,作为加入矿池的单个矿工。 +为独立模块生成令牌。token 可以通过`` 逻辑分组,作为加入矿池的单个矿工。 ```shell script $ ./venus-auth user add @@ -97,7 +97,7 @@ $ ./venus-auth token gen --perm sign $ ./venus-auth user add --name= ``` -给 `user` 绑定矿工(`miner`),一个 `user` 可以有多个矿工. +给 `user` 绑定矿工 (`miner`),一个 `user` 可以有多个矿工。 ``` $ ./venus-auth user miner add @@ -106,14 +106,14 @@ $ ./venus-auth user miner add $ ./venus-auth user list ``` -设置 `user` 可用,否则在其他组件请求 `user` 列表时请求不到. +设置 `user` 可用,否则在其他组件请求 `user` 列表时请求不到。 ``` $ ./venus-auth user update --name= --state=1 update user success ``` -## 安装venus-gateway +## 安装 venus-gateway 下载并编译`venus-gateway`的源代码。 @@ -126,7 +126,7 @@ $ make ``` :::tip - 如果遇到以下编译错误,先执行`go get github.com/google/flatbuffers@v1.12.1` + 如果遇到以下编译错误,先执行`go get github.com/google/flatbuffers@v1.12.1` ```bash github.com/dgraph-io/badger/v3@v3.2011.1/fb/BlockOffset.go:6:2: missing go.sum entry for module providing package github.com/google/flatbuffers/go (imported by github.com/dgraph-io/badger/v3/table); to add: go get github.com/dgraph-io/badger/v3/table@v3.2011.1 @@ -143,9 +143,9 @@ $ ./venus-gateway --listen /ip4/0.0.0.0/tcp/45132 run \ > venus-gateway.log 2>&1 & ``` -## 安装venus daemon +## 安装 venus daemon -启动`venus`进程进行链同步。 使用 `--network` 来指定`venus`连接的网络。 +启动`venus`进程进行链同步。使用 `--network` 来指定`venus`连接的网络。 ```shell script $ nohup ./venus daemon --network=calibrationnet --auth-url= --auth-token= > venus.log 2>&1 & @@ -157,7 +157,7 @@ $ nohup ./venus daemon --network=calibrationnet --auth-url= $ nohup ./venus daemon --network=calibrationnet --auth-url= --auth-token= > venus.log 2>&1 & ``` -在其他机器上执行`telnet` 验证配置生效: +在其他机器上执行`telnet` 验证配置生效: ```shell script telnet @@ -194,7 +194,7 @@ telnet ::: -## 安装venus-messager +## 安装 venus-messager 启动`venus-messager`。请注意,`--auth-url`、`--node-url` 和`--auth-token` 是为了让 venus-messager 了解其他`venus`模块的存在并进行自身的身份验证。 @@ -216,7 +216,7 @@ $ nohup ./venus-messager run \ ::: -## 安装venus-miner +## 安装 venus-miner 初始化`venus-miner`。 @@ -236,7 +236,7 @@ $ ./venus-miner init \ $ nohup ./venus-miner run > miner.log 2>& 1 & ``` -`venus-miner`启动后会从`venus-auth`请求矿工列表,并对每个矿工执行出块的必要检查,如:钱包服务,WinningPoSt服务是否正常等.检查矿工列表: +`venus-miner`启动后会从`venus-auth`请求矿工列表,并对每个矿工执行出块的必要检查,如:钱包服务,WinningPoSt 服务是否正常等。检查矿工列表: ```shell script $ ./venus-miner address list @@ -249,38 +249,38 @@ $ ./venus-miner address list ] ``` -如果列表中没有在`venus-auth`中配置的矿工,则需要从`venus-auth`检查配置是否正确 -- `检查venus-miner`初始化配置的`auth-token`对应的`user`是激活状态,即`state=enabled` +如果列表中没有在`venus-auth`中配置的矿工,则需要从`venus-auth`检查配置是否正确 +- `检查venus-miner`初始化配置的`auth-token`对应的`user`是激活状态,即`state=enabled` ```shell script $ ./venus-auth user list name: *** state: enabled ``` -- 检查`venus-miner`初始化配置的`auth-token`对应的`user`下成功添加了此矿工. +- 检查`venus-miner`初始化配置的`auth-token`对应的`user`下成功添加了此矿工。 ```shell script ./venus-auth user list name: *** miners: [***,***,...] ``` :::tip -`miners`列表有此矿工为正确. +`miners`列表有此矿工为正确。 ::: -修改成功后执行下列命令重新拉取: +修改成功后执行下列命令重新拉取: ```shell script $ ./venus-miner address update ``` -如果想要暂时终止或开始列表中某个矿工的出块,可通过下列命令执行.通常用于某个矿工出问题或集群迁移时使用. +如果想要暂时终止或开始列表中某个矿工的出块,可通过下列命令执行。通常用于某个矿工出问题或集群迁移时使用。 ```shell script $ ./venus-miner address start $ ./venus-miner address stop ``` -## 安装venus-market(可选) +## 安装 venus-market(可选) `venus-market`可以作为链服务组件之一来进行部署,具体部署文档请参考[文档](/zh/market/using-venus-market-for-master) @@ -288,6 +288,6 @@ $ ./venus-miner address stop 接下来请按照这个[文档](Using-venus-Shared-Modules.md)加入到你刚刚部署的链服务吧! -## 问题? +## 问题? 来[Slack](https://filecoinproject.slack.com/archives/C028PCH8L31)上找我们吧! diff --git a/docs/zh/operation/ha.md b/docs/zh/operation/ha.md index 42807a720..3b479ed27 100644 --- a/docs/zh/operation/ha.md +++ b/docs/zh/operation/ha.md @@ -1,12 +1,12 @@ # 高可用节点的部署方案 -这个方案的主要目的在于防止由于单个节点故障导致整体无法服务,由于节点程序可能可以运行,但是存在不同步的情况,因而单纯使用nginx服务无法做到自动选择良好的节点。 本方案中是在nginx和节点程序之间引入新的代理程序来解决问题,代理程序会自动的在多个节点中监控高度重量变化,每次请求只会选择正常的节点。另一个安全之处在于节点这里可以选择不同的实现,这样玩意某个实现出了问题也可以有其他实现的节点顶上去。 +这个方案的主要目的在于防止由于单个节点故障导致整体无法服务,由于节点程序可能可以运行,但是存在不同步的情况,因而单纯使用 nginx 服务无法做到自动选择良好的节点。本方案中是在 nginx 和节点程序之间引入新的代理程序来解决问题,代理程序会自动的在多个节点中监控高度重量变化,每次请求只会选择正常的节点。另一个安全之处在于节点这里可以选择不同的实现,这样玩意某个实现出了问题也可以有其他实现的节点顶上去。 ![](https://raw.githubusercontent.com/hunjixin/imgpool/master/chain-co.png) ## 部署节点 -节点授权这里建议连接venus-auth进行授权,不然节点出问题token会发生变化。 +节点授权这里建议连接 venus-auth 进行授权,不然节点出问题 token 会发生变化。 venus: ```sh @@ -28,7 +28,7 @@ make ./lotus daemon --auth-url --auth-token ``` -## 部署chain-co +## 部署 chain-co ```sh #build @@ -39,10 +39,10 @@ make ./chain-co run -listen 0.0.0.0: --auth --node --node ``` -## 部署代理(可选) +## 部署代理 (可选) -代理可以有多种选择,包括nginx,slb等负载均衡方案,但是注意的是需要支持长链接以及自定义header头。这里以nginx为例子 -安装: https://www.nginx.com/resources/wiki/start/topics/tutorials/install +代理可以有多种选择,包括 nginx,slb 等负载均衡方案,但是注意的是需要支持长链接以及自定义 header 头。这里以 nginx 为例子 +安装:https://www.nginx.com/resources/wiki/start/topics/tutorials/install 配置文件参考: ``` user nginx; @@ -96,5 +96,5 @@ http { ## 注意事项 1. 因为节点之间数据还是分离的,所以无法提供完全一致的接口访问,特别是在头部区块的处理上。 -2. 如果部署lotus,需要使用定制后的版本,因为venus有一些特有的接口. -3. 如果存在问题,请提issue。 +2. 如果部署 lotus,需要使用定制后的版本,因为 venus 有一些特有的接口。 +3. 如果存在问题,请提 issue。 diff --git a/docs/zh/operation/join-a-cs.md b/docs/zh/operation/join-a-cs.md index 016ef0e96..5a5173e6a 100644 --- a/docs/zh/operation/join-a-cs.md +++ b/docs/zh/operation/join-a-cs.md @@ -19,7 +19,7 @@ #### 对于需接入共享模块的用户 -如果您尝试连接到第三方托管的共享venus模块,联系上述服务的管理员并让他们为您设置。 +如果您尝试连接到第三方托管的共享 venus 模块,联系上述服务的管理员并让他们为您设置。 :::tip @@ -46,9 +46,9 @@ $ ./venus-auth token gen --perm write ### 软件依赖 -在运行`Venus`之前,您需要安装[这些](https://lotus.filecoin.io/lotus/install/linux/#software-dependencies)软件。(注:和lotus的软件依赖相同) +在运行`Venus`之前,您需要安装[这些](https://lotus.filecoin.io/lotus/install/linux/#software-dependencies)软件。(注:和 lotus 的软件依赖相同) -## 安装venus-wallet +## 安装 venus-wallet 下载并编译`Venus-wallet`的源代码。 @@ -93,7 +93,7 @@ Password set successfully :::warning -请备份您的密码并妥善保存,否则你将无法使用wallet相关的功能。每次venus-wallet run启动时带--password标志会自动解锁钱包,如果没带,在wallet实例启动后你需要手动解锁: +请备份您的密码并妥善保存,否则你将无法使用 wallet 相关的功能。每次 venus-wallet run 启动时带--password 标志会自动解锁钱包,如果没带,在 wallet 实例启动后你需要手动解锁: ```bash $ ./venus-wallet unlock Password: @@ -102,11 +102,11 @@ Password: $ ./venus-wallet lock-state wallet state: unlocked ``` -在扇区封装的过程中需要调用wallet进行签名,如果不解锁,会导致签名失败,进而导致扇区任务失败. +在扇区封装的过程中需要调用 wallet 进行签名,如果不解锁,会导致签名失败,进而导致扇区任务失败。 ::: -生成owner和worker地址。(如果您没有现有的miner ID) +生成 owner 和 worker 地址。(如果您没有现有的 miner ID) ```bash $ ./venus-wallet new bls @@ -121,7 +121,7 @@ $ ./venus-wallet new bls ::: -***配置venus-wallet接入共享服务,使用您从共享模块管理员处获得的帐号信息更改 `~/.venus_wallet/config.toml`中的`[APIRegisterHub]` 部分*** +***配置 venus-wallet 接入共享服务,使用您从共享模块管理员处获得的帐号信息更改 `~/.venus_wallet/config.toml`中的`[APIRegisterHub]` 部分*** ```toml [APIRegisterHub] @@ -154,11 +154,11 @@ $ nohup ./venus-wallet run > wallet.log 2>&1 & :::warning -请确保venus-wallet 处于unlocked状态,要么会在Sealer模块初始化时卡在 "Waiting for confirmation",导致miner帐号生成不了。 +请确保 venus-wallet 处于 unlocked 状态,要么会在 Sealer 模块初始化时卡在 "Waiting for confirmation",导致 miner 帐号生成不了。 ::: -## 安装venus-cluster +## 安装 venus-cluster 下载代码。 @@ -212,7 +212,7 @@ $ ./venus-sector-manager util miner create ``` ::: -### 配置venus-sector-manager +### 配置 venus-sector-manager 按需配置默认配置文件`~/.venus-sector-manager/sector-manager.cfg`。这里给出一份参考,详细配置说明可以参见[这里](/zh/cluster/Venus-Sector-Manager)。 @@ -223,11 +223,11 @@ $ ./venus-sector-manager util miner create Chain = "/ip4/{api_host}/tcp/{api_port}" # 消息服务地址,必填项,字符串类型 Messager = "/ip4/{api_host}/tcp/{api_port}" - # 市场服务地址,封装真实数据时为必填项,字符串类型,CC数据非必填项 + # 市场服务地址,封装真实数据时为必填项,字符串类型,CC 数据非必填项 # Market = "/ip4/{api_host}/tcp/{api_port}" # 网关服务地址,必填项,字符串类型 Gateway = "/ip4/{api_host}/tcp/{api_port}" - # 服务 token, 必填项,字符串类型 + # 服务 token,必填项,字符串类型 Token = "{auth token}" [[Common.PieceStores]] @@ -235,7 +235,7 @@ $ ./venus-sector-manager util miner create #Path = "{store_path}" [[Common.PersistStores]] - # 名称, 选填项,字符串类型 + # 名称,选填项,字符串类型 Name = "{store_name1}" # 路径,必填项,字符串类型,建议使用绝对路径 Path = "{store_path1}" @@ -245,31 +245,31 @@ $ ./venus-sector-manager util miner create Path = "{store_path2}" [[Miners]] - # `SP` actor id, 必填项,数字类型,t033680->33680 + # `SP` actor id,必填项,数字类型,t033680->33680 Actor = 33680 [Miners.Sector] # 扇区起始编号,选填项,数字类型,默认值为 0 InitNumber = 0 - # 扇区编号上限,选填项,数字类型,默认值为 null, 表示无上限限制 + # 扇区编号上限,选填项,数字类型,默认值为 null,表示无上限限制 MaxNumber = 1000000 - # 是否允许分配扇区, 选填项,布尔类型,默认值为 true, 即开启分配 + # 是否允许分配扇区,选填项,布尔类型,默认值为 true,即开启分配 Enabled = true # 真实订单 EnableDeals = true [Miners.Commitment.Pre] - # 发送地址,必填项,地址类型,miner的worker地址 + # 发送地址,必填项,地址类型,miner 的 worker 地址 Sender = "t3vi4amwofexsfpontn5g722psgikzochthhhu3ptvofzrqmgajs67gt5n2ririlc4hj667dvfsn3kmxiwgtya" - # 单条提交消息的 Gas 估算倍数,选填项,浮点数类型,默认值为1.2 + # 单条提交消息的 Gas 估算倍数,选填项,浮点数类型,默认值为 1.2 #GasOverEstimation = 1.2 - # 单条提交消息的FeeCap 限制,选填项,FIL值类型,默认值为 5 nanoFIL + # 单条提交消息的 FeeCap 限制,选填项,FIL 值类型,默认值为 5 nanoFIL #MaxFeeCap = "5 nanoFIL" [Miners.Commitment.Pre.Batch] - # 是否启用聚合提交,选填项,布尔类型,默认值为 false, 即不启用 + # 是否启用聚合提交,选填项,布尔类型,默认值为 false,即不启用 Enabled = true - # 最小聚合条数,选填项,数字类型,默认值为 16,即最小聚合条数为 16条 + # 最小聚合条数,选填项,数字类型,默认值为 16,即最小聚合条数为 16 条 #Threshold = 16 # 最大等待时间,选填项,时间类型,默认值为 1h,即最大等待 1 小时 #MaxWait = "1h0m0s" @@ -277,10 +277,10 @@ $ ./venus-sector-manager util miner create #CheckInterval = "1m0s" # 聚合提交消息的 Gas 估算倍数,选填项,浮点数类型,默认值为 1.2 #GasOverEstimation = 1.2 - # 聚合提交消息的FeeCap 限制,选填项,FIL值类型,默认值为 5 nanoFIL + # 聚合提交消息的 FeeCap 限制,选填项,FIL 值类型,默认值为 5 nanoFIL #MaxFeeCap = "5 nanoFIL" - #用于配置 ProveCommit 消息提交的策略,其配置项和作用与 Miners.Commitment.Pre内的完全一致。 + #用于配置 ProveCommit 消息提交的策略,其配置项和作用与 Miners.Commitment.Pre 内的完全一致。 [Miners.Commitment.Prove] Sender = "t3vi4amwofexsfpontn5g722psgikzochthhhu3ptvofzrqmgajs67gt5n2ririlc4hj667dvfsn3kmxiwgtya" #GasOverEstimation = 1.2 @@ -304,7 +304,7 @@ $ ./venus-sector-manager util miner create #StrictCheck = true # WindowPoSt 消息的 Gas 估算倍数,选填项,浮点数类型,默认值为 1.2 #GasOverEstimation = 1.2 - # WindowPoSt 消息的FeeCap 限制,选填项,FIL值类型,默认值为 5 nanoFIL + # WindowPoSt 消息的 FeeCap 限制,选填项,FIL 值类型,默认值为 5 nanoFIL #MaxFeeCap = "5 nanoFIL" # 消息的稳定高度,选填项,数字类型,默认值为 10 #Confidence = 10 @@ -342,15 +342,15 @@ $ ./dist/bin/venus-worker store sealing-init -l <...> $ ./dist/bin/venus-worker store file-init -l ``` -规划用于各封装阶段的CPU核、numa 区域等配置。按需完成配置文件。以下为`worker`配置例子,更详细的配置项、作用、配置方法可以参考[这个](/zh/cluster/Venus-Worker-c)文档。 +规划用于各封装阶段的 CPU 核、numa 区域等配置。按需完成配置文件。以下为`worker`配置例子,更详细的配置项、作用、配置方法可以参考[这个](/zh/cluster/Venus-Worker-c)文档。 ```toml [worker] # 实例名,选填项,字符串类型,默认以连接 `venus-sector-manager` 所使用的网卡 IP 地址作为实例名 # name = "bytest" - # rpc 服务监听地址,选填项,字符串类型, 默认为"0.0.0.0",即监听本机所有地址 + # rpc 服务监听地址,选填项,字符串类型,默认为"0.0.0.0",即监听本机所有地址 # rpc_server.host = "0.0.0.0" - # rpc 服务监听端口,选填项,数字类型,默认为17890 + # rpc 服务监听端口,选填项,数字类型,默认为 17890 # rpc_server.port = 17890 [sector_manager] @@ -369,11 +369,11 @@ $ ./dist/bin/venus-worker store file-init -l # enable_deals = true # 封装过程中遇到 temp 类型的错误时,重试的次数,选填项,数字格式,默认为 5 # max_retries = 3 - # 封装过程中遇到 temp 类型的错误时,重试的间隔,选填项,时间字符串格式,默认为 “30s", 即30秒 + # 封装过程中遇到 temp 类型的错误时,重试的间隔,选填项,时间字符串格式,默认为“30s",即 30 秒 # seal_interval = "30s" - # 空闲的 `sealing_store` 申请封装任务的间隔, 选填项,时间字符串格式,默认为 ”30s", 即30秒 + # 空闲的 `sealing_store` 申请封装任务的间隔,选填项,时间字符串格式,默认为”30s",即 30 秒 # recover_interval = "30s" - # rpc 状态轮询请求的间隔,选填项,时间字符串格式,默认为 ”30s", 即30秒 + # rpc 状态轮询请求的间隔,选填项,时间字符串格式,默认为”30s",即 30 秒 # 封装过程中,部分环节使用了轮询方式来获取非实时的信息,如消息上链等。这个值有助于避免过于频繁的请求占用网络资源 # rpc_polling_interval = "30s" # 是否跳过 proof 的本地校验环节,选填项,布尔格式,默认为 false @@ -414,9 +414,9 @@ $ ./dist/bin/venus-worker store file-init -l [[sealing_thread]] location = "{path to sealing store8}" -# attached用于配置已完成的扇区持久化数据保存的位置,允许同时配置多个。 +# attached 用于配置已完成的扇区持久化数据保存的位置,允许同时配置多个。 [[attached]] - # 名称, 选填项,字符串类型,默认为路径对应的绝对路径 + # 名称,选填项,字符串类型,默认为路径对应的绝对路径 name = "bytest" # 路径,必填项,字符串类型,建议直接填写绝对路径 location = "/xx/xx/xxx" @@ -442,7 +442,7 @@ $ ./dist/bin/venus-worker store file-init -l numa_preferred = 0 # cpu 核绑定和限制选项,选填项,字符串类型,默认值为 null,不设置绑定,值的格式遵循标准 cgroup.cpuset 格式 cgroup.cpuset = "0-7" - # 声明本processor支持的最多并发量 + # 声明本 processor 支持的最多并发量 concurrent = 2 # 外部执行器的附加环境变量,选填项,字典类型,默认值为 null envs = { FIL_PROOFS_USE_MULTICORE_SDR = "1" } @@ -479,13 +479,13 @@ $ /path/to/venus-worker daemon -c /path/to/venus-worker.toml ``` :::tip -以上关于sector-manager.cfg和venus-worker.toml配置文件只是一份最简单的可运行配置,其他配置的详细信息可参[这些文档](/zh/cluster/)。 +以上关于 sector-manager.cfg 和 venus-worker.toml 配置文件只是一份最简单的可运行配置,其他配置的详细信息可参[这些文档](/zh/cluster/)。 ::: :::tip 关于配置文件需要注意的是:`venus-worker.toml`的`[[attached]]`中的`name = "xxx"` 和路径要与`sector-manager.cfg`中的`[[Common.PersistStores]] Name = "xxx"`和路径一致。 ::: -## 问题? +## 问题? 来[Slack](https://filecoinproject.slack.com/archives/C028PCH8L31)上找我们吧! diff --git a/docs/zh/operation/simple-load-balancing.md b/docs/zh/operation/simple-load-balancing.md index 25024ead0..372d46b6a 100644 --- a/docs/zh/operation/simple-load-balancing.md +++ b/docs/zh/operation/simple-load-balancing.md @@ -4,13 +4,13 @@ ## 前期准备 -1. 取消venus程序的jwt-token验证; -2. 本示例有两个venus节点: 192.168.1.125(mainnet),192.168.1.134(calibnet); -3. 192.168.1.134安装nginx作为负载均衡服务器; +1. 取消 venus 程序的 jwt-token 验证; +2. 本示例有两个 venus 节点:192.168.1.125(mainnet),192.168.1.134(calibnet); +3. 192.168.1.134 安装 nginx 作为负载均衡服务器; -## nginx配置 +## nginx 配置 -1. venus节点监听地址改为:/ip4/0.0.0.0/tcp/3453,文件: ~/.venus/api +1. venus 节点监听地址改为:/ip4/0.0.0.0/tcp/3453,文件:~/.venus/api 2. 负载均衡配置 @@ -49,7 +49,7 @@ include /www/server/panel/vhost/nginx/*.conf; } ``` -3. 重启nginx服务,这时就可以用nginx服务代理venus服务了 +3. 重启 nginx 服务,这时就可以用 nginx 服务代理 venus 服务了 ```shell script curl http://192.168.1.134:888/rpc/v0 -X POST -H "Content-Type: application/json" -d '{"method": "Filecoin.StateNetworkName","params":[],"id":1}' {"jsonrpc":"2.0","result":"mainnet","id":1} diff --git a/docs/zh/operation/venus-daemon.md b/docs/zh/operation/venus-daemon.md index 04a1fc801..82613e194 100644 --- a/docs/zh/operation/venus-daemon.md +++ b/docs/zh/operation/venus-daemon.md @@ -1,12 +1,12 @@ # 入门 -这是安装和运行Filecoin节点并连接到本地机器测试网络的指南。 +这是安装和运行 Filecoin 节点并连接到本地机器测试网络的指南。 ### 系统要求 Venus可以在大多数GNU/Linux和MacOS系统上构建和运行。尚不支持Windows。 -验证节点可以在大多数具有至少8GB RAM的系统上运行。挖矿节点需要大量的RAM和GPU资源,这取决于正在使用的扇区配置。 +验证节点可以在大多数具有至少 8GB RAM 的系统上运行。挖矿节点需要大量的 RAM 和 GPU 资源,这取决于正在使用的扇区配置。 ### 安装依赖项和系统配置 @@ -17,17 +17,17 @@ mkdir -p /path/to/filecoin-project git clone https://github.com/filecoin-project/venus.git /path/to/filecoin-project/venus ``` -#### 安装Go +#### 安装 Go `venus` 的构建过程需要 [Go](https://golang.org/doc/install) >= v1.17。 -> 第一次安装Go?我们推荐 [这个教程](https://www.ardanlabs.com/blog/2016/05/installing-go-and-your-workspace.html) 其中包括环境设置。 +> 第一次安装 Go?我们推荐 [这个教程](https://www.ardanlabs.com/blog/2016/05/installing-go-and-your-workspace.html) 其中包括环境设置。 -由于`venus`中使用了`cgo`,因此无论是使用预构建库还是从源代码处编译,都需要一个C编译器来构建它。要使用 `gcc` (例如`export CC=gcc`),需要v7.4.0或更高版本。 +由于`venus`中使用了`cgo`,因此无论是使用预构建库还是从源代码处编译,都需要一个 C 编译器来构建它。要使用 `gcc` (例如`export CC=gcc`),需要 v7.4.0 或更高版本。 -构建过程将下载一个静态库,其中包含[Filecoin Proof的实现](https://github.com/filecoin-project/rust-fil-proofs) (用Rust写的)。 +构建过程将下载一个静态库,其中包含[Filecoin Proof 的实现](https://github.com/filecoin-project/rust-fil-proofs) (用 Rust 写的)。 -> **注意:** 要从源代码生成证明,(1)必须安装Rust开发环境,(2)必须设置环境变量 `FFI_BUILD_FROM_SOURCE=1` 更多信息可在[filecoin-ffi](https://github.com/filecoin-project/filecoin-ffi)中找到。 +> **注意:** 要从源代码生成证明,(1)必须安装 Rust 开发环境,(2)必须设置环境变量 `FFI_BUILD_FROM_SOURCE=1` 更多信息可在[filecoin-ffi](https://github.com/filecoin-project/filecoin-ffi)中找到。 #### 安装依赖项 @@ -35,7 +35,7 @@ git clone https://github.com/filecoin-project/venus.git /path/to/filecoin-projec make deps ``` - > **注意:** 第一次`deps` 启动可能**慢**,因为需要下载和编译 `filecoin-ffi`。 + > **注意:** 第一次`deps` 启动可能**慢**,因为需要下载和编译 `filecoin-ffi`。 ### 构建和运行测试 @@ -74,48 +74,48 @@ go run ./build test -race go run ./build all ``` -> **注意:** 传递给 `go run ./build test` 的任何标志(例如 `-cover`) 都将传递给 `go test`。 +> **注意:** 传递给 `go run ./build test` 的任何标志 (例如 `-cover`) 都将传递给 `go test`。 **对于构建中的所有问题**, 请参阅 [故障排除](https://go.filecoin.io/venus-tutorial/Troubleshooting-&-FAQ.html) 文档内容。 -## 开始运行Filecoin +## 开始运行 Filecoin -1. 如果以前在系统上运行过`venus` ,请删除现有的Filecoin repo(**这将删除所有以前的Filecoin数据**): +1. 如果以前在系统上运行过`venus` ,请删除现有的 Filecoin repo(**这将删除所有以前的 Filecoin 数据**): ```sh rm -rf ~/.venus ``` -2. 启动venus守护进程: +2. 启动 venus 守护进程: ```sh venus daemon ``` -这应该返回“我的peerID是``” , 其中 `` 是一个长的 [CID](https://github.com/filecoin-project/specs/blob/master/definitions.md#cid) ,是以“Qm”开头的字符串。 +这应该返回“我的 peerID 是``” , 其中 `` 是一个长的 [CID](https://github.com/filecoin-project/specs/blob/master/definitions.md#cid) ,是以“Qm”开头的字符串。 3. 检查节点的连接: ```sh venus swarm peers # list addresses of peers to which you're connected ``` -该节点现在应该连接到一些peer,并将开始下载和验证区块链。 +该节点现在应该连接到一些 peer,并将开始下载和验证区块链。 - > **注意:** 守护进程现在正在自己的终端中无限期运行 (`Ctrl + C` 退出)。要运行其他`venus` 命令,请打开第二个终端选项卡或窗口 (在Mac上是 `Cmd + T`)。 + > **注意:** 守护进程现在正在自己的终端中无限期运行 (`Ctrl + C` 退出)。要运行其他`venus` 命令,请打开第二个终端选项卡或窗口 (在 Mac 上是 `Cmd + T`)。 -## 从Filecoin水龙头获取FIL +## 从 Filecoin 水龙头获取 FIL -**一旦你的链完成同步**, 你将可以使用水龙头获得filecoin代币(FIL)。在Filecoin节点可以参与市场之前需要一些启动文件,客户需要在他们的帐户中输入FIL,以便与矿工进行存储交易。矿工在最初向网络抵押存储时使用FIL作为抵押品。 +**一旦你的链完成同步**, 你将可以使用水龙头获得 filecoin 代币(FIL)。在 Filecoin 节点可以参与市场之前需要一些启动文件,客户需要在他们的帐户中输入 FIL,以便与矿工进行存储交易。矿工在最初向网络抵押存储时使用 FIL 作为抵押品。 -在早期测试中,可以从Filecoin水龙头获得模拟的测试FIL。“水龙头”之所以得名,是因为它能把FIL发放到那些把钱包放在它下面的人。使用模拟的测试FIL可以对市场动态进行初步测试,而无需任何真实资金。 +在早期测试中,可以从 Filecoin 水龙头获得模拟的测试 FIL。“水龙头”之所以得名,是因为它能把 FIL 发放到那些把钱包放在它下面的人。使用模拟的测试 FIL 可以对市场动态进行初步测试,而无需任何真实资金。 -FIL的所有余额都存放在钱包里。新创建节点时,它将有一个余额为0 FIL的Filecoin钱包。 +FIL 的所有余额都存放在钱包里。新创建节点时,它将有一个余额为 0 FIL 的 Filecoin 钱包。 1. 检索您的钱包地址: ```sh venus wallet ls ``` -2. 输出的应该是一个长的字母数字字符串。转到testnet的 [水龙头](https://faucet.calibration.fildev.network/) 并提交那个钱包地址。要花一分钟才能把钱放进钱包。 +2. 输出的应该是一个长的字母数字字符串。转到 testnet 的 [水龙头](https://faucet.calibration.fildev.network/) 并提交那个钱包地址。要花一分钟才能把钱放进钱包。 * 或者你可以从命令行触发水龙头: ```sh @@ -123,29 +123,29 @@ export WALLET_ADDR=`venus wallet ls` # fetch your wallet address into a handy MESSAGE_CID=`curl -X POST -F "address=${WALLET_ADDR}" "https://faucet.calibration.fildev.network/send"` ``` -3. 水龙头将提供消息CID。如果链已与网络同步,则此消息应在大约30秒内处理。可以运行以下命令以等待确认: +3. 水龙头将提供消息 CID。如果链已与网络同步,则此消息应在大约 30 秒内处理。可以运行以下命令以等待确认: ```sh venus state wait-msg ${MESSAGE_CID} ``` -4. 通过检查钱包余额验证FIL是否已转入钱包中: +4. 通过检查钱包余额验证 FIL 是否已转入钱包中: ```sh venus wallet balance ${WALLET_ADDR} ``` ## 等待链同步 -🎉 恭喜,您现在已连接到Filecoin!守护进程现在正忙于同步和验证现有的区块链,这可能需要一段时间---数小时甚至数天,具体取决于网络时间和活动。 +🎉 恭喜,您现在已连接到 Filecoin!守护进程现在正忙于同步和验证现有的区块链,这可能需要一段时间---数小时甚至数天,具体取决于网络时间和活动。 -在同步初期,一个CPU内核上会有激烈的活动。首先通过访问 [网络统计页](https://stats.testnet.filecoin.io) 了解当前块的高度,然后观察节点同步进度: +在同步初期,一个 CPU 内核上会有激烈的活动。首先通过访问 [网络统计页](https://stats.testnet.filecoin.io) 了解当前块的高度,然后观察节点同步进度: ```sh venus sync status ```` ## 查看网络信息 -有一些可视化工具可以帮助用户了解Filecoin网络中正在发生的事情,例如官方的 [网络统计页面](http://stats.testnet.filecoin.io/) 以及社区管理的区块浏览器 [filscan.io](https://filscan.io)。 +有一些可视化工具可以帮助用户了解 Filecoin 网络中正在发生的事情,例如官方的 [网络统计页面](http://stats.testnet.filecoin.io/) 以及社区管理的区块浏览器 [filscan.io](https://filscan.io)。 ## 组件默认端口 @@ -158,4 +158,4 @@ Sealer 2345 Worker 3456 ``` -在构建Venus各组件过程中可能会产生RPC链接问题,可以运行类似 telnet 10.50.110.59 12308 命令测试各组件端口是否打开。 +在构建 Venus 各组件过程中可能会产生 RPC 链接问题,可以运行类似 telnet 10.50.110.59 12308 命令测试各组件端口是否打开。 diff --git a/docs/zh/operation/venus-run-in-docker.md b/docs/zh/operation/venus-run-in-docker.md index ea315a983..b23bcbf3b 100644 --- a/docs/zh/operation/venus-run-in-docker.md +++ b/docs/zh/operation/venus-run-in-docker.md @@ -3,7 +3,7 @@ ## 快速部署 ### docker compose -可以通过 docker compose 在当前主机上,部署venus的一套云组件。 +可以通过 docker compose 在当前主机上,部署 venus 的一套云组件。 - 获取 compose 配置文件 @@ -38,16 +38,16 @@ make chain ``` -云环境启动后会需要一定的时间进行初始化,初始化完成后,就可以使用auth 组件签发token (详细见 使用 章节),并将下游组件的连接到本主机即可。(另:集群中使用统一的admin token 会导出在 `./.venus/env/` 中) +云环境启动后会需要一定的时间进行初始化,初始化完成后,就可以使用 auth 组件签发 token(详细见 使用 章节),并将下游组件的连接到本主机即可。(另:集群中使用统一的 admin token 会导出在 `./.venus/env/` 中) 为了方便修改配置,默认会将容器中的 repo 映射到本地的 `./.venus/root/`中,修改完配置之后直接重启容器即可 :::warning -在miner初始化完成之后要记得通过auth 绑定到相应的用户,参见[添加矿工](https://github.com/filecoin-project/venus-auth/blob/master/docs/zh/%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B.md#miner-%E7%9B%B8%E5%85%B3) +在 miner 初始化完成之后要记得通过 auth 绑定到相应的用户,参见[添加矿工](https://github.com/filecoin-project/venus-auth/blob/master/docs/zh/%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B.md#miner-%E7%9B%B8%E5%85%B3) ::: :::warning -在miner初始化完成之后,需要将miner关联到market,参见[将miner的Multiaddrs和PeerID设置为market的对应地址](https://venus.filecoin.io/zh/market/using-venus-market-for-miner.html#%E4%BD%BF%E7%94%A8%E8%87%AA%E5%B7%B1%E7%9A%84venus%E8%8A%82%E7%82%B9)部分 +在 miner 初始化完成之后,需要将 miner 关联到 market,参见[将 miner 的 Multiaddrs 和 PeerID 设置为 market 的对应地址](https://venus.filecoin.io/zh/market/using-venus-market-for-miner.html#%E4%BD%BF%E7%94%A8%E8%87%AA%E5%B7%B1%E7%9A%84venus%E8%8A%82%E7%82%B9)部分 ::: @@ -133,7 +133,7 @@ filvenus/venus-market pool-run \ ``` -## Docker容器的使用 +## Docker 容器的使用 #### 基本使用 所有组件都可以使用以下通用的命令格式进行调用,组件详细的子命令参见 组件详细文档,以及 --help flag @@ -165,7 +165,7 @@ docker exec -it filvenus/venus-miner [global options] command [command options] #### 环境调整和配置文件 -建议将配置文件映射到本地进行配置文件相关的配置,需要在启动容器的时候建立映射。 +建议将配置文件映射到本地进行配置文件相关的配置,需要在启动容器的时候建立映射。 ```shell # venus 举例 diff --git a/script/download.js b/script/download.js index 1b347c84a..e5722e5b3 100644 --- a/script/download.js +++ b/script/download.js @@ -32,7 +32,7 @@ function downloadFile(uri, dest) { axios.get(rawUri, param).then(res => { if (res.status !== 200) { content = `# 文档引用 - 请访问这个[链接](${uri}),了解更多相关信息。` + 请访问这个 [链接](${uri}),了解更多相关信息。` file.write(content) console.log(`download error : ${res.statusCode}(${rawUri})`); return;