Browse Definitions :
Definition

Solidity

Solidity is a programming language used for developing smart contracts on Ethereum and other blockchain platforms, such as Monax and its Hyperledger Burrow blockchain. British software developer Gavin Wood proposed Solidity in 2014 and developed the high-level programming language along with other Ethereum aficionados, including Christian Reitwiessner, Alex Beregszaszi, Liana Husikyan and Yoichi Hirai.

Solidity is compiled to bytecode (or portable code) that is executable on the Ethereum Virtual Machine (EVM), the runtime environment for smart contracts in Ethereum. Although other languages, including Serpent, Viper and Mutan, can also be compiled into EVM machine-level bytecode to run on Ethereum nodes for payment, Solidity is the most widely adopted.

Solidity was created to be easily learned because it employs many concepts – such as variables, functions, classes, arithmetic operations and string manipulation – that appear in popular modern programming languages. An intentionally pared-down, loosely-typed language, Solidity draws from C, C++, C#, JavaScript, PowerShell and Python. It also adopts a syntax that similarly resembles ECMAScript (JavaScript). For example, in Java or C, a programmer would create some form of a “main” function, while Solidity uses a “contract” written in a similar manner.

Developers working with Solidity can write apps that implement self-enforcing business logic incorporated in smart contracts. A smart contract, also known as a cryptocontract, is a computer program that directly controls the transfer of digital currencies or assets between parties under specific conditions. It sets the rules and penalties related to an agreement, much like a traditional contract does, but can also enforce those obligations automatically. Smart contracts are considered a secure, easy and reliable medium that enables individuals to transact business with each other, even if they speak different languages or use different currency. Contracts also support complex member variables in hierarchical mapping and structures.

Solidity has a compiler that breaks down high-level code into simple instructions like "put data into a register," "add data from two registers," "jump back to instruction at memory point xxxxx." The programming language is statically typed (meaning variable types are declared explicitly and determined at compile time) and supports inheritance, libraries and complex user-defined types. Inheritance refers to an object or class that is based on another object or class and uses the same implementation to maintain the same behavior.

In addition, there are several integration platforms (to compile, execute and run code) that implement Solidity, including Remix, which is an easily available browser-based integrated development environment (IDE). Also supported are various type-safe functions, which means the compiler will validate types and produce an error if the wrong type is assigned to a variable.

This was last updated in October 2018

Continue Reading About Solidity

SearchNetworking
SearchSecurity
  • man in the browser (MitB)

    Man in the browser (MitB) is a security attack where the perpetrator installs a Trojan horse on the victim's computer that is ...

  • Patch Tuesday

    Patch Tuesday is the unofficial name of Microsoft's monthly scheduled release of security fixes for the Windows operating system ...

  • parameter tampering

    Parameter tampering is a type of web-based cyber attack in which certain parameters in a URL are changed without a user's ...

SearchCIO
  • e-business (electronic business)

    E-business (electronic business) is the conduct of business processes on the internet.

  • business resilience

    Business resilience is the ability an organization has to quickly adapt to disruptions while maintaining continuous business ...

  • chief procurement officer (CPO)

    The chief procurement officer, or CPO, leads an organization's procurement department and oversees the acquisitions of goods and ...

SearchHRSoftware
SearchCustomerExperience
  • first call resolution (FCR)

    First call resolution (FCR) is when customer service agents properly address a customer's needs the first time they call.

  • customer intelligence (CI)

    Customer intelligence (CI) is the process of collecting and analyzing detailed customer data from internal and external sources ...

  • clickstream data (clickstream analytics)

    Clickstream data and clickstream analytics are the processes involved in collecting, analyzing and reporting aggregate data about...

Close