filecoin源码解读(一)初始化节点

Online
个人专栏
热度: 37033

filecoin源码解读(一)初始化节点

filecoin源码解读(一)初始化节点

为了便于理解,就根据部署filecoin挖矿节点的步骤来解读,看看部署节点时,每一步命令都在干什么。

首先从初始化开始,最简单的初始化命令go-filecoin init --devnet-user --genesisfile=https://genesis.user.kittyhawk.wtf/genesis.car

初始化的全部参数

--genesisfile                   用于指定创世文件
--peerkeyfile                   指定节点私钥文件
--with-miner                    指定矿工地址
--sectordir                     指定存储扇区路径(即存放用户数据的路径)
--default-address               指定节点默认钱包地址
--auto-seal-interval-seconds    指定自动封装扇区的时间间隔
--devnet-staging                指定staging开发网络
--devnet-nightly                指定nightly开发网络
--devnet-user                   指定user开发网络

其中网络类型(staging、nightly、user网络)和创世文件是必须指定的。

具体代码在commands/init.go中:
初始化时首先要设置repopath,也就是节点数据的存储路径,用--repodir参数来指定,未指定时默认为const defaultRepoDir = "~/.filecoin",也就是用户目录下的名为filecoin的隐藏文件夹。
之后加载创世文件loadGenesis(),然后调用node.Init(),传入repo路径,网络类型(包括user网络、test网络、nightly网络),及创世文件等参数,再调用chain.Init()来初始化一个节点。

最后根据初始化命令中的一些参数来生成节点配置文件rep.ReplaceConfig()

chain.Init()rep.ReplaceConfig()中会生成节点默认钱包地址、私钥、节点快照等配置文件,保存在.filecoin-20191024-095628-v002文件夹中,而.filecoin文件夹是前者的软链接。

当所有配置文件生成后,一个节点就初始化完成了,go-filecoin init命令也就执行结束了,不会持久运行。

之后需要用go-filecoin daemon命令来启动节点,让节点持久运行。

成功初始化如图
filecoin源码解读

声明:本文为入驻“火星财经 专栏”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
本内容旨在传递行业动态,不构成投资建议或承诺。