-
Command Line Interface (CLI)
A CLI (Command Line Interface) is a type of user interface that allows users to interact with a computer or software system by typing text commands into a console or terminal window. Unlike Graphical User Interfaces (GUIs), which rely on visual elements like buttons and icons, a CLI presents a text-based interface where users execute…
-
MPC wallets
MPC wallets (Multi-Party Computation wallets) are a type of cryptocurrency wallet that use advanced cryptographic techniques to secure user assets by distributing the control and management of a private key among multiple parties. Unlike traditional wallets where a single private key is stored and used to authorize transactions, MPC wallets split the cryptographic secret (private…
-
gRPC
gRPC is an open-source, high-performance remote procedure call (RPC) framework developed by Google. It allows for efficient communication between client and server applications by enabling them to call functions and exchange data as if they were local, even though they might be running on different machines or in different locations. gRPC supports multiple programming languages…
-
API Query Layer
An API Query Layer is a part of the software architecture that allows users or applications to retrieve, manipulate, and interact with data through Application Programming Interfaces (APIs). It acts as an intermediary between users and a database, enabling the querying and fetching of specific data through structured requests. APIs provide a way for external…
-
Static Typed Languages
Static typed languages are programming languages in which the type of a variable is known and checked at compile time rather than at runtime. This means that variables must be explicitly declared with a specific data type (e.g., integer, string, boolean) before they are used. If there are type mismatches or errors, they are detected…
-
Polymorphism
Polymorphism is a concept in programming and type theory where a function, variable, or data type can operate on different data types while maintaining a consistent interface. Essentially, it allows one piece of code to be used for different types of inputs, increasing code flexibility and reusability. In simple terms, polymorphism allows functions or types…
-
Escrows
In the context of blockchain and smart contracts, an escrow is a financial arrangement where a third party temporarily holds and manages the funds involved in a transaction between two parties until certain conditions are met. Escrows on Cardano are implemented using Plutus smart contracts, ensuring trustless and secure transactions without the need for a…
-
Type System
A type system is a set of rules that assigns types to various parts of a computer program, such as variables, expressions, functions, or modules. These types define what kind of values the program components can take and what operations can be performed on them. Type systems help catch errors during compilation or runtime by…
-
Embedded Domain Specific Languages (eDSL)
Embedded Domain-Specific Languages (eDSLs) are specialized programming languages designed to solve problems in a specific domain. They are embedded within a host general-purpose language, meaning that the domain-specific syntax and functionality are written as part of the main language. An eDSL leverages the existing tools, libraries, and infrastructure of the host language but adds domain-specific…
-
Native Asset
A native asset on Cardano is a type of token that is created and managed directly on the Cardano blockchain, alongside the ADA cryptocurrency, without the need for smart contracts. This contrasts with how assets are typically handled on other blockchains like Ethereum, where smart contracts (e.g., ERC-20 for fungible tokens and ERC-721 for NFTs)…