http://www.xiaoyenzi.com

Filecoin在本地运行网络

Filecoin

运行本地网络

有时,在开发或播放中设置本地网络进行测试会很有帮助。目前有两种不同的方式来设置网络。
  • 手动使用gengen工具
  • 自动使用localnet工具

目录

  • 使用gengen工具手动设置网络
    • 组态
    • 生成输出
    • 使用输出
  • 使用localnet工具自动进行网络设置
  • 基本用法
  • 常规部门

使用gengen工具手动设置网络

自述
Gengen工具是一个命令行工具,用于生成引导网络所需的资产。该工具构建了genesis.car在连接到devnet以及其他一些资产时提供给用户的工具。我们将详细讨论这些内容。

组态

Gengen使用配置文件来描述它将产生的资产。该文件描述了将生成的钱包(帐户参与者)的数量,每个钱包的余额以及钱包是否有与之关联的矿工。
config.json
{
   “ keys ”:5,
   “ preAlloc ”:[
     “ 1000 ”,
     “ 2000 ”,
     “ 3000 ”,
     “ 4000 ”,
     “ 5000 ”,
  ]
  “矿工”:[{
     “所有者”: 0,
     “权力”: 1
  }]
}
注意:go-filecoin/fixtures/目录中提供了默认配置
keys属性定义要创建的钱包数。这将生成一组文件0.key...n.key,其中n值为keys - 1。这些文件将在工作目录中生成,但可以通过提供-keypath运行gengen命令时更改输出。
preAlloc属性定义钱包的预分配资金。数值(表示为支持大值的字符串)通过它在数组中的位置与键相关联。这意味着带有钥匙的钱包0.key将具有1000FIL,而4.key具有5000
miners属性定义了矿工及其在网络上的电量。功率是密封扇区的度量。目前这种力量是假的,但大多数情况下都是真实的。Gengen 很快就可以创建真正的密封部门。最好保持低功率值。这owner是关键指标,所以关键0.key是所有者0

生成输出

有两个主要输出gengen,附加的n.key文件便于导入。
-out-car 此选项定义文件的位置和名称car,通常您会看到此命名genesis.car。该文件用于将创世块加载到节点中。这是通过在--genesisfile期间提供选项来完成的go-filecoin init
-out-json 此选项定义地址信息的位置和名称。此文件包含钱包私钥以及矿工地址。此文件中的私钥与密钥文件相同0.key...n.key。提供密钥文件是一种导入单个密钥的简便方法。

使用输出

以下文件描述了配置节点以使用genesis文件中的信息的设置过程。下面我们将讨论如何使用里面的文件fixtures来完成这个过程。
genesis文件包含链的种子。它基本上是零块。该块包含的消息为一个矿工和令牌提供给某些其他地址(帐户参与者/钱包)。
要在创世纪中使用矿工,我们必须导入矿工所有者(帐户参与者/钱包),配置一些值,并更新与矿工相关联的同行。
注意:以下命令假定您在go-filecoin源目录中运行。预计下面的每个块都在不同的终端窗口中运行。
./go-filecoin init --genesisfile =。/ fixtures / test / genesis.car
./go-filecoin守护进程
在另一个终端:
mineraddr = $( JQ -r ' .Miners [0]。地址' ./fixtures/test/gen.json ) 
的peerID = $( ./go-filecoin --enc = JSON ID | JQ -r ' .ID ') 
./go-filecoin config mining.minerAddress $ mineraddr 
walletaddr = $( ./ go-filecoin --enc = json wallet import ./fixtures/test/0.key | jq -r ' .Addresses [0] ') 
./ go-filecoin config wallet.defaultAddress $ walletaddr 
./go-filecoin miner update-peerid --from $ walletaddr --gas-price 0.001 --gas-limit = 300$ mineraddr  $ peerid
./go-filecoin挖掘开始
./go-filecoin钱包余额$ walletaddr
您应该看到非零余额。通过遵循标准方法并使用此创世节点作为接收资金的方式,可以实现建立额外的矿工。

使用localnet工具自动进行网络设置

自述
localnet是使用我们的FAST库构建的工具。它提供了一种自动设置localnet的方法,并消除了处理gengenagasint不同filecoin repos命令的执行要求。
Localnet更进一步,处理矿工节点的构建,如果使用,你必须手动完成gengen。所有配置localnet都可以在上面链接的自述文件中找到。
您将需要构建localnet,并且它仅与go-filecoin从同一提交构建的二进制文件兼容。建筑很容易:
cd tools / fast / bin / localnet
go build -o localnet main.go
使用localnet非常简单。一些例子将展示这一点:

基本用法

当使用所有默认标志时,localnet将使用go-filecoin位于项目目录下的二进制文件filecoin-project/go-filecoin。它将默认为我们的小部门,创造了五个矿工。该-shell标志告诉localnet创建一个额外的节点,并go-filecoin在路径中正确启动shell ,随时可以使用。该节点已经连接到所有矿工,并且其默认钱包中有100,000个FIL。
localnet $ ./localnet -shell

常规部门

使用带有localnet的常规大小的扇区可能会对系统造成极大的负担,并且由于矿工人数的增加,应该可以避免在笔记本电脑上使用。5通过传递-miner-count标志可以从默认值减少整体矿工数量。
localnet $ ./localnet -small-sectors = false -miner-count = 2 -shell
有关./localnet -help其他配置选项,请参阅参考资料,或参阅上面链接的localnet README。
文章来源:https://github.com/filecoin-project/go-filecoin/wiki/Running-a-network-locally

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。