Page 122 - 《软件学报》2026年第1期
P. 122
何嘉昊 等: 国产区块链软件发展趋势与核心技术分析 119
表 7 智能合约编程语言分类
编程语言分类 具体语言 区块链软件
蚂蚁链, 长安链, 百度链, 趣链, 天河链, FISCO BCOS, 星火链, 树图链, BNB Chain,
专为智能合约编程设计的语言 Solidity 华为链, 迅雷链, 海峡链, 万纳链, 波场链, CKB, IRISnet, PlatON, Mixin, 磁云数字区
块链M0, 延安链, 文昌链, 泰安链, 武汉链, 安顺链, 唯链, 之江链
蚂蚁链, 长安链, 百度链, 趣链, 天河链, 至信链, BSC, 华为链, Z-Ledger, 海峡链,
Go
Chain33, IRITA, NEO, CKB, Mixin, 梧桐链, 之江链
蚂蚁链, 长安链, 百度链, 天河链, FISCO BCOS, 迅雷链, 万纳链, BubiChain, IRITA,
C++
PlatON, 磁云数字区块链M0, 中移链, 之江链
蚂蚁链, 百度链, 趣链, 天河链, 京东链, BSC, 华为链, 海峡链, IRITA, NEO,
Java
ONTology, PlatON, 之江链
C 迅雷链, BubiChain, IRITA, NEO, Aelf, ONTology, CKB, 磁云数字区块链M0
JS 京东链, 星火链, RepChain, BubiChain, NEO, 星云链, ONTology, 波场链, CKB
传统编程语言
Python 京东链, BubiChain, IRITA, NEO, ONTology, CKB, PlatON
Rust 长安链, 京东链, IRITA, 文昌链
C# NEO, Aelf, ONTology
TypeScript 蚂蚁链, NEO, 星云链
AssemblyScript 华为链, 之江链
Scala RepChain
Swift BSC
TinyGo 长安链
第 1 类语言是专门为区块链上的智能合约开发而设计的新兴编程语言. 这些语言的设计初衷就是为了应对区
块链环境的独特需求和挑战, 如分布式账本的管理、加密算法的运用以及智能合约的执行效率和安全性. 这些语
言通常具备特定的语法和功能, 能够更高效地处理区块链系统中的复杂逻辑, 同时减少合约开发中的潜在漏洞和
安全风险. 例如, Solidity 和 Vyper [131] 等语言就是为此目的而开发, 它们不仅支持图灵完备, 还为智能合约的开发者
提供了强大的工具集, 使得开发过程更加便捷和安全. 第 2 类是传统编程语言, 如 C++、Java、Python 等. 这类最
初并非为区块链或智能合约设计, 但它们拥有广泛的开发者社区和丰富的开发资源, 已经被逐步适应并用于智能
合约的开发. 这些语言通常通过特定的框架和运行环境, 如 WebAssembly [132] 或 JVM (Java virtual machine), 被引入
区块链开发中. 然而, 由于区块链的独特性, 在使用这些传统语言编写智能合约时, 往往需要进行额外的适配和优
化工作, 以处理诸如交易的原子性保障、合约的安全性检查以及性能的调优等问题.
不同区块链软件可能会支持多种智能合约编程语言, 因此我们对国产区块链软件支持编程语言情况进行了统
计, 如图 13 所示. 通过这项统计, 我们可以了解不同类型的编程语言在国产区块链开发中的应用情况, 以及它们在
智能合约开发中的优势与不足.
C# 传统编程语言
Swift
AssemblyScript 专为合约编程设计
C
编程语言 Python
Scala
JS
Java
TypeScript
Go
C++
Solidity
0 5 10 15 20 25 30
数量
图 13 国产区块链软件支持编程语言情况
通过分析表 7 和图 13, 可以得到国产区块链软件在编程语言支持方面的两个现象.
现象 17: 目前国产区块链软件支持的编程语言中, Solidity 依然占据主导地位. 主要原因有两个方面: 首先, 以

