Smart Contract Languages

A great aspect about MELD is that, as it is based on the EVM, smart contracts can be programmed using relatively developer-friendly languages. If you're experienced with Python or any curly-bracket language, you can find a language with familiar syntax.

The two most active and maintained languages are Solidity and Vyper.

Solidity

  • Object-oriented, high-level language for implementing smart contracts.

  • A curly-bracket language that has been most profoundly influenced by C++.

  • Statically typed (the type of a variable is known at compile time).

  • Supports:

    • Inheritance (you can extend other contracts).

    • Libraries (you can create reusable code that you can call from different contracts – like static functions in a static class in other object-oriented programming languages).

    • Complex user-defined types.

    Solidity Documentation

Vyper

  • Pythonic programming language

  • Strong typing

  • Small and understandable compiler code

  • Efficient bytecode generation

  • Deliberately has fewer features than Solidity with the aim of making contracts more secure and easier to audit. Vyper does not support:

    • Modifiers

    • Inheritance

    • Inline assembly

    • Function overloading

    • Operator overloading

    • Recursive calling

    • Infinite-length loops

    • Binary fixed points

    Vyper Documentation

More experienced developers also might want to use Yul, an intermediate language, or Yul+, an extension to Yul.

Last updated