MELD Dev Docs
  • Welcome to MELD
  • OVERVIEW
    • Core Concepts
      • EVM Compatible
      • Staking/Block Rewards
      • L1-Subnet
    • Bug Bounties
    • Careers
    • Security & Audits
      • Double Spend Prevention
  • DEVELOP
    • Developing on MELD
    • Basics
      • Kanazawa Testnet
      • Test Tokens & Faucet
      • MELD Mainnet
      • RPC connections
        • RPC Methods
      • Explorers
    • Tools
    • Oracles
      • Integrating Supra Oracles
    • Deploy a Smart Contract
      • Smart Contract Languages
      • Smart Contract Testing
      • Using Remix IDE
      • Using Hardhat
      • Verify Your Smart Contract
    • Token Standards
      • MLD-20: Fungible Tokens
        • Interacting With MLD-20 Tokens
      • MLD-721: NFTs
      • MLD-1155: Multi-token standard
      • MLD-404: Semi-fungible tokens
      • MDL-6551: Token Bound Accounts
    • Deploy NFTs
      • Using Remix
    • dApp
      • Develop a Full Stack dApp on MELD
      • Secure your dApp
    • Decentralized Storage
    • Cross Chain Bridging
      • Integrating Chainport
        • Bridging Between MELD and EVM Chains
          • Main Chain -> Side Chain
          • Side Chain -> Main Chain
          • Side Chain -> Side Chain
      • Akamon Bridge
      • Yield Boost
  • VALIDATORS
    • Overview
    • Consensus
    • Run a Validator node
    • MELD Staking
  • Tutorials
    • Using MELD with your metamask
    • Create a Token
    • Add a Token to Asomi DEX
    • Lock/Burn Liquidity
  • FAQ
    • General FAQ
    • Borrowing & Lending FAQ
    • MELD ISPO FAQ
Powered by GitBook
On this page
  • Solidity
  • Vyper
  1. DEVELOP
  2. Deploy a Smart Contract

Smart Contract Languages

PreviousDeploy a Smart ContractNextSmart Contract Testing

Last updated 1 year ago

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 , 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.

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

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

Yul
Yul+
any curly-bracket language
Solidity Documentation
Vyper Documentation