合约语言 笔记合集
简介 本文件为 Code Language 的简要说明,面向 Web3 开发者与学习者,概述 Solana 与 Ethereum 两大生态中常见的合约语言及其基本用途与特点。内容以技术介绍为主,强调实际开发中的可理解性与参考价值,适合作为项目仓库或学习笔记中的快速查阅文档 Ethereum 以太坊生态的合约开发语言丰富,从高级语言到中间/低级语言都有对应工具链。下面按常见度与用途列出 Solidity 定位:以太坊主流高级语言(类似 JS/Java 风格),最广泛使用的智能合约语言 特点: 面向合约、支持继承、接口、事件、ABI 自动化 丰富生态(Truffle/Hardhat/Foundry 等工具链) 优点: 开发门槛低、资料与示例丰富、主网项目多 示例: // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Counter { uint256 public count; function inc() public { count += 1; } } Vyper 定位:以 Python 风格设计的以太坊合约语言,追求简洁与安全性(避免复杂特性) 特点: 语法更接近 Python,但只用于合约开发(不是通用 Python) 有意减少语言特性以降低易错面(例如限制继承、复杂抽象) 优点: 更可预测、审计面更小,适合对安全性要求高的合约。 示例(概念): count: public(uint256) @external def inc(): self.count += 1 Yul 👉 Yul 使用指南 定位:EVM 的中间表示(IR),Solidity 等编译器可输出 Yul,用于更精细的优化与跨 EVM 后端(例如 EVM + ewasm)。 特点: 更低级但仍比纯汇编更结构化,适合做跨编译器优化与手写热路径 用途: ...