From 727ae2b87780881c7a2169d6a3275cdceedae9d4 Mon Sep 17 00:00:00 2001 From: wwwjim Date: Sun, 22 Dec 2019 21:25:51 -0800 Subject: [PATCH 1/4] documentation: adds glossary to the documentation directory --- documentation/en/.glossary-english.json | 150 ++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 documentation/en/.glossary-english.json diff --git a/documentation/en/.glossary-english.json b/documentation/en/.glossary-english.json new file mode 100644 index 000000000..41126f974 --- /dev/null +++ b/documentation/en/.glossary-english.json @@ -0,0 +1,150 @@ +{ + "bellman": { + "title": "Bellman", + "value": "Bellman is a rust crate for building zk-SNARK circuits. It provides circuit traits and primitive structures, as well as basic gadget implementations such as booleans and number abstractions." + }, + "nvme": { + "title": "NVMe", + "value": "(non-volatile memory express) is a host controller interface and storage protocol created to accelerate the transfer of data between enterprise and client systems and solid-state drives (SSDs) over a computer's high-speed Peripheral Component Interconnect Express (PCIe) bus." + }, + "multiaddr": { + "title": "Multiaddr", + "value": "Multiaddr is a format for encoding addresses from various well-established network protocols. It is useful to write applications that future-proof their use of addresses, and allow multiple transport protocols and addresses to coexist." + }, + "attofil": { + "title": "attoFIL", + "value": "AttoFIL is a word used to describe 10^-18 FIL. The word atto comes from the Norwegian and Danish term: atten eighteen." + }, + "fil": { + "title": "FIL", + "value": "A ticker symbol is an abbreviation used to uniquely identify Filecoin when it is used in a wallet exchange or a cryptocurrency exchange." + }, + "epost": { + "title": "Election Proof-of-Spacetime", + "value": "Election Proof-of-Spacetime couples the Proof-of-Spacetime process with block production, meaning that in order to produce a block, the miner must produce a valid Proof-of-Spacetime proof (snark output)." + }, + "jwt": { + "title": "JWT", + "value": "JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties." + }, + "json-rpc": { + "title": "JSON-RPC", + "value": "JSON-RPC is a remote procedure call protocol encoded in JSON. It is a very simple protocol (and very similar to XML-RPC), defining only a few data types and commands." + }, + "bls-address": { + "title": "BLS Signature (Address)", + "value": "A Boneh–Lynn–Shacham (BLS) signature is a digital signature scheme that allows a user to determine the authenticity of a signer, and is a commonly used signature scheme in the Filecoin Distributed Storage Network." + }, + "faucet": { + "title": "Filecoin Test Faucet", + "value": "A webpage where you can get free test Filecoin to participate in the Testnet." + }, + "chain": { + "title": "Chain", + "value": "The Filecoin Blockchain is a distributed virtual machine that achieves consensus, processes messages, accounts for storage, and maintains security in the Filecoin Protocol. It is the main interface linking various actors in the Filecoin system." + }, + "miner-power": { + "title": "Miner Power", + "value": "Miner storage in relation to network storage, tracked in the power table." + }, + "sector": { + "title": "Sector", + "value": "A fixed-size block of data of SECTOR_SIZE bytes which generally contains client's data." + }, + "sealing": { + "title": "Sealing", + "value": "A slow encoding process that returns commitments and proofs for data being stored in a sector." + }, + "seal": { + "title": "Seal", + "value": "A slow encoding process that returns commitments and proofs for data being stored in a sector." + }, + "posts": { + "title": "Proof-of-Spacetime(s)", + "value": "Filecoin is a protocol token whose blockchain runs on a novel proof, called Proof-of-Spacetime, where blocks are created by miners that are storing data." + }, + "lotus-testnet": { + "title": "Filecoin Testnet", + "value": "Until we launch, we are making lots of changes to Lotus. The Testnet is expected to bring a few significant fixes/improvements. During Testnet, you can retrieve test filecoin from our network faucet to use as collateral to start mining. Test filecoin do not have any value – the official filecoin tokens will not be released until Mainnet launch." + }, + "filecoin-testnet": { + "title": "Filecoin Testnet", + "value": "Until we launch, we are making lots of changes to Lotus. The Testnet is expected to bring a few significant fixes/improvements. During Testnet, you can retrieve test filecoin from our network faucet to use as collateral to start mining. Test filecoin do not have any value – the official filecoin tokens will not be released until Mainnet launch." + }, + "filecoin-decentralized-storage-market": { + "title": "Filecoin Decentralized Storage Market", + "value": "Storage Market subsystem is the data entry point into the network. Storage miners only earn power from data stored in a storage deal and all deals live on the Filecoin network." + }, + "filecoin-proof-parameters": { + "title": "Filecoin Proof Parameters", + "value": "The proving algorithms rely on a large binary parameter file." + }, + "lotus-devnet": { + "title": "DevNet", + "value": "On the DevNets, you can store data as a storage client and also try how Filecoin mining works. The devnets are an important development tool for those who anticipate building applications on top of the Filecoin protocol or storing data on the decentralized storage market. " + }, + "filecoin-distributed-storage-network": { + "title": "Filecoin Distributed Storage Network", + "value": "Filecoin is a distributed storage network based on a blockchain mechanism. Filecoin miners can elect to provide storage capacity for the network, and thereby earn units of the Filecoin cryptocurrency (FIL) by periodically producing cryptographic proofs that certify that they are providing the capacity specified." + }, + "lotus-node": { + "title": "Lotus Node", + "value": "The Lotus Node is full of capabilities. It runs the Blockchain system, makes retrieval deals, does data transfer, supports block producer logic, and syncs and validates the chain." + }, + "block-rewards": { + "title": "Block Reward", + "value": "Over the entire lifetime of the protocol, 1,400,000,000 FIL (TotalIssuance) will be given out to miners. The rate at which the funds are given out is set to halve every six years, smoothly (not a fixed jump like in Bitcoin)." + }, + "block-producer-miner": { + "title": "Miner (Block Producer)", + "value": "The Block Producer Miner's logic. It currently shares an interface and process with the Lotus Node. A Block Producer chooses which messages to include in a block and is rewarded according to each message’s gas price and consumption, forming a market." + }, + "lotus-storage-miner": { + "title": "Storage Miner (lotus-storage-miner)", + "value": "The Storage Miner's logic. It has its own dedicated process. Contributes to the network through Sector commitments and Proofs of Spacetime to prove that it is storing the sectors it has commited to." + }, + "swarm-port": { + "title": "Swarm Port (Libp2p)", + "value": "The LibP2P Swarm manages groups of connections to peers, handles incoming and outgoing streams, and is part of the storage miners implementation. The port value is part of the Host interface." + }, + "daemon": { + "title": "Lotus Daemon", + "value": "A Daemon is a program that runs as a background process. A Daemon in the context of the Filecoin Distributed Storage Network may enable applications to communicate with peers, handle protocols, participate in pubsub, and interact with a distributed hash table (DHT)." + }, + "storage-deal": { + "title": "Storage deal", + "value": "One of the two types of deals in Filecoin markets. Storage deals are recorded on the blockchain and enforced by the protocol." + }, + "retrieval-deal": { + "title": "Retrieval deal", + "value": "One of the two types of deals in Filecoin markets. Retrieval deals are off chain and enabled by micropayment channel by transacting parties." + }, + "deal-cid": { + "title": "Deal CID", + "value": "CID is a format for referencing content in distributed information systems, it is a way to store information so it can be retrieved based on its content, not its location. DealCID specifically is used in storage deals." + }, + "data-cid": { + "title": "Data CID", + "value": "CID is a format for referencing content in distributed information systems, it is a way to store information so it can be retrieved based on its content, not its location. DataCID specifically is used to represent the file that is stored in the Filecoin Distributed Storage Network." + }, + "cid": { + "title": "CID", + "value": "A CID is a self-describing content-addressed identifier. It uses cryptographic hashes to achieve content addressing. It uses several multiformats to achieve flexible self-description, namely multihash for hashes, multicodec for data content types, and multibase to encode the CID itself into strings." + }, + "total-network-power": { + "title": "Total Network Power", + "value": "A reference to all the Power Tables for every subchain, accounting for each Lotus Storage Miner on chain." + }, + "chain-block-height": { + "title": "Chain Block Height", + "value": "Chain block height is defined as the number of blocks in the chain between any given block and the very first block in the blockchain." + }, + "block-height": { + "title": "Block Height", + "value": "Height of the Merkle Tree of a sector. A sector is a contiguous array of bytes that a miner puts together, seals, and performs Proofs of Spacetime on." + }, + "blocktime": { + "title": "Blocktime", + "value": "The time it takes for a Block to propagate to the whole network." + } +} From 9ae6bcc5dfd1115c775dd1e47c138826a61f04a7 Mon Sep 17 00:00:00 2001 From: wwwjim Date: Sun, 22 Dec 2019 21:31:55 -0800 Subject: [PATCH 2/4] documentation: reduces script to one line in local-dev-net.md --- documentation/en/local-dev-net.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/en/local-dev-net.md b/documentation/en/local-dev-net.md index 41daf0746..19b1c52db 100644 --- a/documentation/en/local-dev-net.md +++ b/documentation/en/local-dev-net.md @@ -15,8 +15,7 @@ Pre-seal some sectors: Create the genesis block and start up the first node: ```sh -./lotus daemon --lotus-make-random-genesis=dev.gen --genesis-presealed-sectors -=~/.genesis-sectors/pre-seal-t0101.json --bootstrap=false +./lotus daemon --lotus-make-random-genesis=dev.gen --genesis-presealed-sectors=~/.genesis-sectors/pre-seal-t0101.json --bootstrap=false ``` Set up the genesis miner: From 0458062bce2fd33a0a228206a231a8d44331beb1 Mon Sep 17 00:00:00 2001 From: wwwjim Date: Sun, 22 Dec 2019 21:39:26 -0800 Subject: [PATCH 3/4] desktop: updates proof parameter step with environment variable --- documentation/en/join-testnet.md | 8 ++++++++ documentation/en/mining-lotus-seal-worker.md | 8 ++++++++ documentation/en/mining.md | 7 +++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/documentation/en/join-testnet.md b/documentation/en/join-testnet.md index 23613e469..ae97db49f 100644 --- a/documentation/en/join-testnet.md +++ b/documentation/en/join-testnet.md @@ -10,6 +10,14 @@ If you have installed older versions, you may need to clear existing chain data, rm -rf ~/.lotus ~/.lotusstorage ``` +## Note: Using the Lotus Node from China + +If you are trying to use `lotus` from China. You should set this **environment variable** on your machine: + +```sh +IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/" +``` + ## Get started Start the **daemon** using the default configuration in `./build`: diff --git a/documentation/en/mining-lotus-seal-worker.md b/documentation/en/mining-lotus-seal-worker.md index 76838574f..d2ea9197b 100644 --- a/documentation/en/mining-lotus-seal-worker.md +++ b/documentation/en/mining-lotus-seal-worker.md @@ -2,6 +2,14 @@ The **Lotus Seal Worker** is an extra process that can offload heavy processing tasks from your **Lotus Storage Miner**. It can be run on the same machine as your `lotus-storage-miner`, or on another machine communicating over a fast network. +## Note: Using the Lotus Seal Worker from China + +If you are trying to use `lotus-seal-worker` from China. You should set this **environment variable** on your machine: + +```sh +IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/" +``` + ## Get Started Make sure that the `lotus-seal-worker` is installed by running: diff --git a/documentation/en/mining.md b/documentation/en/mining.md index 3bdee87a6..41c998959 100644 --- a/documentation/en/mining.md +++ b/documentation/en/mining.md @@ -4,13 +4,12 @@ Here are instructions to learn how to perform storage mining. For hardware speci It is useful to [join the Testnet](https://docs.lotu.sh/en+join-testnet) prior to attempting storage mining for the first time. -## Note: Filecoin Proof Parameters +## Note: Using the Lotus Storage Miner from China -If you are trying to download the **Filecoin Proof Parameters** from within China, you can download them from [JDCloud CDN](https://s3.cn-south-1.jdcloud-oss.com/proof-parameters/filecoin-proof-parameters-v20-testnet.tar.gz). Once you do you will need to extract them to: +If you are trying to use `lotus-storage-miner` from China. You should set this **environment variable** on your machine. ```sh -# put the .param and .vk files in the directory below -/var/tmp/filecoin-proof-parameters +IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/" ``` ## Get started From 5e04e5b85d62fd1f0851361abe14e0dcd437a8f1 Mon Sep 17 00:00:00 2001 From: wwwjim Date: Sun, 22 Dec 2019 21:43:37 -0800 Subject: [PATCH 4/4] documentation: adds chain sync progress command to troubleshooting --- documentation/en/mining-troubleshooting.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/documentation/en/mining-troubleshooting.md b/documentation/en/mining-troubleshooting.md index 7b969c730..c3195c9f2 100644 --- a/documentation/en/mining-troubleshooting.md +++ b/documentation/en/mining-troubleshooting.md @@ -55,3 +55,11 @@ lotus-bench --sector-size=1024 ``` This process uses a fair amount of GPU, and generally takes ~4 minutes to complete. If you do not see any activity in nvtop from lotus during the entire process, it is likely something is misconfigured with your GPU. + +## Checking Sync Progress + +You can use this command to check how far behind you are on syncing: + +```sh +date -d @$(./lotus chain getblock $(./lotus chain head) | jq .Timestamp) +```