Skip to content

Terminology

Andreas E edited this page Jan 21, 2020 · 6 revisions

Technical Terminology

Function:

Functions are little machines made of code that do specific things. They are the essential component parts of programs. Large programs normally consist of many functions that work together. A useful analogy is that just like a car is made of lots of different component parts that each do a specific thing, e.g. the engine that drives the car forwards, the headlights which light up the road, the switches and motors which open and close the windows, the cooling system that cools the engine etc, a program can be made of lots of different parts which each have a specific task to execute.

Since this smart contract we're building is a very small program, it may only consist of one function, such as in the proposal above.

Functions typically run linearly. They have a starting point and a finish point, and they work by executing one command after the other. Each command does a specific thing, e.g. writing something on the screen or storing a piece of data in a variable. Running a function means starting it, making it start doing its work by executing the commands it is made of one after the other.

Functions can take input. This means that the function would need a certain piece of data to work with which needs to be given to the function whenever we run it. In the case of the draft described above, the function takes as input the electricity costs of the last month (or other time period), because it needs that data to calculate how much ether to transfer to the donation wallet.

Global Variable:

A variable is an object in which data can be stored. The data stored in a variable is called the variable's value. The variable's value can normally be changed, and sometimes variables can even have no value at all, meaning they contain no data. Functions use variables to do the work they need to do. A global variable is a variable that can be accessed by any function in a program. A local variable is a variable which is only used by a certain portion of the program, for example one that is used only by one specific function.

Solidity:

A programming language for the Ethereum blockchain. The code for the program, containing rules for syntax and semantic of the language describing the functions for the machine.

Smart Contract:

A program, containing one or several functions and variables, running on a blockchain.

Oracle:

An oracle is a way for a blockchain or smart contract to interact with external data. Smart contracts contain the rules, and oracles provide them with the data they need to trigger and execute those rules. Outbound oracles work in the opposite direction, informing actors off-chain of events that occurred on-chain.

Blockchain Terminology

Address: The public key of a wallet, often also called wallet address.

Ether: The name of the coins on a Ethereum blockchain (e.g. ETH, ETC). Ether are the native tokens of a Ethereum blockain. Additionally to those native tokens Ethereum blockchains allow the creation and operation of further ERC-20 tokens.

Gas: Blockchain fees for any transaction on the blockchain. On Ethereum the Gas price is measured in Gwei, whereas 1 Gwei equals 0.000000001 Ether.

Specific Terminology

Mining Facility: The business, entity or person that runs the blockchain miner or blockchain mining farm.

Costcenter: The entity that owes the electricity costs for operating the mining facility.

Beneficiary: Opposite to the costcenter, this is the entity that shall derive advantage from the mining, i.e. the payee, the recipient of the crypto coins mined, the taker of the donation, deducted by the expenses for the costcenter.