In a recent announcement, BendDAO, a decentralized autonomous organization (DAO) that aims to create a flexible and adaptable platform for DeFi applications, has confirmed that it will use solidity as the programming language for all its smart contracts. This decision comes after a thorough evaluation of the pros and cons of solidity and vyper, two of the most popular languages for developing smart contracts on Ethereum.
Solidity is a high-level, object-oriented language that is designed to write smart contracts that run on the Ethereum Virtual Machine (EVM). It is influenced by languages such as C++, Python, and JavaScript, and supports multiple features such as inheritance, libraries, and user-defined types. Solidity is the most widely used language for smart contracts, with a large and active developer community and extensive documentation and tooling. Smart contracts are self-executing agreements that can encode business logic, rules and data. They can interact with other contracts, users and external sources of information. The EVM is a decentralized platform that can run smart contracts in a secure and transparent way.
Solidity supports multiple inheritance, which means that a contract can inherit from multiple base contracts. This allows for code reuse and abstraction. When a contract inherits from another contract, it inherits all its state variables, functions and events. The derived contract can override the inherited functions or events with its own implementation or add new ones. The order of inheritance is important, as it determines how the base contracts are initialized and how their functions are resolved in case of name conflicts.
Tekedia Mini-MBA edition 16 (Feb 10 – May 3, 2025) opens registrations; register today for early bird discounts.
Tekedia AI in Business Masterclass opens registrations here.
Join Tekedia Capital Syndicate and invest in Africa’s finest startups here.
Vyper is a low-level, pythonic language that is also designed to write smart contracts that run on the EVM. It is inspired by Python, but with a simpler and more restricted syntax and semantics. Vyper aims to be more secure, readable, and auditable than solidity, by eliminating some of the features that can introduce bugs or vulnerabilities in smart contracts, such as modifiers, inline assembly, and recursion.
BendDAO has stated that it has chosen solidity over vyper for several reasons, such as:
- Solidity has more support and resources than vyper, which makes it easier to learn, develop, test, debug, and deploy smart contracts.
-
Solidity has more compatibility and interoperability with other projects and protocols in the Ethereum ecosystem, which enables BendDAO to integrate with existing DeFi solutions and leverage network effects.
-
Solidity has more flexibility and expressiveness than vyper, which allows BendDAO to implement more complex and innovative features and functionalities in its smart contracts.
-
Solidity has more maturity and stability than vyper, which reduces the risk of breaking changes or unexpected behaviors in the smart contract code.
BendDAO has also acknowledged some of the drawbacks of solidity, such as:
Solidity has more potential for errors and exploits than vyper, which requires more caution and diligence from the developers and auditors of the smart contracts.
Solidity has more gas consumption than vyper, which increases the cost of executing the smart contracts on the Ethereum network.
Solidity has more ambiguity and inconsistency than vyper, which can lead to confusion or misunderstanding among the developers and users of the smart contracts.
BendDAO has assured its community that it will follow the best practices and standards for writing secure, efficient, and reliable smart contracts in solidity. It will also conduct rigorous testing and auditing of its smart contract code before deploying it on the mainnet. BendDAO believes that solidity is the best choice for its vision of creating a flexible and adaptable platform for DeFi applications that can bend to the needs and preferences of its users.