What is Vyper and Plutus?
Due to the difficulty with auditing Solidity contracts, Vyper and Plutus came into existence, which of course has been influenced by many popular programming concepts.
As you may recall, Solidity is the default programming language for Ethereum smart contracts, developed by several former Ethereum core contributors. However, for those non-technical individuals who want to learn to code on their own, a platform like Vyper, which is built solely for readability and simplicity is the go-to.
It is a Python-based language, which is arguably one of the most easily understood and widely-used programming languages. As such, Vyper has been developed as a minimalistic, simple language that focuses on trivial cases (and is not able to be used to code anything complex, such as a DApp.
So, why take a minimalist approach? Primarily, because it’s difficult to write malicious code without it being spotted during auditing.
What a Vyper Smart Contract Looks Like
Taking a look at this ERC-20 smart contract, written in Vyper, you can see that:
- The “self” method is used to show the instance variables of its class for clarification purposes.
- @public and @private are used to set the visibility and exposure of the contracts ABI (Application Binary Interface) interface which allows external actors (other contracts or wallet addresses) to call it.
Source: Input | Output
Plutus is a high-level programming smart contract language that is intended for use by financial institutions, e-commerce, and stock options trading. It is one of the two programming languages used by Cardano; the other is Haskell.
According to its developers, Plutus is a pure functional programming language for writing smart contracts on Cardano, mirroring Haskell’s syntax. When defining data types, developers can directly call type names, type parameters, and constructor alternative lists.
A “functional programming language”, as opposed to an “instructional” or imperative programming language, through its “lambda calculus”, emphasizes the importance of the calculation of functions, rather than the execution of instructions.
In contrast, instructional programming requires developers to write all the computing steps required by the computer in the code. In plain, each step is an instruction.
If you want to see a sample contract written in Plutus, please click here
Source: Programmer Sought
Back in June 2020, it announced an affiliate partnership with sports apparel giant, Nike, enabling its users to earn cash back using the Plutus Visa Card on Nike’s online store. This adds to Plutus’ growing list of branding partners, including Airbnb and Skyscanner.