# Glossary

Here is a list of terminology and concepts that are frequently referred to throughout the documentation. This list can also be used a reference or starting point for users who are getting started with the **Ontology** framework.

Certain related terminology and concepts have been grouped together for ease of understanding and access.

{% hint style="warning" %}
All the term and concept definitions mentioned in this glossary are **limited** within the scope of **Ontology**.
{% endhint %}

## Blockchain

A **ledger-based** network of nodes that function based on **consensus** and **trust.** All the functionality and applications work based on the implementation of the aforementioned characteristics which have been brought about using **complex algorithms** and **cryptography**.

### Node

A node is an instance or the most basic element of a node-based **P2P** network. The same definition applies to blockchain based networks which are **P2P** in nature, generally speaking.

In the context of the Ontology framework, a node is a functioning deployment of the official Go-based implementation of the Ontology core.

### Block

A block is a **ledger unit** where **transaction records** are registered with the corresponding **transaction hashes** with all the data being **open** and **transparent** for all the nodes to be **accessed** and **synchronized** with. Blocks can be referred to using their **height** in the chain. A collection of time synchronized and linked blocks essentially forms the blockchain.

{% hint style="info" %}
Ontology blockchain offers fast blockchain generation rates with a new block being generated about every 6 seconds.
{% endhint %}

### Transaction

In the traditional sense, we understand transactions to be transmission or transfer of financial assets and goods. But in terms of blockchain, any transfer of data or message passing between two nodes of a network or the blockchain is considered a transaction. Each transaction has a transaction hash which can be used to find out details regarding the particular transaction.

## Tokens

**ONT** and **ONG** are Ontology chain's native tokens. &#x20;

### ONT&#x20;

**ONT** is a cryptocurrency token that has gained popularity in the digital currency market. It can be used for general exchange purpose within applications that support it. Feel free to explore the [**dApps**](#dapp-decentralized-application) in [**ONTO**](https://docs.ont.io/discover#onto). It can be exchanged for other digital currencies, e.g. Bitcoin or Ethereum, or fiat, e.g. USD, over exchange platforms that accept **ONT**, such as [**Binance**](https://www.binance.com) and [**Huobi**](https://www.huobi.com/).

#### Characteristics of ONT:

1. Can be used as a governance token on the Ontology chain for staking.
2. Indivisible. i.e., the smallest unit of the token is limited to unity.

**Token decimal:**

Originally ONT was designed to have **0** decimal.  After the upgrade at the block height of **13920000,** it's updated to **9** decimals.

### ONG

**ONG** is a cryptocurrency much like **ONT**.

#### Characteristics of ONG:

1. **ONG** serves as the gas to perform operations on the Ontology blockchain. Each on-chain action, or a [**transaction**](#transaction) consumes a small amount of gas fee.
2. Divisible in nature. Smallest unit of ONG can be as small as **0.000000001** (precise to 9 decimal places)

**Token decimal:**

Originally ONG was designed to have **9** decimals. After the upgrade at the block height of **13920000,** it's updated to **18** decimals.

## Smart Contracts

Smart contracts are the fundamental units of logic as far their usage within the blockchain ecosystem is concerned. Smart contracts implement functionality by releasing assets on single, or multiple chains based on the business logic and architecture, when certain fixed and acknowledged contractual clauses are fulfilled, or fail to fulfill. Hence, smart contracts can be used to program complex logic and functionality without any constraints in terms of industry.

{% content-ref url="guides-and-tutorials/development-guides/smart-contract-dev" %}
[smart-contract-dev](https://docs.ont.io/guides-and-tutorials/development-guides/smart-contract-dev)
{% endcontent-ref %}

## NeoVM

The Neo virtual machine is the engine that processes and runs the **AVM byte code** generated upon compiling Ontology smart contracts. Currently NeoVM supports contracts written using **Python** and **C#**. Feel free to check out Ontology's online IDE [**SmartX**](https://smartx.ont.io) **(access using Google Chrome).**

## Web Assembly Framework - WASM

Just like **NeoVM**, the **Webassembly** framework has the capability of processing portable binary code. Applications can be developed using the Ontology framework and then compiled to optimized binary code which can then be processed by the Webassembly engine. The **WASM** framework currently supports **Rust** and **C++.**

{% content-ref url="guides-and-tutorials/development-guides/smart-contract-dev/wasm" %}
[wasm](https://docs.ont.io/guides-and-tutorials/development-guides/smart-contract-dev/wasm)
{% endcontent-ref %}

## Digital Wallet

A wallet that allows the user to store and utilize digital currency. Ontology currently has three digital wallets available for usage, [**Cyano**](https://chrome.google.com/webstore/detail/cyano-wallet/dkdedlpgdmmkkfjabffeganieamfklkm?hl=en), a **chrome plugin** wallet, [**ONTO**](https://onto.app/), which is available in the form of a **mobile application**, and [**OWallet**](https://github.com/ontio/OWallet/releases), which is a **desktop wallet**.

## dApp - Decentralized Application

A **decentralized application** implements **features** and the **back end mechanism** of a distributed system or network to achieve its business logic. **Ontology** provides the required **framework** and **SDKs** that facilitate `dApp` development. Follow the link below for a brief introduction to **dApps**.

## Bridge

Ontology [Bridge ](https://bridge.ont.io)supports the exchange between OEP-4 and ORC-20 tokens, and ONG transfer between Ontology addresses (a-) and Etheruem addresses (0x-). In the future, it will support NFT transfers.

Here's a detailed [tutorial](#blockchain).&#x20;

## Explorer

The [Explorer](https://explorer.ont.io/) is Ontology's **trust verifier**. **Block**, **transaction** and **contract** related information can be looked up conveniently using the corresponding identifiers such as the **transaction hash**, **block height**, **contract hash**, etc.

## OEP - Ontology Enhancement Proposals

**OEPs** define new standards for tokens and token protocols based on the Ontology framework and the native tokens **ONT** and **ONG**. Please follow the following link for details on the currently existing **OEP** token protocols.

{% content-ref url="ontology-elements/token-protocols" %}
[token-protocols](https://docs.ont.io/ontology-elements/token-protocols)
{% endcontent-ref %}

## SDKs

An **SDK** is a collection of tools packaged together for easy access to developers. Ontology provides **SDKs** in all major languages to support `dApp` development and the developer community. Follow the link below to refer to the list of **SDKs** made available by **Ontology**.

{% content-ref url="developer-tools/sdk" %}
[sdk](https://docs.ont.io/developer-tools/sdk)
{% endcontent-ref %}

## dAPI

A blanket term referring to the **APIs** provided by Ontology.

### Restful API

The Restful API is primarily useful for fetching on-chain data by sending individual requests to obtain individual responses. The **Restful API** uses `HTTP` requests and responses to communicate data.

### RPC API

The **Remote Procedure Call (RPC) API** has been implemented based on the `JSON-RPC` protocol. **RPC** uses `HTTP` requests and responses to communicate data.

### Websocket API

The **Websocket API** has been implemented based on the `websocket` protocol, which establishes a bi-directional link between the node and the chain that allows free flow of data.

{% content-ref url="guides-and-tutorials/development-guides/dapp-dev/using-dapi" %}
[using-dapi](https://docs.ont.io/guides-and-tutorials/development-guides/dapp-dev/using-dapi)
{% endcontent-ref %}

## Entity

In the context of a **distributed network** an entity could be an **individual**, **institutions** that verify trust based **claims**, **government bodies**, etc. with no limitations. Ontology's **ONT ID** and **DDXF** protocol involve entities that perform various functions to **verify identity** and **exchange resources** in a **credibility** and **trust** based network.

## ONT ID

A **digital identity** that is assigned to **entities** in the **Ontology** network in order to serve as a digital **identifier**.

{% content-ref url="decentralized-identity-and-data/ontid" %}
[ontid](https://docs.ont.io/decentralized-identity-and-data/ontid)
{% endcontent-ref %}

## DDXF

An abbreviation of **Distributed Data Exchange Framework** designed by Ontology that allows **tokenization** and exchange of **data** and **claims** via a **marketplace**. Click [**here**](https://github.com/hsutaiyu/DocumentationCentre-1.8/tree/45e5aa8ac6946dcc6764659a6683bcf1b34bd43a/ontology-elements/distributed-data-exchange-framework/README.md) for more details.

{% content-ref url="decentralized-identity-and-data/ddxf" %}
[ddxf](https://docs.ont.io/decentralized-identity-and-data/ddxf)
{% endcontent-ref %}

## Resource

In the context of **DDXF**, a resource is anything that is available on the **marketplace**. A resource can be **physical** in nature such as articles of value, or a **digital copy** of **creative production**, or even **processing power** or **storage** from a **cloud platform**. Activities of **exchange** and **transfer** can be carried out on these resources using the exchange system in place.

## Claim

A claim is a **verifiable credential** or **ownership related assertion** that holds value under specific circumstances in a **trust network** and can be used to represent **information** such as **personal data, digital signatures, attributes** and **ownership status** linked with physical objects, etc.

## Trust Network

A **decentralized** network that involves **entities** that use the **verifiable credentials** and a **trust mechanism** to carry out transactions that can involve **digital tokens** or other **tokenized assets**.

{% content-ref url="decentralized-identity-and-data/ontid/trust-mechanism" %}
[trust-mechanism](https://docs.ont.io/decentralized-identity-and-data/ontid/trust-mechanism)
{% endcontent-ref %}

## Nonce

An **arbitrary** number used in **cryptographic communication**. The number can only be used **once**.
