Skip to content

Word List

Barrie Byron edited this page Sep 28, 2023 · 20 revisions

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.

B

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.

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

F

fee payer

Fee payer account (no hyphen).

field

field type

G

GitHub

H

I

J

JavaScript

Before you use JS as the acronym, spell it out on the first use on the page: JavaScript (JS).

K

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

M

macOS

Mainnet

Makefile

Merkle tree

Merkle mountain range

Mina

Use Mina for the network.

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 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

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.

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

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 and is capitalized only at the beginning of a sentence. In other instances, all letters are lowercase. Unless it conflicts with Mina branding, hyphenate zero-knowledge only when used as a modifier.

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.

Clone this wiki locally