Today I went through the exercise of writing/coding a smart contract on the Ethereum blockchain. The programming language used to write the code is called Solidity which feels a lot like C++, but obviously way better. I am not a programmer nor am I trying to be, but I came across a site called Remix.ide that allows anyone to “develop, deploy, and administer smart contracts for Ethereum like blockchains and it can also be used as a learning platform (1).”
To write the code for the smart contract I found a video tutorial on YouTube and simply followed along with the instructor. I found the Remix programming platform to be very straightforward to use and in under 30 minutes I had written my first smart contract. Now, to be upfront, this was just for practice and by no means will this smart contract ever be deployed on the blockchain. But what the exercise demonstrates is the relative ease by which anyone can access the tools to create smart contracts if they have the time and desire to do so.
For those that are unfamiliar, a “smart contract” is basically code that automatically executes all or parts of an agreement and is stored on a blockchain-based platform (2). Smart contracts are “smart” because they deal with all aspects of a traditional contract (enforcement, management, performance, and payment) except that they are digital. Smart contracts can never be edited and they are self-executing, making them ideal for a wide range of applications in the digital world.
For example, smart contracts are particularly useful in financial services for payments, lending, borrowing, and more. The use of smart contracts (at scale) may one day significantly reduce (or eliminate) the need for large, centralized financial organizations (who often have onerous rules and fee structures) to facilitate these types of financial transactions for us. I don’t think that banks will ever go away, but they will be forced to evolve to remain relevant as blockchain technology infrastructure improves and smart contracts become more mainstream.
There are a multitude of resources online about coding smart contracts and I’ve included a few links below for those who want to learn more.
Introduction to Smart Contracts