Improve terminology page (#18441)

Co-authored-by: Gregg Dourgarian <greggd@aidacreative.com>
Co-authored-by: Haskell FTW <HaskellFTW@protonmail.com>
This commit is contained in:
Haik Dulgarian 2021-08-10 18:19:46 -05:00 committed by GitHub
parent 00e5e12906
commit e7190cc727
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 48 additions and 21 deletions

View File

@ -6,7 +6,18 @@ The following terms are used throughout the documentation.
## account
A persistent file addressed by [public key](terminology.md#public-key) and with [lamports](terminology.md#lamport) tracking its lifetime.
A record in the Solana ledger that either holds data or is an executable program.
Like an account at a traditional bank, a Solana account may hold funds called [lamports](terminology.md#lamport). Like a file in Linux, it is addressable by a [key], often referred to as a (terminology.md#public-key) public key or pubkey.
The key may be one of:
an ed25519 public key
a program-derived account address (32byte value forced off the ed25519 curve)
a hash of an ed25519 public key with a 32 character string
## account owner
The address of the program that owns the account. Only the owning program is capable of modifying the account.
## app
@ -22,7 +33,7 @@ A contiguous set of [entries](terminology.md#entry) on the ledger covered by a [
## blockhash
A preimage resistant [hash](terminology.md#hash) of the [ledger](terminology.md#ledger) at a given [block height](terminology.md#block-height). Taken from the last [entry id](terminology.md#entry-id) in the slot
A unique value ([hash](terminology.md#hash)) that identifies a record (block). Solana computes a blockhash from the last [entry id](terminology.md#entry-id) of the block.
## block height
@ -30,15 +41,19 @@ The number of [blocks](terminology.md#block) beneath the current block. The firs
## bootstrap validator
The first [validator](terminology.md#validator) to produce a [block](terminology.md#block).
The [validator](terminology.md#validator) that produces the genesis (first) [block](terminology.md#block) of a block chain.
## BPF loader
The Solana program that owns and loads (BPF) smart contract programs, allowing the program to interface with the runtime
## CBC block
Smallest encrypted chunk of ledger, an encrypted ledger segment would be made of many CBC blocks. `ledger_segment_size / cbc_block_size` to be exact.
The smallest encrypted chunk of ledger, an encrypted ledger segment would be made of many CBC blocks. `ledger_segment_size / cbc_block_size` to be exact.
## client
A [node](terminology.md#node) that utilizes the [cluster](terminology.md#cluster).
A computer program that accesses the Solana server network [cluster](terminology.md#cluster).
## cluster
@ -50,7 +65,7 @@ The wallclock duration between a [leader](terminology.md#leader) creating a [tic
## confirmed block
A [block](terminology.md#block) that has received a [supermajority](terminology.md#supermajority) of [ledger votes](terminology.md#ledger-vote) with a ledger interpretation that matches the leader's.
A [block](terminology.md#block) that has received a [supermajority](terminology.md#supermajority) of [ledger votes](terminology.md#ledger-vote).
## control plane
@ -64,9 +79,9 @@ Some number of [epochs](terminology.md#epoch) after [stake](terminology.md#stake
See [vote credit](terminology.md#vote-credit).
## cross-program invocation
## cross-program invocation (CPI)
An [instruction](terminology.md#instruction) called from within an instruction. Put differently, it is how a program calls into another program. For more information, see [calling between programs](developing/programming-model/calling-between-programs.md).
A call from one smart contract program to another. For more information, see [calling between programs](developing/programming-model/calling-between-programs.md).
## data plane
@ -88,7 +103,7 @@ A preimage resistant [hash](terminology.md#hash) over the final contents of an e
- The specified [transactions](terminology.md#transaction) are those included in the entry
- The entry's position with respect to other entries in [ledger](terminology.md#ledger)
See [Proof of History](terminology.md#proof-of-history).
See [proof of history](terminology.md#proof-of-history).
## epoch
@ -128,11 +143,11 @@ See [cross-program invocation](terminology.md#cross-program-invocation).
## instruction
The smallest unit of a [program](terminology.md#program) that a [client](terminology.md#client) can include in a [transaction](terminology.md#transaction). Within its processing code, an instruction may contain one or more [cross-program invocations](terminology.md#cross-program-invocation).
The smallest contiguous unit of execution logic in a [program](terminology.md#program). An instruction specifies which program it is calling, which accounts it wants to read or modify, and additional data that serves as auxiliary input to the program. A [client](terminology.md#client) can include one or multiple instructions in a [transaction](terminology.md#transaction). An instruction may contain one or more [cross-program invocations](terminology.md#cross-program-invocation).
## keypair
A [public key](terminology.md#public-key) and corresponding [private key](terminology.md#private-key).
A [public key](terminology.md#public-key) and corresponding [private key](terminology.md#private-key) for accessing an account.
## lamport
@ -195,15 +210,19 @@ The private key of a [keypair](terminology.md#keypair).
The code that interprets [instructions](terminology.md#instruction).
## program derived account (PDA)
An account whose owner is a program and thus is not controlled by a private key like other accounts.
## program id
The public key of the [account](terminology.md#account) containing a [program](terminology.md#program).
## Proof of History
## proof of history (PoH)
A stack of proofs, each which proves that some data existed before the proof was created and that a precise duration of time passed before the previous proof. Like a [VDF](terminology.md#verifiable-delay-function), a Proof of History can be verified in less time than it took to produce.
## public key
## public key (pubkey)
The public key of a [keypair](terminology.md#keypair).
@ -215,6 +234,10 @@ A [block](terminology.md#block) or [slot](terminology.md#slot) that has reached
The component of a [validator](terminology.md#validator) responsible for [program](terminology.md#program) execution.
##Sealevel
Solana's parallel smart contracts run-time.
## shred
A fraction of a [block](terminology.md#block); the smallest unit sent between [validators](terminology.md#validator).
@ -239,11 +262,15 @@ Collectively, slots create a logical clock. Slots are ordered sequentially and n
## smart contract
A set of constraints that once satisfied, signal to a program that some predefined account updates are permitted.
A program on a blockchain that can read and modify accounts over which it has control.
## sol
The [native token](terminology.md#native-token) tracked by a [cluster](terminology.md#cluster) recognized by the company Solana.
The [native token](terminology.md#native-token) of a Solana [cluster](terminology.md#cluster).
## Solana Program Library (SPL)
A library of programs on Solana such as spl-token that facilitates tasks such as creating and using tokens
## stake
@ -255,7 +282,7 @@ Tokens forfeit to the [cluster](terminology.md#cluster) if malicious [validator]
## sysvar
An [account](terminology.md#account) maintained by the runtime and provided to programs which provide cluster state such as current tick height, rewards [points](terminology.md#point) values, etc. Sysvars can either be [passed to the program as an account or queried by the program via a syscall](developing/runtime-facilities/sysvars.md).
A system [account](terminology.md#account). [Sysvars](developing/runtime-facilities/sysvars.md) provide cluster state information such as current tick height, rewards [points](terminology.md#point) values, etc. Programs can access Sysvars via a Sysvar account (pubkey) or by querying via a syscall.
## thin client
@ -271,7 +298,7 @@ The Nth [tick](terminology.md#tick) in the [ledger](terminology.md#ledger).
## token
A scarce, fungible member of a set of tokens.
A digitally transferable asset.
## tps
@ -279,7 +306,7 @@ A scarce, fungible member of a set of tokens.
## transaction
One or more [instructions](terminology.md#instruction) signed by the [client](terminology.md#client) using one or more [keypairs](terminology.md#keypair) and executed atomically with only two possible outcomes: success or failure.
One or more [instructions](terminology.md#instruction) signed by a [client](terminology.md#client) using one or more [keypairs](terminology.md#keypair) and executed atomically with only two possible outcomes: success or failure.
## transaction id
@ -295,13 +322,13 @@ A set of [transactions](terminology.md#transaction) that may be executed in para
## validator
A full participant in the [cluster](terminology.md#cluster) responsible for validating the [ledger](terminology.md#ledger) and producing new [blocks](terminology.md#block).
A full participant in a Solana network [cluster](terminology.md#cluster) that produces new [blocks](terminology.md#block). A validator validates the transactions added to the [ledger](terminology.md#ledger)
## VDF
See [verifiable delay function](terminology.md#verifiable-delay-function).
## verifiable delay function
## verifiable delay function (VDF)
A function that takes a fixed amount of time to execute that produces a proof that it ran, which can then be verified in less time than it took to produce.
@ -315,7 +342,7 @@ A reward tally for [validators](terminology.md#validator). A vote credit is awar
## wallet
A collection of [keypairs](terminology.md#keypair).
A collection of [keypairs](terminology.md#keypair) that allows users to manage their funds.
## warmup period