GONT language

Do you want to know what is the GOL language? Find the answer below.

Greetings, dear readers of our blog! Today we introduce you the GOL language. We will talk about the purposes of its implementation in technology and also about transactions and types of contracts in GONT. Enjoy!

GONT language – GOL

Our goal: to inject more opportunities and functional complexity into the language of contracts. Make the language of contracts adaptive to the real world.

Aims of implementation of GOL language:

  • Displaying transactions of any type on FU and PE (function modules and processor elements) of the virtual machine and processor in the context of the TREVAL concept. TREVAL provides hardware support for transactionality, not just code execution.
  • Using real-world objects (from the GONT Tree Oracle) as elements of a functional language.
  • Realization of the algebra meanings for use in transactions.

    One of the understandings of the GOL language is a functional language with a direct mapping of functions to HW executive modules.

Demand for a functional approach to programming BC exists.
The GOL descriptions are bound to the GONT nodes of transactions in the GONT Tree.

The program execution model

The execution model of the program is implemented as transitions on the transaction state machine (FSM) on the GONT Tree. Each NODE of the ontological GONT tree = Transaction (transaction state) and a description of the transaction in the GOL language.

Example for 3 states (transactions):

TR1, TR2, TR3 are the transaction states described in GOL in the GONT Tree.

Implementation of the functional code (smart contract):

IF (A) {TR2}
ELSE
IF (B) {TR3}

TR2 and TR3 have a mapping to the GONT VM function blocks, which is described in GONT Tree, the global GONT Oracle.
A and B are conditions (events) from the outside world.

Transactional nesting can be continued:

Implementation of the functional code for transactions embedded in TR1 (smart contract):

IF (AA) {TR21}
ELSE
IF (BB) {TR31}

What is a smart contract in GONT?
This is the aggregate of any number of transactions in the form of a functional code of the program. The contract is always in the state (TR_STATE) of one of the transactions. Then the contract goes to TR_STATE of the next transaction.

How to transfer TR_STATE to another contract?
Through the outcome of the evolution of the state between contracts.

Types of contracts in GONT

1) Evolutionary contract
There is a model of evolution (FSM from state to state). There is no asynchrony, there is a TOTAL_COMMIT state that appears after passing through all the evolution states of the service.

2) Open contract (“commercial” package of evolutionary contracts)
This contract can be considered as a general set of evolutionary contracts. There is an asynchronous execution of contracts within an open contract.

The total COMMIT can be monitored as the percentage of completion of evolutionary contracts.

Thank you for attention! Good luck!
GONT

Leave a Reply