Glossary

Term Description
ABI Application Binary Interface. In general, an ABI is the interface between two program modules, one of which is often at the level of machine code. The interface is the de facto method for encoding/decoding data into/out of the machine code. In Ethereum, it’s basically how you can encode Solidity smart-contract calls for the EVM and, backwards, how to read the data out of transactions.
Accept/Relay Message When connecting two blockchains, a mechanism named bridge is used to send transactions from a chain to another. Accept Message and Relay Message are part of that mechanism. More specifically, a smart-contract or user willing to send a message to the other chain can call the relayMessage function on the smart-contract, and the Bridge contract on the second chain will then automagically call your contract with the acceptMessage function.
Bridge A Bridge in blockchain, is a connection between two blockchains that allows to pass arbitrary messages between two blockchains.
Envelope An envelope in Orchestrate is a package of data that is passed between two workers. This envelopes or messages will be published to or consumed from a topic.
EVM Ethereum Virtual Machine is a formal model of a virtual state machine. It is a quasi-Turing complete machine; the quasi qualification comes from the fact that the computation is intrinsically bounded through a parameter, gas, which limits the total amount of computation done.
Faucet A faucet on blockchain is an address that serves as an address holding credit enough to do micro-credits to other addresses soliciting for it. Each faucet will have their own rules on who and how will be credited. [ Orchestrate’s Faucet Service ]
Gas Gas in Ethereum is a measurement roughly equivalent to computational steps. Every transaction is required to include a gas limit and a fee that it is willing to pay per gas. If the total number of gas used by the computation spawned by the transaction, including the original message and any sub-messages that may be triggered, is less than or equal to the gas limit, then the transaction processes. If the total gas exceeds the gas limit, then all changes are reverted, except that the transaction is still valid and the fee can still be collected by the miner. [ Source ]
Kafka Topic A Topic is a category/feed name to which messages are stored and published. Messages are byte arrays that can store any object in any format. As said before, all Kafka messages are organized into topics. If you wish to send a message you send it to a specific topic and if you wish to read a message you read it from a specific topic. Producer applications write data to topics and consumer applications read from topics. Messages published to the cluster will stay in the cluster until a configurable retention period has passed by. Kafka retains all messages for a set amount of time, and therefore, consumers are responsible to track their location. [ Kafka Apache doc ]
Marshal / Unmarshal Golang terminology calls marshal the function of generating a JSON string from a data structure, and unmarshal the act of parsing JSON into a data structure.
Nonce A nonce in Orchestrate context is a transaction counter in each account, that ensures transactions being processed in the right order.
Payload Transaction payload is the bytecode data sent along with the transaction request. Meaning this all the information being sent to the blockchain for it to mine the transaction.
Protobuf Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. You can even update your data structure without breaking deployed programs that are compiled against the “old” format. [ Source ]
(Orchestrate) Request Objects corresponding to an Orchestrate Request (names ending by ‘Request’) belong to requests made by the user to Orchestrate.
(Orchestrate) Response Objects corresponding to an Orchestrate Response (names ending by ‘Response’) belong to answers given by Orchestrate to the user.
Topic A Kafka topic is a category or feed name to which messages are stored and published. Producer applications write data to topics, and consumer applications read data from topics. [ Kafka topic ]
Wei Wei is the smallest denomination of ether, the cryptocurrency used on the Ethereum network. 1 Ether = 1,000,000,000,000,000,000 Wei (1018).
Worker A worker is a single independent module being part of a larger application. Each worker will execute some specific work, usually consuming the output of another worker, and generating a result that may be fetched by a different worker.