Sway程序类型
Sway程序本身具有类型:它可以是 合约、谓词、脚本 或 库。这些东西中的前三个都可以部署到区块链上。库 仅用于代码重用,从不直接部署到链上。
每个Sway文件 必须 以声明其程序类型的方式开始。一个项目可以包含多个库,但只能有一个合约、脚本或谓词。脚本和谓词需要main
函数作为入口点,而合约则发布ABI。本章将详细介绍所有这些不同类型的程序及其用途。
合约主要用于在固定规则集内运行的协议或系统。一个很好的例子是质押合约或去中心化交易所(也称为DEX)。
脚本用于不会持续存在的复杂链上交互。这可能是使用DEX和Lender创建杠杆头寸(借入、交换、重新抵押、借入)等复杂交易,通常需要多个步骤。
库用于可重复使用且对处理常见情况有用的代码。一个很好的例子是用于处理定点数学或大数学的库。