区块链智能合约是部署在区块链网络中,可被运行以产生区块链新数据状态的程序。一般来说,智能合约程序的业务逻辑需要公开透明、源代码可审计。区块链用户通过消息或交易驱动智能合约的运行来产生合约相关区块链数据的新状态。目前,流行的智能合约语言分为栈式脚本和图灵完备虚拟机支持脚本语言,如比特币的P2PKH/P2SH、以太坊的Solidity/Vyper等。
理论上,智能合约的编程语言没有特别的限制,实现中主要考虑跨平台的软件兼容性。超块链Hyperchain的智能合约语言缺省采用JavaScript,完整支持ES2019语法规范,ECMAScript测试100%通过,支持数学扩展:BigInt, BigFloat, 运算符重载, bigint模式, math模式.相对其他智能合约语言,我们选择JavaScript的原因在于JavaScript在互联网应用领域具有更成熟稳定、更广泛兼容、更丰富的工具链和更活跃的社区及开发者群体。