What is a smart contract?
Smart contracts = method of turning ordinary contracts and applications into decentralized programs that operate through a Blockchain Ledger.
As Explained in the Ethereum Documentation, Smart contracts: “contain code functions to Interact with other contracts, make decisions, store data, and send ether to others. “(via This page @ethereum.org)
Essentially they are a medium which allows transactions and ledgers to be programmed. This allows for innovative methods for the transaction, distribution, storage, and record keeping methods, but it also allows for the creation of ‘block-chain programs’ otherwise known as dAPPS(Decentralized Application.)
Decentralized applications are a lot like normal applications with one major exception. Rather than being hosted by a single source on the internet, Decentralized apps are hosted by a collective of every Node in the Associated Network.
What kind of dAPPs can be made?
Just about everything we can make in normal programs. DAPP marketplaces and browsers are already filling up with different games, Investment platforms, Utilities, exchange mediums for crypto currencies, tokens and other assets, as well as all kinds of services and marketplaces in which goods can be purchased or sold for various crypto-currency.
How do you write a smart contract?
There are multiple languages, and libraries for existing ones which allow users to write execute their own smart contracts. We’ve provided three of our favorite examples, though there are surely more out there, the following are a great place to start!
Languages for writing Smart Contracts:
- Vyper = Easy to learn and read, similar to python. Limited libraries and functions.
Download: Vyper on Github
Documentation: Vyper documentation
- Solidity – Well rounded, General purpose. Supports inheritance. Designed to target EVM(Etherum Virtual Machine)
Download: Solidity On Github
Guide: Solidity Guide @BlockGeeks
Download: Ethers.JS on Github
Documentation/Guide: Ethers.Js Documentation