Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

collect a using glossary table,and wait for checking #346

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

Sven-TBD
Copy link
Contributor

@Keith-CY @Danie0918 @ShiningRay
I collected a glossary of current explorer pages. But the meanings of each word are still remaining double-checking.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why remove the irrelevant document

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check this question @Sven-TBD

| 页面Pages | 字段Label | 释义 | 检查 | 来源 |
| - | - | - | - | - |
| 区块详情页 | Block Height | Also known as Block Number. The block height, which indicates the length of the blockchain, increases after the addition of the new block. | checked(sven) | - |
| / | Cell | CKB adopts UTXO model. A transaction destroys some outputs created in previous transactions and creates some new outputs. We call the transaction output a Cell in CKB. | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating) |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the last sentence changes to Every transaction's output is a cell. Does it more clear?

| 区块详情页 | Block Height | Also known as Block Number. The block height, which indicates the length of the blockchain, increases after the addition of the new block. | checked(sven) | - |
| / | Cell | CKB adopts UTXO model. A transaction destroys some outputs created in previous transactions and creates some new outputs. We call the transaction output a Cell in CKB. | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating) |
| / | Live Cell | A live cell is the one that appears as an output but not as an input in all the older transactions. A dead cell has already been used as an input in any older transaction. A transaction can only use live cells as inputs. | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating) |
| / | Capacity | The Capacity in the cell is not only just the amount of the stored tokens, but it is also a limit on how many data the cell can store. That's where the name comes from, It is the storage capacity of the cell. | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating) |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's better to add the capacity unit.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's better to add the capacity unit.

It's a good idea, especially that user do have confusion about the unit

Ref: #381

| 区块详情页 | Uncle Count | The number of [uncle blocks](https://docs.nervos.org/docs/basics/glossary/#uncle) in the current block. | checked(sven) | - |
| 区块详情页 | Miner | A miner is a computer that provides computing power to validate transactions and create the blocks in the blockchain. |checked(sven) | https://docs-old.nervos.org/glossary/glossary-general#miner |
| 区块详情页 | Miner Message | 矿工对当前区块的留言。 | checked(sven) | - |
| 区块详情页 | Epoch | In CKB, an Epoch is a fixed period of time during which the difficulty level for Proof of Work (PoW) mining is held constant. The duration of an Epoch is set to 4 hours, and all the blocks in the same Epoch share the same difficulty target. The difficulty adjustment algorithm aims to stabilize the orphan block rate at 2.5% by adjusting the difficulty level for each Epoch based on the average block time of the previous Epoch. The Epoch is used to ensure that the network remains secure and that miners are incentivized to continue mining the network. The Epoch concept is used in many other blockchain networks as well, and is an important component of the consensus mechanism. | checked(sven) | [CKB doc](https://docs.nervos.org/docs/basics/glossary#epoch) |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Epoch is about 4 hours, but not absolute.

| 区块详情页 | Miner Message | 矿工对当前区块的留言。 | checked(sven) | - |
| 区块详情页 | Epoch | In CKB, an Epoch is a fixed period of time during which the difficulty level for Proof of Work (PoW) mining is held constant. The duration of an Epoch is set to 4 hours, and all the blocks in the same Epoch share the same difficulty target. The difficulty adjustment algorithm aims to stabilize the orphan block rate at 2.5% by adjusting the difficulty level for each Epoch based on the average block time of the previous Epoch. The Epoch is used to ensure that the network remains secure and that miners are incentivized to continue mining the network. The Epoch concept is used in many other blockchain networks as well, and is an important component of the consensus mechanism. | checked(sven) | [CKB doc](https://docs.nervos.org/docs/basics/glossary#epoch) |
| 区块详情页 | Epoch Start Number | In CKB, Epoch Start Number refers to the block number at which a new Epoch begins. The Epoch Start Number is calculated based on the number of blocks that have been mined since the last Epoch started. Specifically, the Epoch Start Number is equal to the current block number minus the remainder of the current block number divided by the Epoch length. For example, if the current block number is 1000 and the Epoch length is 180 blocks, then the Epoch Start Number would be 1000 - (1000 % 180) = 940. The Epoch Start Number is used to determine when the difficulty level for Proof of Work (PoW) mining should be adjusted, and is an important component of the consensus mechanism in CKB. | checked(sven) | - |
| 区块详情页 | Block Index | In CKB, Block Index refers to the numerical index assigned to a block in the blockchain. The Block Index is a unique identifier for each block in the chain, and is used to order the blocks in the blockchain. The first block in the chain, also known as the Genesis Block, has a Block Index of 0, and each subsequent block is assigned the next sequential index. The Block Index is an important component of the blockchain, as it is used to maintain the integrity and security of the network by ensuring that all nodes on the network agree on the ordering of the blocks in the chain. | checked(sven) | - |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the Block Index the same as Block Height?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the Block Index the same as Block Height?

Not that exactly, Block Index is a concept in the context of epoch.

Epoch consists of 3 fields

  1. epoch length: how many blocks are included in this epoch
  2. block index in the epoch, the index of specific block in the blocks of an epoch, starts from 0 in each epoch
  3. epoch number: can be considered as the index of epoch on the chain

$tip\ block\ number = ∑(epoch\ length * epoch\ number)$

Ref: https://github.com/nervosnetwork/rfcs/blob/9aef152a5123c8972de1aefc11794cf84d1762ed/rfcs/0027-block-structure/0027-block-structure.md#epoch-uint64

| 区块详情页 | Epoch | In CKB, an Epoch is a fixed period of time during which the difficulty level for Proof of Work (PoW) mining is held constant. The duration of an Epoch is set to 4 hours, and all the blocks in the same Epoch share the same difficulty target. The difficulty adjustment algorithm aims to stabilize the orphan block rate at 2.5% by adjusting the difficulty level for each Epoch based on the average block time of the previous Epoch. The Epoch is used to ensure that the network remains secure and that miners are incentivized to continue mining the network. The Epoch concept is used in many other blockchain networks as well, and is an important component of the consensus mechanism. | checked(sven) | [CKB doc](https://docs.nervos.org/docs/basics/glossary#epoch) |
| 区块详情页 | Epoch Start Number | In CKB, Epoch Start Number refers to the block number at which a new Epoch begins. The Epoch Start Number is calculated based on the number of blocks that have been mined since the last Epoch started. Specifically, the Epoch Start Number is equal to the current block number minus the remainder of the current block number divided by the Epoch length. For example, if the current block number is 1000 and the Epoch length is 180 blocks, then the Epoch Start Number would be 1000 - (1000 % 180) = 940. The Epoch Start Number is used to determine when the difficulty level for Proof of Work (PoW) mining should be adjusted, and is an important component of the consensus mechanism in CKB. | checked(sven) | - |
| 区块详情页 | Block Index | In CKB, Block Index refers to the numerical index assigned to a block in the blockchain. The Block Index is a unique identifier for each block in the chain, and is used to order the blocks in the blockchain. The first block in the chain, also known as the Genesis Block, has a Block Index of 0, and each subsequent block is assigned the next sequential index. The Block Index is an important component of the blockchain, as it is used to maintain the integrity and security of the network by ensuring that all nodes on the network agree on the ordering of the blocks in the chain. | checked(sven) | - |
| 区块详情页 | Timestamp | In CKB, Timestamp refers to the timestamp of a block, which represents the time at which the block was created by a miner. The Timestamp is used to order the blocks in the blockchain. | checked(sven) | - |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Timestamp is used to order the blocks in the blockchain. I'm not sure Timestamp is used for that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Timestamp is used to order the blocks in the blockchain. I'm not sure Timestamp is used for that.

It's not correct, blocks are ordered by block number and connected by parent hash in block header.

The timestamp in the block header is an arbitrary value filled by the miner. The offset of timestamp will be verified by other nodes during broadcasting but should not be used as the order, it's just a representative attribute of a block.

Besides, block number + parent hash is good to order blocks because they can be used to make sure blocks are consecutive.

| 交易详情页 | OutPoint.Index | OutPoint Index is the one of the params which are used to locate a Cell | checked(sven) | - |
| 交易详情页 | DepType | DepType in CKB is a field in CellDep to differentiate the normal cells which provide the code directly, and the dep groups which is expanded to its members inside cell_deps. If the uint8 value is 0, the cell provide the code, if the uint8 value is 1, the cell includes a dep group | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md) |
| 交易详情页 | dep_group | dep_group is a method for referencing multiple dependencies which are commonly used together using a single dependency field. It is used to simplify the process of adding multiple dependencies to a transaction. | To be confirmed | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md) |
| 交易详情页 | OutPoint.TxHash | OutPoint.TxHash is a field that represents the transaction hash of a particular output Cell in a transaction. It's used to locate a cell with OutPoint.Index | checked(sven) | - |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can move OutPoint.TxHash to up of the OutPoint.Index

| 交易详情页 | CellDeps | CellDeps is one of dependency in the transaction data structure, it allows scripts in the transaction to access (read-only) referenced live cells. For more info, check about [Code Locating](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating) | checked(sven) | [Dependencies](https://docs.nervos.org/docs/essays/dependencies/#how-dependencies-work) |
| 交易详情页 |OutPoint| The OutPoint is a reference type. The transaction uses OutPoint in inputs to reference the previously created cells instead of embedding them. |checked(sven)|[transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating)|
| 交易详情页 | OutPoint.Index | OutPoint Index is the one of the params which are used to locate a Cell | checked(sven) | - |
| 交易详情页 | DepType | DepType in CKB is a field in CellDep to differentiate the normal cells which provide the code directly, and the dep groups which is expanded to its members inside cell_deps. If the uint8 value is 0, the cell provide the code, if the uint8 value is 1, the cell includes a dep group | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md) |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the website, DepType will show as code or dep_group

| 交易详情页 |OutPoint| The OutPoint is a reference type. The transaction uses OutPoint in inputs to reference the previously created cells instead of embedding them. |checked(sven)|[transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md#code-locating)|
| 交易详情页 | OutPoint.Index | OutPoint Index is the one of the params which are used to locate a Cell | checked(sven) | - |
| 交易详情页 | DepType | DepType in CKB is a field in CellDep to differentiate the normal cells which provide the code directly, and the dep groups which is expanded to its members inside cell_deps. If the uint8 value is 0, the cell provide the code, if the uint8 value is 1, the cell includes a dep group | checked(sven) | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md) |
| 交易详情页 | dep_group | dep_group is a method for referencing multiple dependencies which are commonly used together using a single dependency field. It is used to simplify the process of adding multiple dependencies to a transaction. | To be confirmed | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md) |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dep_group is one selection of DepType.

@homura
Copy link

homura commented Jul 13, 2023

I'd suggest that the glossaries be consistent with the Nervos docs site's, if there is something missing from the site, we can discuss whether we need to add that information.

@Keith-CY
Copy link
Member

Keith-CY commented Jul 13, 2023

I'd suggest that the glossaries be consistent with the Nervos docs site's, if there is something missing from the site, we can discuss whether we need to add that information.

The terms come from various scopes, including blockchain, btc, ckb, statistics, community projects, a link to the original document will be added in the description. But it's very hard to complete the missing parts in those various documents.
So we may update this one first, and open an issue in their repo with a link to ours. By that, the progress won't be blocked by others

| 区块详情页 | Proposal Transactions | In CKB,a proposal refers to the first step in the confirmation process of a transaction. NC-MAX splits the confirmation process into two steps: propose and commit. During the proposal step, a transaction is first proposed to the network. This involves broadcasting the transaction to the network and allowing it to propagate among the nodes. The proposal step gives more time for transaction propagation without slowing down block propagation.| checked(sven) | [NC-MAX](https://eprint.iacr.org/2020/1101.pdf) |
| 区块详情页 | Miner Reward | Native tokens that are paid to a miner in exchange for providing the computational resources required for mining. | checked(sven) | https://docs-old.nervos.org/glossary/glossary-general#mining-reward |
| 区块详情页 | Difficulty | A measurement of how difficult it is to solve the Proof of Work cryptographic puzzle required to create a block. Networks automatically adjust the difficulty to control the speed at which blocks are generated as mining participants enter and exit the network." | checked(sven) | https://docs-old.nervos.org/glossary/glossary-technical#difficulty | - | - |
| 区块详情页 | Nonce | In cryptography, a value that can only be used once. Nonce can refer to two things in blockchain context: 1. a proof-of-work nonce is the random value in a block satisfying the proof of work requirement; 2. an account nonce is a transaction counter in each account, which is used to prevent replay attacks. The nonce here refers to the first case.x| checked(sven) | [CKB Docs](https://docs.nervos.org/docs/basics/glossary/#nonce) |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CKB's transaction does not need a nonce to avoid double spending, we can just keep point 1 here

| 区块详情页 | Timestamp | In CKB, Timestamp refers to the timestamp of a block, which represents the time at which the block was created by a miner. The Timestamp is used to order the blocks in the blockchain. | checked(sven) | - |
| 区块详情页 | Transactions Root | In CKB, Transactions Root refers to the root of a Merkle tree that contains the transaction hashes of all the transactions included in a block. The Transactions Root is calculated by hashing together all of the transaction hashes in the Merkle tree, and is included in the block header as a way of verifying the integrity of the transactions in the block. The Transactions Root is used to ensure that all of the transactions in the block are valid and that none have been tampered with. It is also used to efficiently retrieve a specific transaction from a block, as the Merkle tree structure allows for quick verification of the transaction's inclusion in the block. The Transactions Root is an important component of the consensus mechanism in CKB. | checked(sven) | - |
| 区块详情页 | Cellbase for Block | The cellbase transaction of block N is sent to the miner of block N-11 as reward, learn more from our [Consensus Protocol](https://docs.nervos.org/docs/basics/concepts/consensus/) | checked(sven) | Current hint |
| 交易详情页 | Status | Status represent the status of current transaction, They are Pending, Comfirming and Rejected | checked(sven) | - |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transaction Status may be more clear

| 交易详情页 | Capacity Usage | Capacity Usage shows how many capacity are declared and occupied. A transaction in CKB must create an output cell which occupied capacity is less than the cell capacity. | checked(sven) | - |
| 交易详情页 | deprecated addresses | Deprecated addresses in CKB refer to old address formats that are no longer recommended for use. These addresses were used in earlier versions of the CKB protocol, but have since been replaced by newer, more secure address formats. While deprecated addresses can still be used to send and receive transactions, it is recommended to use the newer address formats for improved security and compatibility with future versions of the CKB protocol. | checked(sven) | - | - | - |
| Script详情页 | Script Name | Script Name is the name of a Script. A script is a data structure represents a reference to a piece of on-chain runnable code. | checked(sven) | - |
| Script详情页 | Code Hash | Code Hash in CKB is a field in the Script data structure that represents the hash of the script code. The script code is compiled into RISC-V binary. The binary is stored as the data in a cell. When hash_type is "Data", the script locates a cell whose data's hash equals the script's code_hash. | checked(sven) | - |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Hash is used to locate the code of a script. When the hash_type is type, the Code Hash the hash of a type script, otherwise it is hash of the code

| Script详情页 | Code Hash | Code Hash in CKB is a field in the Script data structure that represents the hash of the script code. The script code is compiled into RISC-V binary. The binary is stored as the data in a cell. When hash_type is "Data", the script locates a cell whose data's hash equals the script's code_hash. | checked(sven) | - |
| Script详情页 | Hash Type | Hash Type in CKB is a field in the Script that specifies how the Code Hash field should be interpreted when looking for script code to run from cell dependencies. | checked(sven) | - |
| Script详情页 | Type Id | Type ID describes a way of using a special type script which can create a singleton type - there's only one live cell of this type. With Type ID nobody could create another code cell with the same type script hash, which makes it a useful companion to Type hash type. | checked(sven) | - |
| Script详情页 | Capacity of deployed cells | Capacity of deployed cells in CKB refers to the maximum amount of space (in bytes) that a cell can occupy on the Nervos CKB. The capacity field is one of the four fields in the Cell data structure, and limits the size of the cell. In order to store data on the CKB, a user must hold 1 CKB for every 1 byte of space that the cell occupies. This means that the capacity of a cell directly affects the amount of CKB that a user must hold in order to store data on the network. | checked(sven) | - |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it a bit redundant with Capacity usage?

| - | Nervos DAO Deposit | The total CKB this address have deposited in Nervos DAO | checked(sven) | - |
| - | Nervos DAO Compensation | The total CKB this address have received from Nervos DAO | checked(sven) | - |
| - | Block Mined | The number of block this address has minted | checked(sven) | - |
| - | Args| In CKB, the public key information can be stored in the args field in the script structure. | checked(sven) | - |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The args for script execution, e.g. the args can be a public key hash when the script is used to verify the owner of a private key

@Danie0918 Danie0918 added the documentation Improvements or additions to documentation label Jul 17, 2023
| 交易详情页 | dep_group | dep_group is a method for referencing multiple dependencies which are commonly used together using a single dependency field. It is used to simplify the process of adding multiple dependencies to a transaction. | To be confirmed | [transaction struc](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0022-transaction-structure/0022-transaction-structure.md) |
| 交易详情页 | OutPoint.TxHash | OutPoint.TxHash is a field that represents the transaction hash of a particular output Cell in a transaction. It's used to locate a cell with OutPoint.Index | checked(sven) | - |
| 交易详情页 | HeaderDeps | header_deps is one of dependency in the transaction data structure, it allow scripts in the transaction to access (read-only) data of referenced past block headers of the blockchain.| checked(sven) | [Dependencies](https://docs.nervos.org/docs/essays/dependencies/#how-dependencies-work) |
| 交易详情页 | Witness | Witness is a field in the CKB transaction structure that contains the signature in a transaction| checked(sven) | - |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a accurate statement here, witness often contains a signature, not always. And we can add a ref link here
https://github.com/nervosnetwork/ckb/blob/3de5a20ce60619927f41f81d9584cab9d39d1275/util/types/schemas/blockchain.mol#L114-L118

| 交易详情页 | OutPoint.TxHash | OutPoint.TxHash is a field that represents the transaction hash of a particular output Cell in a transaction. It's used to locate a cell with OutPoint.Index | checked(sven) | - |
| 交易详情页 | HeaderDeps | header_deps is one of dependency in the transaction data structure, it allow scripts in the transaction to access (read-only) data of referenced past block headers of the blockchain.| checked(sven) | [Dependencies](https://docs.nervos.org/docs/essays/dependencies/#how-dependencies-work) |
| 交易详情页 | Witness | Witness is a field in the CKB transaction structure that contains the signature in a transaction| checked(sven) | - |
| 交易详情页 | Witnesses | Witnesses is an array of Witness that contains all the witness in a transaction| checked(sven) | - |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| 交易详情页 | Witnesses | Witnesses is an array of Witness that contains all the witness in a transaction| checked(sven) | - |
| 交易详情页 | Witnesses | Witnesses is an array of Witness that contains all the witnesses in a transaction | checked(sven) | - |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

6 participants