# 智能合约简介

首先,我们所说的智能合约是在区块链(blockchain)和加密货币(cryptocurrencies)的上下文中.

智能合约(smart contract)是:

  • 预先写好的代码逻辑(我们使用glua进行编写,也支持其他语言的语法)
  • 在分布式的存储平台上进行存储和调用(blockchain)
  • 可以被运行在同一区块链上的节点执行
  • 运行的结果会形成交易进行存储并记录到区块链上

简单点说,智能合约就是一段可执行的代码(它可以被合约编写者赋予各种各样的功能),它经过编译然后被存储在区块链上;然后根据合约的地址,区块链上的节点可以调用它实现相关的功能.

智能合约有以下几个特点:

  1. 智能合约是一段可执行的代码,被记录在区块链上,无法被修改
  2. 当指定的调用代码的交易被发出,区块链上的每个节点(也可能是部分节点)都会运行这段代码并进行必要的校验
  3. 当前智能合约不能自动执行,但可以由程序外部触发执行
  4. 智能合约执行所需的输入数据应该依赖区块链的数据,这样才能保证验证结果的一致性

XWC 链支持的智能合约底层采用lua的虚拟机,执行效率较高。同时也是图灵完备的语言,可以支持任意的业务逻辑,极大的扩展了区块链的功能。同时我们还提供了其他语言的翻译工具,开发者能够以 Java/Kotlin 和 C# 来进行智能合约的开发。