filecoin/lotus 官方开发文件中文翻译2019.12.17最新版本

filecoin官方开发文档


Filecoin Testnet Mining在这里插入图片描述

荷花

Lotus是Filecoin分布式存储网络的实现。可以运行lotus客户端来加入filecoin 测试网。

有关Filecoin的更多详细信息,请查看 Filecoin Spec.

通过本文档可以了解到:

  • 如何在Arch Linux,Ubuntu或MacOS上安装Lotus 。
  • 加入Lotus Testnet
  • 存储或检索数据。
  • 在CLI中使用Lotus Storage Miner挖掘Filecoin 。

是什么让Lotus与众不同?

Lotus经过模块化设计,可以在使用同一过程的同时保持API边界的整洁。安装Lotus将包括两个单独的程序:

  • 莲花节点: 莲花节点充满了能力。 它运行区块链系统,进行检索交易,进行数据传输,支持区块生产者逻辑,并同步和验证链。

  • 莲花存储矿工: 储存矿工(lotus-storage-miner)存储矿工的逻辑。 它有自己专用的过程。通过部门承诺为网络做出贡献,并时空证明以证明它正在存储扇区它已经承诺。

莲花存储矿工旨在被管理的单个存储矿工实例的机器上运行,通过websocket JSON-RPC API与Lotus Node通信,以满足所有链交互需求。
这样,挖掘操作可以轻松地运行一个或多个Lotus Storage Miner,并将其连接到一个或多个Lotus Node实例。

查看Markdown 我们的文档位于GitHub上。您可以提交拉取请求,以帮助我们使此文档保持最新状态。

问题 GitHub问题页面上跟踪了我们团队的所有工作。如果您想了解开发更新,请去那里。

论坛 在这里询问有关Filecoin的Lotus实现的问题。

聊天 我们的主要聊天频道跨Matrix,IRC和Slack桥接

测试币获取 您需要Filecoin进行测试吗?从Testnet水池接口中获取一些吧

硬件:

此页面正在进行中。确切的采矿硬件要求仍在评估中。

Lotus可以在具有至少8GB RAM的大多数Linux和MacOS系统上构建和运行。

Windows尚不支持。

测试配置:

协议实验室标准测试配置

本文档页面描述了协议实验室团队用来在Lotus上测试Lotus Storage Miner的标准测试配置。无法保证此测试配置将适用于Mainnet启动时的Filecoin存储挖掘。如果您需要购买新硬件以加入Filecoin Testnet,建议您购买的硬件数量不超过测试所需的数量。要了解更多信息,请阅读此协议实验室标准测试配置文章。

开采区块所需的扇区大小和最低保证的存储量是影响硬件决策的两个非常重要的Filecoin Testnet参数。我们将在Testnet期间继续完善所有参数。

由于这个原因,我们对Filecoin Mainnet的标准测试配置可能会发生变化。你被警告了。

配置示例

以下设置是在Lotus上密封32个GiB扇区的最小示例:

  • 2 TB硬盘空间。
  • 8核CPU
  • 128 GiB的RAM

测试网参与者发现:

如果您只有128GiB的内存,则在SSD上启用256GB的NVMe交换将有助于您避免挖掘时出现内存不足的问题。

基准GPU

GPU是获得块状奖励的必备条件。这些已被证实可以足够快地生成SNARK(零知识证明)以便成功在Lotus Testnet上挖掘数据块的方法如下:

  • GeForce RTX 2080 Ti
  • GeForce RTX 2080超级
  • GeForce RTX 2080
  • GeForce GTX 1080 Ti
  • GeForce GTX 1080
  • GeForce GTX 1060

测试其他GPU

如果要测试不受显式支持的GPU,则可以使用以下配置标志:

BELLMAN_CUSTOM_GPU="<NAME>:<NUMBER_OF_CORES>"

这是尝试使用1536个内核的GeForce GTX 1660 ti的示例。

BELLMAN_CUSTOM_GPU="GeForce GTX 1660 Ti:1536"

要获取GPU的内核数量,您需要检查卡的规格。

标杆管理

这是一个基准测试工具GitHub问题线程,适合那些希望尝试并为Filecoin Testnet进行硬件设置的人员。

安装lotus

Arch Linux系统

这些步骤将安装以下依赖项:

  • go (1.13 or higher)
  • gcc (7.4.0 or higher)
  • git (version 2 or higher)
  • bzr (some go dependency needs this)
  • jq
  • pkg-config
  • opencl-icd-loader
  • opencl driver (like nvidia-opencl on arch) (for GPU acceleration)
  • opencl-headers (build)
  • rustup (proofs build)
  • llvm (proofs build)
  • clang (proofs build)
    
    运行
sudo pacman -Syu opencl-icd-loader

编译

sudo pacman -Syu go gcc git bzr jq pkg-config opencl-icd-loader opencl-headers

下载源码

git clone https://github.com/filecoin-project/lotus.git
cd lotus/

安装

make clean && make all
sudo make install

安装Lotus之后,可以直接从CLI 运行命令以查看用法文档。接下来,您可以加入Lotus Testnet

ubuntu系统

这些步骤将安装以下依赖项:

  • go (1.13 or higher)
  • gcc (7.4.0 or higher)
  • git (version 2 or higher)
  • bzr (some go dependency needs this)
  • jq
  • pkg-config
  • opencl-icd-loader
  • opencl driver (like nvidia-opencl on arch) (for GPU acceleration)
  • opencl-headers (build)
  • rustup (proofs build)
  • llvm (proofs build)
  • clang (proofs build)

Run

sudo apt update
sudo apt install mesa-opencl-icd ocl-icd-opencl-dev

build

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go gcc git bzr jq pkg-config mesa-opencl-icd ocl-icd-opencl-dev

clone

git clone https://github.com/filecoin-project/lotus.git
cd lotus/

install

make clean && make all
sudo make install

安装Lotus之后,可以直接从CLI 运行命令以查看用法文档。接下来,您可以加入Lotus Testnet

Macos系统

获取XCode命令行工具

要检查是否已经通过CLI安装了XCode命令行工具,请运行:

xcode-select -p

如果此命令返回路径,则可以继续进行下一步。否则,要通过CLI安装,请运行:

xcode-select --install

要更新,请运行:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

取得HomeBrew

我们建议MacOS用户使用HomeBrew安装每个必需的软件包。

检查您是否有HomeBrew:

brew -v

如果您已安装HomeBrew,则此命令将返回版本号,否则不返回任何内容。

在您的终端中,输入以下命令来安装Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

使用命令安装以下软件包:brew install

brew install go bzr jq pkg-config rustup

克隆

git clone https://github.com/filecoin-project/lotus.git
cd lotus/

建立

make clean && make all
sudo make install

安装Lotus之后,可以直接从CLI 运行命令以查看用法文档。接下来,您可以加入Lotus Testnet

更新Lotus

如果在计算机上安装了Lotus,则可以执行以下操作来升级到最新版本:

# get the latest
git pull origin master

# clean and remake the binaries
make clean && make build

有时,当你运行区块同步命令后,lotus daemon 可能会中断退出。

这是一条命令,它将删除您的链数据、已存储的钱包和您已设置的任何矿工:

rm -rf ~/.lotus ~/.lotusstorage

该命令通常可以解决正在运行lotus的命令的所有问题,但并非总是需要进行更新。我们将分享有关何时重置您的链数据以及将来需要矿工进行更新的信息。

加入Filecoin Testnet

介绍

任何人都可以设置Lotus Node并连接到Lotus Testnet。这是探索当前CLI和Filecoin分散存储市场的最佳方法。

如果安装了旧版本,则如果遇到任何错误,可能需要清除现有的链数据,存储的钱包和矿工。您可以使用以下命令:

rm -rf ~/.lotus ~/.lotusstorage

开始吧

使用以下命令中的默认配置启动守护程序:./build

lotus daemon

在另一个终端窗口中,检查您与对等方的连接:

lotus net peers | wc -l

为了连接到网络,您需要至少连接1个对等方。如果您看到0位同行,请阅读我们的故障排除说明

链同步

守护程序运行时,下一个要求是同步链。运行以下命令以启动链同步进度。要查看当前的链高,请访问网络统计页面

lotus sync wait
  • 此步骤将花费30分钟到几个小时不等。
  • 完成后,您将能够执行Lotus TestNet操作。

创建您的第一个地址

使用BLS签名格式初始化钱包:

lotus wallet new bls

这是响应的示例:

t3vhfme4qfvegqaz7m7q6o6afjcs67n6kpzv7t2eozio4chwpafwa2y4l7zhwd5eom7jmihzdg4s52dpvnclza
  • 访问水龙头(创建矿工、汇款)以增加资金。
  • 粘贴您创建的地址。
  • 按发送按钮。

查看钱包地址余额

Wallet balances in the Lotus Testnet are in FIL, the smallest denomination of FIL is an attoFil, where 1 attoFil = 10^-18 FIL.
Lotus Testnet中的钱包余额以FIL表示,FIL的最小面额是attoFil,其中1 attoFil = 10 ^ -18 FIL。

lotus wallet balance <YOUR_NEW_ADDRESS>

如果您的链未完全同步,您的钱包中将看不到任何attoFIL 。

将FIL发送到另一个钱包

要将FIL发送到另一个钱包,请使用以下命令:

lotus send <target> <amount>

监控仪表板

要查看最新的网络活动,包括链块高度,拦网高度,blocktime,总网络电源,最大块生产矿工,检查出的监控仪表板

疑难解答

这是一个命令,它将删除您的链数据,存储的钱包,存储的数据以及您已设置的任何矿工:

rm -rf ~/.lotus ~/.lotusstorage

该命令通常可以解决运行lotus中的所有问题,但并非始终需要更新。我们将分享有关何时重置您的链数据以及将来需要矿工进行更新的信息。

Lotus daemon问题

  • 尝试再次运行构建步骤,并确保您具有GitHub上的最新代码。
WARN  peermgr peermgr/peermgr.go:131  failed to connect to bootstrap peer: failed to dial : all dials failed
  * [/ip4/147.75.80.17/tcp/1347] failed to negotiate security protocol: connected to wrong peer
  • 尝试删除文件系统的目录。用检查它是否存在。~/.lotusls ~/.lotus
ERROR hello hello/hello.go:81 other peer has different genesis!
  • 您已经在运行另一个莲花守护进程。
- repo is already locked

失败的讯息

将会发生一些不会阻止Lotus工作的错误:

-有人要求您提供您没有的数据CID

ERROR chainstore  store/store.go:564  get message get failed: <Data CID>: blockstore: block not found

仓储采矿

这里是学习如何执行存储挖掘的说明。有关硬件规格,请阅读此内容

在首次尝试进行存储挖掘之前,先加入Testnet很有用。

注意:当矿工运行时,会有许多和日志

开始吧

请使用以下命令确保您的钱包中至少有一个BLS地址:

lotus wallet list

使用您的钱包地址:

  • 参观水龙头
  • 点击“创建矿工”
  • 不要刷新页面。此操作可能需要一些时间。

当您看到以下内容时,任务将完成:

New storage miners address is: <YOUR_NEW_MINING_ADDRESS>

初始化存储矿工

在CLI窗口中,使用以下命令启动您的矿工:

lotus-storage-miner init --actor=ACTOR_VALUE_RECEIVED --owner=OWNER_VALUE_RECEIVED

lotus-storage-miner init --actor=t01424 --owner=t3spmep2xxsl33o4gxk7yjxcobyohzgj3vejzerug25iinbznpzob6a6kexcbeix73th6vjtzfq7boakfdtd6a

您将需要等待一段时间才能完成此操作。

挖矿

开采:

lotus-storage-miner run

如果要下载Filecoin Proof Parameters,则下载可能需要一些时间。如果您位于中国的地理位置,则可以尝试我们的JD Cloud CDN

获取有关您的矿工的信息:

lotus-storage-miner info
# example: miner id `t0111`

密封随机数据以开始生成PoSts:

lotus-storage-miner pledge-sector
  • 警告:在Linux配置上,此命令将写入通常不是最大分区的数据。如果可能,应将值指向更大的分区$TMPDIR

获取矿工的权力和行业使用情况:

lotus-storage-miner state power
# returns total power

lotus-storage-miner state power <miner>

lotus-storage-miner state sectors <miner>

更改昵称

更新:~/.lotus/config.toml

[Metrics]
Nickname="fun"

静态端口设置

根据网络的设置方式,您可能需要设置一个静态端口以成功连接到对等方,以与Lotus Storage Miner进行存储交易。

设置

要更改随机群端口,可以编辑 L O T U S S T O R A G E P A T H c o n f i g . t o m l LOTUS_STORAGE_PATH下的config.toml文件。 该文件的默认位置是 HOME/.lotusstorage。

改变端口到1347:

[Libp2p]
  ListenAddresses = ["/ip4/0.0.0.0/tcp/1347", "/ip6/::/tcp/1347"]

修改端口值后,需要重启lotus daemon

ubuntu防火墙简单示例:

手动打开防火墙:

ufw allow 1347/tcp

或者修改位于/etc/ufw/applications.d/lotus-daemon 的配置文件:

[Lotus Daemon]
title=Lotus Daemon
description=Lotus Daemon firewall rules
ports=1347/tcp

之后,运行下面的命令:

ufw update lotus-daemon
ufw allow lotus-daemon

挖矿故障排除

更改Filecoin证明参数目录

如果要将Filecoin证明参数放在其他目录中,请使用以下环境变量:

FIL_PROOFS_PARAMETER_CACHE

贝尔曼锁文件

该贝尔曼锁文件创建锁的过程的GPU。如果未正确清理此文件,则会发生此错误:

mining block failed: computing election proof: github.com/filecoin-project/lotus/miner.(*Miner).mineOne

当存储矿工无法获取时,会发生此错误。要解决此问题,您需要停止并删除。bellman.locklotus-storage-miner/tmp/bellman.lock

你的矿工还没准备好

lotus-storage-miner info
# WARN  main  lotus-storage-miner/main.go:73  failed to get api endpoint: (/Users/myrmidon/.lotusstorage) %!w(*errors.errorString=&{API not running (no endpoint)}):

如果看到此消息,则意味着您的Lotus Storage Miner尚未准备就绪。您需要完成同步链

您的电脑速度太慢

CAUTION: block production took longer than the block delay. Your computer may not be fast enough to keep up

如果看到此消息,则意味着您的计算机速度太慢,并且您的区块不包含在链中,并且您将不会获得任何奖励。

存储空间不足

lotus-storage-miner pledge-sector
# No space left on device (os error 28)

如果看到这种情况,则意味着写入了太多数据,默认情况下是根分区写入了该数据(这在Linux安装程序中很常见)。通常,您的根分区不会获得最大的存储分区,因此您需要将环境变量更改为其他变量。pledge-sector$TMPDIR

储存资料

有关这些说明的最新错误报告。如果您碰巧遇到任何问题,请创建一个GitHub问题,维护者将尽快解决该问题。

以下是有关如何在Lotus Testnet上存储数据的说明。

在本地添加文件

在本地添加文件使您可以在Lotus Testnet上进行矿工交易。

lotus client import ./your-example-file.txt

成功后,此命令将返回Data CID

列出您的本地文件

该命令来查看文件的列表中,,以字节为单位,并且:

lotus client local

输出示例:

bafkreierupr5ioxn4obwly4i2a5cd2rwxqi6kwmcyyylifxjsmos7hrgpe Development/sample-1.txt 2332 ok
bafkreieuk7h4zs5alzpdyhlph4lxkefowvwdho3a3pml6j7dam5mipzaii Development/sample-2.txt 30618 ok

在Lotus Testnet上进行矿工交易

获取可以存储数据的所有矿工的列表:

lotus state list-miners

通过以下方式获取您想要存储数据的矿工的要求:

lotus client query-ask <miner>

使用矿工存储数据CID:

lotus client deal <Data CID> <miner> <price> <duration>
  • 价格在attoFIL。
  • 的,它代表了多久,矿工将让你的文件托管,以块表示。每个块代表45秒。duration

成功后,此命令将返回Deal CID。

存储矿工将需要密封文件,然后才能对其进行检索。如果Lotus Storage Miner不在用于密封的机器上运行,则该过程将花费很长时间。

存储故障排除

  • 该矿工离线。
WARN  main  lotus/main.go:72  routing: not found
  • 文件的最小大小为127个字节
WARN  main  lotus/main.go:72  failed to start deal: computing commP failed: generating CommP: Piece must be at least 127 bytes

密封故障排除

矿工可以使用以下命令检查密封进度:

lotus-storage-miner sectors list

密封完成后,将变为。从现在开始,可以从Lotus Storage Miner 检索数据CID。pSet: NOpSet: YES

检索数据

有关这些说明的最新错误报告。如果您碰巧遇到任何问题,请创建一个GitHub问题,维护者将尽快解决该问题。

在网络中使用Lotus Storage Miner存储并密封了数据CID之后,可以执行以下操作。

如果您想学习如何在矿机上存储数据CID,请阅读此处的说明

按数据CID查找

lotus client find <Data CID>
# LOCAL
# RETRIEVAL <miner>@<miner peerId>-<deal funds>-<size>

通过数据CID检索

各个领域都需要。

lotus client retrieve <Data CID> <outfile>

如果输出文件不存在,它将在Lotus存储库目录中创建。

此命令将启动检索交易并将数据写入您的计算机。此过程可能需要2到10分钟。

API

这是有关如何进行API调用的早期概述。

JSON-RPC软件包的实现细节在此处

概述:如何修改config.toml以更改API端点?

API请求通过127.0.0.1:1234,除非修改配置文件.lotus/config.toml

选项:

  • http://[api:port]/rpc/v0 -HTTP端点
  • ws://[api:port]/rpc/v0 -Websocket端点
  • PUT http://[api:port]/rest/v0/import -文件导入,它需要写权限。

我可以使用什么方法?

目前,您可以查看不同的文件以根据需要查找可用的方法:

每种权限的必要权限在api / struct.go中

如何提出API请求?

为了演示发出API请求,我们将采用api/api.go中的ChainHead方法。

ChainHead(context.Context) (*types.TipSet, error)

并创建一个CURL命令。在此命令中,包含为:ChainHead{ “method”: “Filecoin.ChainHead” }

curl -X POST \
     -H "Content-Type: application/json" \
     --data '{ "jsonrpc": "2.0", "method": "Filecoin.ChainHead", "params": [], "id": 3 }' \
     'http://127.0.0.1:1234/rpc/v0'

如果请求需要授权,请添加授权标头:

curl -X POST \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer $(cat ~/.lotusstorage/token)" \
     --data '{ "jsonrpc": "2.0", "method": "Filecoin.ChainHead", "params": [], "id": 3 }' \
     'http://127.0.0.1:1234/rpc/v0'

将来,我们将添加一个游乐场,以简化API请求的构建和实验。

CURL授权

要授权您的请求,您需要在HTTP标头中包含JWT,例如:

-H "Authorization: Bearer $(cat ~/.lotusstorage/token)"

管理员令牌被存储在了莲花节点或为莲花存储矿工。/.lotus/token/.lotusstorage/token

如何生成令牌?

要生成具有自定义权限的JWT,请使用以下命令:

# Lotus Node
lotus auth create-token --perm admin

# Lotus Storage Miner
lotus-storage-miner auth create-token --perm admin

我应该使用什么授权级别?

在查看api/struct.go时,您会遇到以下类型:

  • read -读取节点状态,没有私有数据。
  • write-写入本地存储/链和权限。read
  • sign-使用存储在钱包中的私钥进行签名和许可。readwrite
  • admin-管理权限,和权限。readwritesign

API脚本支持

您可能希望将Lotus Storage Miner或Lotus Node执行的工作委托给其他机器。这是设置必要的授权和环境变量的方法。

生成一个JWT

要为您的环境变量生成JWT,请使用以下命令:

lotus auth create-token --perm admin
lotus-storage-miner auth create-token --perm admin

环境变量

环境变量是为当前外壳程序定义的变量,并且由任何子外壳程序或进程继承。环境变量用于将信息传递到从外壳生成的进程中。

使用生成的JWT,可以将其和multiaddr分配给适当的环境变量。

# Lotus Node
FULLNODE_API_INFO="JWT_TOKEN:/ip4/127.0.0.1/tcp/1234/http"

# Lotus Storage Miner
STORAGE_API_INFO="JWT_TOKEN:/ip4/127.0.0.1/tcp/2345/http"
  • 在莲花节点的是。mutliaddr~/.lotus/api
  • 默认令牌在中。~/.lotus/token
  • 在莲花存储矿工的是。multiaddr~/.lotusstorage/config
  • 默认令牌在中。~/.lotusstorage/token

API故障排除

参数
params必须是一个数组。如果没有,您仍然应该传递一个空数组。params

TipSet

对于诸如的方法,其中的方法接受类型的参数,您可以传递使用当前的链头。Filecoin.StateMinerPowerTipSetnull

curl -X POST \
     -H "Content-Type: application/json" \
     --data '{ "jsonrpc": "2.0", "method": "Filecoin.StateMinerPower", "params": ["t0101", null], "id": 3 }' \
     'http://127.0.0.1:1234/rpc/v0'

发送CID

如果您未将CID序列化为JSON IPLD链接,则会收到错误消息。这是一个损坏的CURL请求的示例:

curl -X POST \
     -H "Content-Type: application/json" \
     --data '{ "jsonrpc": "2.0", "method":"Filecoin.ClientGetDealInfo", "params": ["bafyreiaxl446wlnu6t6dpq4ivrjf4gda4gvsoi4rr6mpxau7z25xvk5pl4"], "id": 0 }' \
     'http://127.0.0.1:1234/rpc/v0'

要修复它,请将属性更改为:params

curl -X POST \
     -H "Content-Type: application/json" \
     --data '{ "jsonrpc": "2.0", "method":"Filecoin.ClientGetDealInfo", "params": [{"/": "bafyreiaxl446wlnu6t6dpq4ivrjf4gda4gvsoi4rr6mpxau7z25xvk5pl4"}], "id": 0 }' \
     'http://127.0.0.1:1234/rpc/v0'

开发工具

此页面正在进行中

池塘UI

池塘是Lotus的图形测试平台。使用它会建立一个单独的本地网络,这有助于调试。池塘将旋转节点,将它们连接到给定的拓扑中,开始挖掘它们,并观察它们随着时间的推移如何运行。

建立

make pond

运行

./pond run

现在去。http://127.0.0.1:2222

我可以测试什么?

  • 该按钮将在新的可拖动窗口中启动新的Lotus Node。Spawn Node
  • 单击以启动Lotus Storage Miner。这要求节点的钱包有资金。[Spawn Storage Miner]
  • 单击打开Lotus Node的客户端界面,并提出与现有Miner的交易。如果成功,您将看到与该矿工开通的支付渠道。[Client]

不要将Pond闲置十多个小时,Web客户端最终将消耗所有可用的RAM。

故障排除

  • 将其关闭然后再打开-从顶部开始
  • rm -rf ~/.lotus ~/.lotusstorage/,此命令将删除链同步数据,存储的钱包和其他配置,因此请小心。
  • 验证您具有正确的依赖版本
  • 如果卡在坏叉上,请尝试 lotus chain sethead --genesis

Jaegar追踪

Lotus已在其许多内部组件中内置了跟踪功能。要查看痕迹,请首先下载Jaeger(选择“ all-in-one”二进制文件)。然后在某个地方运行它,启动Lotus守护程序,然后在浏览器中打开localhost:16686。

公开普查

Lotus使用OpenCensus跟踪应用程序流。这将生成带注释的代码路径的跨度。

目前,它已设置为使用Jaeger,尽管其他跟踪后端也应该很容易互换。

本地运行

要在本地轻松运行和查看跟踪,请首先安装jaeger。最简单的方法是下载二进制文件,然后运行二进制文件。这将启动jaeger,监听跨度,并公开一个Web UI,以查看上的痕迹。jaeger-all-in-onelocalhost:6831http://localhost:16686/

现在,要开始从Lotus向Jaeger发送跟踪,请将环境变量设置为,然后启动。LOTUS_JAEGERlocalhost:6831lotus daemon

现在,要查看任何生成的跟踪,请在浏览器中打开。http://localhost:16686/

添加跨度

要使用跨度注释新的代码路径,请将以下行添加到要跟踪的函数的顶部:

ctx, span := trace.StartSpan(ctx, "put function name here")
defer span.End()

词汇表

贝尔曼
Bellman是用于构建zk-SNARK电路的防锈板条箱。它提供电路特性和原始结构,以及基本的小工具实现,例如布尔值和数字抽象。

NVMe
(非易失性存储器Express)是一种主机控制器接口和存储协议,旨在通过计算机的高速外围组件互连Express(PCIe)总线加速企业系统与客户端系统和固态驱动器(SSD)之间的数据传输。

多地址
Multiaddr是一种用于编码来自各种公认的网络协议的地址的格式。编写应用程序以确保将来的地址使用是可行的,并允许多种传输协议和地址共存。

attoFIL
AttoFIL是用于描述10 ^ -18 FIL的单词。atto一词来自挪威语和丹麦语:atten 18。

FIL
股票代号是在钱包交换或加密货币交换中使用时唯一标识Filecoin的缩写。

时空选举证明
选举时空证明将时空证明过程与块生产结合在一起,这意味着,要生产一个块,矿工必须提供有效的时空证明(snark输出)。

智威汤逊
JSON Web令牌是一种开放的行业标准RFC 7519方法,用于在双方之间安全地表示声明。

JSON-RPC
JSON-RPC是用JSON编码的远程过程调用协议。这是一个非常简单的协议(与XML-RPC非常相似),仅定义了一些数据类型和命令。

BLS签名(地址)
Boneh-Lynn-Shacham(BLS)签名是一种数字签名方案,允许用户确定签名者的真实性,并且是Filecoin分布式存储网络中常用的签名方案。

Filecoin测试水龙头
一个网页,您可以在其中获得免费的测试Filecoin参加Testnet。


Filecoin区块链是一种分布式虚拟机,可达成共识,处理消息,为存储帐户并维护Filecoin协议中的安全性。它是链接Filecoin系统中各种参与者的主要界面。

矿工力量
功率表中跟踪的矿工存储与网络存储的关系。

部门
一个固定大小的SECTOR_SIZE字节的数据块,通常包含客户端的数据。

封口
一种慢速的编码过程,返回对存储在扇区中的数据的承诺和证明。

密封
一种慢速的编码过程,返回对存储在扇区中的数据的承诺和证明。

时空证明
Filecoin是一种协议令牌,其区块链基于一种新颖的证明(称为“时空证明”),其中,区块是由存储数据的矿工创建的。

Filecoin测试网
在启动之前,我们将对Lotus进行很多更改。Testnet有望带来一些重要的修复/改进。在Testnet期间,您可以从我们的网络龙头中检索测试文件币,以用作开始挖掘的抵押。测试Filecoin没有任何价值-正式的Filecoin代币要等到Mainnet启动后才能发行。

Filecoin测试网
在启动之前,我们将对Lotus进行很多更改。Testnet有望带来一些重要的修复/改进。在Testnet期间,您可以从我们的网络龙头中检索测试文件币,以用作开始挖掘的抵押。测试Filecoin没有任何价值-正式的Filecoin代币要等到Mainnet启动后才能发行。

Filecoin去中心化存储市场
Storage Market子系统是进入网络的数据入口点。存储矿工只能从存储交易中存储的数据中获得动力,所有交易都可以在Filecoin网络上进行。

Filecoin证明参数
证明算法依赖于大型二进制参数文件。

开发网
在DevNets上,您可以将数据存储为存储客户端,也可以尝试Filecoin挖掘的工作方式。对于那些希望在Filecoin协议之上构建应用程序或在分散存储市场上存储数据的人来说,devnet是重要的开发工具。

Filecoin分布式存储网络
Filecoin是基于区块链机制的分布式存储网络。Filecoin矿工可以选择提供网络存储容量,从而通过定期产生证明其正在提供指定容量的加密证明来获得Filecoin加密货币(FIL)的单位。

莲花节点
Lotus Node充满了功能。它运行区块链系统,进行检索交易,进行数据传输,支持区块生产者逻辑,并同步和验证链。

封锁奖励
在协议的整个有效期内,将向矿工发放1,400,000,000 FIL(总发行额)。资金的分配速度将每六年减半(而不是像比特币那样的固定增长)。

矿工(块生产者)
块生产者矿工的逻辑。当前,它与Lotus Node共享接口和进程。区块生产者选择要包含在区块中的消息,并根据每个消息的汽油价格和消耗量获得奖励,从而形成市场。

储存矿工(莲花储存矿工)
存储矿工的逻辑。它有自己专用的过程。通过部门承诺和时空证明为网络做出贡献,以证明其正在存储已承诺的部门。

群端口(Libp2p)
LibP2P Swarm管理与对等方的连接组,处理传入和传出流,并且是存储矿工实现的一部分。端口值是主机接口的一部分。

莲花守护进程
守护程序是作为后台进程运行的程序。在Filecoin分布式存储网络的上下文中,守护程序可以使应用程序与同级通信,处理协议,参与pubsub以及与分布式哈希表(DHT)进行交互。

仓储交易
Filecoin市场中的两种交易之一。存储交易记录在区块链上,并由协议强制执行。

检索交易
Filecoin市场中的两种交易之一。检索交易是脱链的,并通过交易双方的小额支付渠道实现。

交易CID
CID是一种用于在分布式信息系统中引用内容的格式,它是一种存储信息的方式,因此可以根据其内容而不是其位置来检索它。DealCID专门用于存储交易。

资料CID
CID是一种用于在分布式信息系统中引用内容的格式,它是一种存储信息的方式,因此可以根据其内容而不是其位置来检索它。DataCID专门用于表示Filecoin分布式存储网络中存储的文件。

客户编号
CID是一个自我描述的内容寻址标识符。它使用加密哈希来实现内容寻址。它使用多种格式来实现灵活的自我描述,即用于哈希的multihash,用于数据内容类型的multicodec以及用于将CID自身编码为字符串的multibase。

总网络功率
对每个子链的所有功率表的引用,说明链上的每个Lotus Storage Miner。

链块高度
链块高度定义为任何给定块与区块链中第一个块之间的链中的块数。

块高
扇区的Merkle树的高度。扇区是一个连续的字节数组,矿工将这些字节放在一起,密封并执行时空证明。

封锁时间
块传播到整个网络所花费的时间。

发布了61 篇原创文章 · 获赞 63 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jacky128256/article/details/103585370