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
  • network packet

    A network packet is a basic unit of data that's grouped together and transferred over a computer network, typically a ...

  • virtual network functions (VNFs)

    Virtual network functions (VNFs) are virtualized tasks formerly carried out by proprietary, dedicated hardware.

  • network functions virtualization (NFV)

    Network functions virtualization (NFV) is a network architecture model designed to virtualize network services that have ...

SearchSecurity
  • Domain-based Message Authentication, Reporting and Conformance (DMARC)

    The Domain-based Message Authentication, Reporting and Conformance (DMARC) protocol is one leg of the tripod of internet ...

  • data breach

    A data breach is a cyber attack in which sensitive, confidential or otherwise protected data has been accessed or disclosed in an...

  • insider threat

    An insider threat is a category of risk posed by those who have access to an organization's physical or digital assets.

SearchCIO
  • data privacy (information privacy)

    Data privacy, also called information privacy, is an aspect of data protection that addresses the proper storage, access, ...

  • leadership skills

    Leadership skills are the strengths and abilities individuals demonstrate that help to oversee processes, guide initiatives and ...

  • data governance policy

    A data governance policy is a documented set of guidelines for ensuring that an organization's data and information assets are ...

SearchHRSoftware
SearchCustomerExperience
  • recommerce

    Recommerce is the selling of previously owned items through online marketplaces to buyers who reuse, recycle or resell them.

  • implementation

    Implementation is the execution or practice of a plan, a method or any design, idea, model, specification, standard or policy for...

  • first call resolution (FCR)

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

Close