构建智能合约 build-smart-contracts

本技能指南专注于使用 Algorand TypeScript (PuyaTs) 或 Algorand Python (PuyaPy) 在 Algorand 区块链上开发智能合约。它提供了从概念理解、最佳实践搜索、规范代码示例检索、代码生成适配到集成测试和构建部署的完整工作流。适用于开发者创建投票、NFT、DeFi 等各类去中心化应用(DApp)的底层合约逻辑,是进入 Algorand 智能合约开发的核心指引。关键词:Algorand 智能合约开发,PuyaTs,PuyaPy,TEAL 编译,区块链编程,DApp 合约编写,ARC-4 标准,状态管理,内部交易。

智能合约 0 次安装 0 次浏览 更新于 3/4/2026

名称: 构建智能合约 描述: 使用 Algorand TypeScript (PuyaTs) 或 Algorand Python (PuyaPy) 构建 Algorand 智能合约。适用于从头创建新的智能合约、为现有合约添加功能或方法、理解 Algorand 合约开发模式,或获取合约架构指导。强触发词包括“创建智能合约”、“编写一个合约…”、“构建投票合约”、“实现 NFT 合约”、“为合约添加方法”。

构建智能合约

使用 Algorand TypeScript 或 Algorand Python 创建现代化的 Algorand 智能合约——这些是静态类型的子集,通过 Puya 编译器编译为 TEAL 字节码。

概述 / 核心工作流

  1. 在 Algorand 文档中搜索概念和最佳实践
  2. 从优先代码库中检索规范示例
  3. 生成代码,将示例适配到需求
  4. 包含使用生成客户端的集成测试
  5. 使用 AlgoKit 命令进行构建和测试

如何操作

  1. 首先搜索文档:

    • 使用 kapa_search_algorand_knowledge_sources MCP 工具获取概念指导
    • 如果 MCP 不可用,使用网络搜索:“site:dev.algorand.co {概念}”
    • 如果没有结果,请谨慎使用已知模式
  2. 检索规范示例:

    • 优先级 1:algorandfoundation/devportal-code-examples
    • 优先级 2:algorandfoundation/puya-ts (examples/)
    • 优先级 3:algorandfoundation/algokit-typescript-template
    • 始终包含相应的测试文件
  3. 生成代码:

    • 除非用户明确要求 Python,否则默认使用 TypeScript
    • 仔细适配示例,保留安全检查
    • 遵循 algorand-typescript 技能中的语法规则
  4. 包含测试:

    • 始终包含或建议集成测试
    • 使用生成的客户端测试合约
    • 查看 test-smart-contracts 技能了解模式
  5. 构建和测试:

    algokit project run build   # 编译合约
    algokit project run test    # 运行测试
    

重要规则 / 指南

  • 绝不使用 PyTEAL 或 Beaker —— 这些是遗留技术,已被 Puya 取代
  • 绝不编写原始 TEAL —— 始终使用 Algorand TypeScript/Python
  • 绝不将外部库导入 合约代码
  • 默认使用 TypeScript,除非用户明确要求 Python
  • 在编写代码前始终先搜索文档
  • 始终从优先代码库检索示例

常见变体 / 边缘情况

场景 方法
Box 存储模式 查看 devportal-code-examples/contracts/BoxStorage/
内部交易 在 puya-ts 示例中搜索 “itxn” 模式
ARC-4 方法 参见 puya-ts/examples/hello_world_arc4/
状态管理 在示例中查看 GlobalState、LocalState 模式
Python 合约 使用 algorandfoundation/puya 而非 puya-ts
Python 语法帮助 查阅 references/python/ 子文件夹获取 Python 特定模式

参考资料 / 延伸阅读