What Is Solidity? - Ethereum’s Programming Language

Supporting most if not all decentralized tech are tool kits that help and contain most of the character of the technology.  Developers, as a result, have existing frameworks for different programming languages to build infrastructure.

An analogy of programming languages would be like using a big box of lego for a build. You are only, mostly, limited to your own imagination. That said. A more specific, different set of bricks can yield different results. A different brand of building blocks may have the qualities needed for a specific build.

What is olidity?

This would be the bricks and the completed build would be dApps (decentralized apps).  Solidity is the primary language on Ethereum as well as on other private blockchains running on platforms that compete with Ethereum. SWIFT has also deployed a proof of concept using Solidity.

The Ethereum project's Solidity team, led by Christian Reitwiessner developed the language. It is one of four languages designed to target the Ethereum Virtual Machine(EVM).  Solidity as a language is essentially a new type of programming for finance where you can create your own smart contracts.

What are Smart Contracts?

-" A computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible." - Wikipedia.

Manipulation or reversal of the virtual agreements is not possible by an individual. Therefore needing no 3rd party to verify and ensure compliance. The aim of this is to decentralize control and put it back into the hands of the parties involved. This can reduce cost, time and increase security. 

Traditionally we have a contract to bind two or more parties together in an agreed workflow. Like a simple payment for goods and services contract, you sign to say you will pay once you have received these to an agreed standard. However, there can be much debate over the particular when it comes to payment and may need a 3rd party to enforce. Debt collectors, solicitors, mediators, all costing time and money. They can be subject to fraud and don't guarantee impartiality.

Ethereum/ Solidity smart contracts can make the whole process virtual. It is transparent and immutable. removing the need and implications of the above. Smart contracts are between two parties, the number of people in each party is not limited.  Another way smart contracts have found use cases is in the financial offerings field. They made ICOs in lieu of IPOs possible due to this immutability and transparencyYou can subsequently issue a native token from the Ethereum standard of ERC20, subsidiaries of the ether asset.

Here is a short video explainer ⬇⬇⬇⬇⬇⬇

 

Using Solidity

The main claims made by Ethereum state that they designed the concept of Solidity to be close to JavaScript for dAppsJavaScript is popular with developers as it's relatively easy to learn and it covers most concepts and design of modern languages. This was the basis for the design of Solidity.

It is possible to create basic programs on Solidity. However, dApps and smart contracts are Solidity's design purpose.  This means that a user doesn’t extract its real usability until a developer starts applying its usage to smart contract development. It's actually pretty weak outside of this environment.

So....(breathes in deeply)...If readers wanted to create a smart contract called "firstcontract,” a developer has to establish its instantiation through “contract firstcontract.” Using this, you can get a feel for the flow of solidity.

It maintains a lot of design and preprogrammed keywords that will integrate with the Ethereum platform. These directly coordinate with the Ethereum Virtual Machine (EVM).

Solidity and Decentralized Applications (dApps)

Decentralized applications are applications that running off networks. This is in contrast to sole systems or users.  Think of it like this: When making an app for Mac, the network that governs the back-end of the application is Apple or a single entity. When creating a dApp, the network governing its processes are those on the Ethereum network. Therefore creating a “distributed” system for apps.

Solidity is not a smart contract. It's not a dApp. Solidity language creates smart contracts that can then subsequently link applications to a blockchain. Upon learning Solidity, a developer can create decentralized applications that interact with blockchains.

Competitors

Ethereum's competitors in terms of contracts in many cases regard to be the mainstream case of TRON and EOS.  The competitor list is more finite for Solidity programming language.

E.g. The EOS development kit offers competitive smart contract creation abilities, however, programmers use C++, an already existing language.

In conclusion

Of the many options in this ever-growing world of decentralised systems, Ai, Big Data, Solidity is well established, relatively easy to pick up and has a robust toolkit.  Solidity which by nature is quite complicated to the un-inducted is difficult to explain, but hopefully the above can get you started.

There are online courses available to further your learning.

Check out Blockchain Academy for more topics covered in the tech terms mini-series.