Word List - MinaProtocol/docs2 GitHub Wiki
This word list is part of our content guidance that governs the terminology, voice and tone, and style guidelines.
To help ensure consistency in the technical documentation, follow these recommendations for word choices and preferred use of common terms.
A B C D E F G H I J K L M N O P R S T V W Z
&
Do not use Latin abbreviations. Use and instead, unless you are documenting a UI element that uses an &
.
A
above
Try to avoid using above when referring to an example or table in a documentation page. If required, use previous instead. For example:
- In the previous example,
assertBetween()
is used in the voting example.
Do not use above when referring to versions of the product. Use later instead.
AccountUpdate
Use AccountUpdate
for the class in SnarkyJS that represents account update instructions for the Mina network. Use when referring to an instance of a class, for example, when talking about code in a tutorial.
account update, account updates
Use account update and account update as the technical term for a part of a Mina transaction when explaining our protocol.
archive node
Do not capitalize.
B
Base58
Base68
Boolean, boolean
Use Boolean to refer to Boolean logic or Boolean algebra. Use boolean to refer to a data type.
Berkeley Testnet
Use Berkeley Testnet.
block producer
Do not capitalize.
C
CEX, CEXes
A centralized exchange (CEX) is a business that specializes in helping make transactions happen between two parties.
coinbase reward
The transaction fees that block producers earn for their work on the chain.
D
Dapp
Use Dapp for decentralized apps.
DeFi
Before you use DeFi as the acronym, spell it out on the first use on the page: decentralized finance (DeFi).
Devnet
A network dedicated to developers building on top of the Mina protocol.
E
earlier
Use earlier when talking about version numbers.
Use:
- In Mina zkApp CLI version 0.7.5 and earlier
ECDSA
Before you use ECDSA as the acronym, spell it out on the first use on the page: Elliptic Curve Digital Signature Algorithm (ECDSA).
F
fee payer
Fee payer account (no hyphen).
field element
Spell out "field element" in plain text when you refer to field elements in general. Use title case only when starting a sentence, otherwise, use lower case.
Field
Use title case with code backticks (Field
) when you refer to the class.
G
GitHub
H
hexidecimal, hex
I
J
JavaScript
Before you use JS as the acronym, spell it out on the first use on the page: JavaScript (JS).
K
Keccak
Keccak (SHA-3)
key pair
Kimchi
The proof system for Mina, Kimchi is the main machinery that generates the recursive proofs that keep the Mina blockchain small (about 22 KB). Kimchi is a zero knowledge proof system that’s a variant of PLONK.
L
later
Use later when talking about version numbers.
Use:
- In SnarkyJS version 0.9.0 and later.
Instead of:
- In SnarkyJS version 0.9.0 and higher...
- In SnarkyJS version 0.9.0 and above...
layer 1
Lightnet
Use Lightnet (not "a Lightnet" or "the Lightnet").
M
macOS
Mainnet
Makefile
Merkle tree
Merkle mountain range
mina daemon
Do not enclose in tick marks. Do not capitalize.
Mina
Use Mina network and Mina node.
Mina nodes
MINA
Use MINA for the token.
Mina CLI
The Mina CLI is installed when you install Mina. the primary way for users to interact with the Mina network. The Mina CLI is an ordinary application that runs the entire Mina blockchain, including (but not limited to) verifying zkApp execution proofs. The Mina CLI does not execute zkApps.
Mina Protocol
Use Mina Protocol, not the Mina Protocol.
Mina Signer
zkApp CLI
Use zkApp CLI when writing about the CLI you use to create a zkApp for Mina Protocol. https://github.com/o1-labs/zkapp-cli
N
non-upgradeable
npm
Node.js
O
o1js
Always lowercase, even at the beginning of a sentence. o1js is always one word (no space). Supersedes SnarkyJS, as of September 2023 SnarkyJS is now o1js.
OCaml
off-chain
on-chain
Ouroboros Samasika
The Mina Protocol proof-of-stake (PoS) consensus mechanism.
P
page
Use page to refer to individual pages of the documentation, such as What are Zero Knowledge Proofs?.
payout rewards
PLONK
Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge (PLONK) is general-purpose zero knowledge proof scheme.
Pickles
Mina’s inductive zk-SNARK composition system. See Pickles in Mina book.
proof of stake (PoS)
Before you use PoS as the acronym, spell it out on the first use on the page: proof of stake (PoS).
proof-of-stake consensus mechanism, proof-of-stake network
Hyphenate proof-of-stake only when the term modifies the following word. For example, proof-of-stake consensus mechanism.
proof of work (PoW)
Before you use PoW as the acronym, spell it out on the first use on the page: proof of work (PoW).
proof-of-work consensus mechanism, proof-of-work network
Hyphenate proof-of-work only when the term modifies the following word. For example, proof-of-work consensus mechanism.
prover
Use prover to refer to the entity that executes the prover function.
prover function
Use prover function to describe the function that executes the custom logic of a smart contract.
private key
Use private key. Do not use secret key.
public/private key pair
public key
Use public key. Do not use secret key.
public/private key pair
R
reward payout
Use reward payout to refer to the 95% of the rewards the block producer returns after they receive a delegation.
RFC
At O(1) Labs, request for comments (RFCs) manage planned changes and provide a contextual historical artifact. https://github.com/o1-labs/rfcs
S
section
Use section to refer to a top-level section of the documentation, such as the About Mina section.
SHA-2
SHA-256
SHA-3
local blockchain
Use local blockchain for the local chain you use for testing on Lightnet launched by the zk lightnet start
command.
smart contract
Use smart contract to refer to the code that is written with SnarkyJS. To refer to the UI + the smart contract, use zkApp.
SnarkyJS
Do not use. Superseded by o1js product rename September 2023. SnarkyJS is now o1js.
SNARK
Use SNARK all upper case when you refer to the acronym that stands for zero knowledge succinct non-interactive argument of knowledge.
SNARK proof
Use SNARK proof to refer to the individual proof that is generated by a SNARK prover.
SNARK work
Use SNARK work to refer to a Mina protocol data structure that is a wrapper around one or two SNARK proofs and a price to be paid to the SNARK worker that generated the proof or proofs.
SNARK workers
Use to refer to the node that produces the proof.
T
Testnet
Testworld Mission 2.0
The ITN for MF hard fork.
TradFi
Before you use TradFi as the acronym, spell it out on the first use on the page: traditional finance (TradFi).
TypeScript
Before you use TS as the acronym, spell it out on the first use on the page.
V
verifier
Use verifier to refer to the entity that executes the verifier function. To refer to the Mina protocol, use Mina.
verifier function
Use verifier function to describe the function that executes the custom logic of a smart contract.
W
Wasm
Web3
web worker
Z
Zenhub
zero knowledge
Zero knowledge (zk) is a common noun. The Z
in zero is capitalized only at the beginning of a sentence. In other instances, all letters zero knowledge are lowercase. Unless it conflicts with Mina branding, do not hyphenate zero knowledge.
zero knowledge proof
zero knowledge protocol
zk
Use the lowercase zk acronym for zero knowledge.
zkApp
Use zkApp (singular) and zkApps (plural) to refer to the UI + the smart contract. Letter casing may vary based on the context. If you are not sure, please ask. zkApps executed externally from the Mina blockchain in Node.js or in a user's browser, depending on their architecture.
zkApp CLI
zk-SNARK
Use zk-SNARK (singular) and zk-SNARKs (plural).
ZkProgram
ZkPrograms are similar to zkApp smart contracts but are not tied to an on-chain account.