哪些合约决策应包含在最初的范围记录中?
第一份产物是范围记录,而非代码估算。它将每个产品操作与参与者、权限和预期的链上结果联系起来。我们使用6个字段:参与者、操作、权限、状态变更、失败响应和事件。这些字段使缺失的决策在实施前变得可见。
对于每个提议的功能,请提供用户流程和预期结果。添加任何已知的管理角色和约束。对于与代币相关的工作,请包含当前的代币模型或计划的功能。对于关联产品,请包含接口说明和负责集成的团队。
范围记录有助于确定请求是需要一个合约还是多个相关组件。它还会标记需要您批准的决策。请将这些输入带到评审中:
- 产品流程,包括被拒绝或延迟的操作。
- 目标链和已知的合约依赖项。
- 角色和权限预期。
- 团队已批准的解锁或质押规则。
- 发布条件和任何审计要求。
规范如何转化为可测试的合约行为?
当每个重要操作都有预期结果和明确的权限时,规范就变得可测试。我们将已批准的范围转化为产品和工程团队在代码开始前可以评审的行为。
我们的规范检查涵盖3个领域:用户操作、管理权限和合约边界。对于每个操作,我们记录有效输入、产生的状态变更以及对无效请求的响应。如果团队尚未决定某个行为,我们将其列为待定项,而不是未经批准就选择规则。
然后测试映射到规范。我们使用2个测试组:预期流程和已识别的失败路径。预期流程测试涵盖允许的操作和状态变更。失败路径测试涵盖被拒绝的操作、角色边界以及应阻止更新的条件。具体案例取决于合约的功能和集成。
您可以在实施前评审规范,并在后续变更中将其作为参考。对于调用合约的应用接口,请与dApp开发协调交接。这为两个团队提供了合约边界的共同描述。
解锁和质押规则必须明确哪些内容?
解锁或质押简报需要为参与者、权限和资产转移制定明确的规则。仅命名功能并不能定义其行为。我们首先记录条件,然后将每个条件与实施和测试用例联系起来。
对于解锁,确认谁接收资产、何时释放以及是否有授权方可以更改受益人时间表。对于质押,定义存款和取款操作、奖励逻辑以及可以影响这些规则的角色。这些选择属于项目。我们记录它们以供批准,而不是将假设嵌入代码中。
使用此比较来准备产品讨论:
| 合约领域 | 需要记录的决策 |
|---|---|
| 解锁 | 受益人、释放条件和批准的变更 |
| 质押 | 存款、取款、奖励逻辑和权限 |
| 管理 | 授权角色和允许的控制 |
对于每一行,询问行为是否可以描述为清晰的输入和结果。如果不能,则确定仍然需要的产品决策。这将产生更有用的规范,并为测试计划提供具体参考。
合约代码附带哪些证据?
交付记录将源代码与已批准的规范及其测试证据联系起来。这使您的团队更容易评审已构建的内容,并为外部评审员准备相关工作。
交接可以包括已商定的源代码和存储库材料、与指定流程相关的测试、配置说明、依赖项和部署输入。我们还记录需要您批准的未解决假设。该记录区分已完成的工作和仍在等待响应的决策。
审计协调为独立评审员准备相关背景信息。我们可以组织规范、源代码版本、测试信息和部署假设。收到审计结果后,我们帮助将每个项目与相关需求或代码区域联系起来。您的团队批准任何影响产品行为、权限或发布假设的变更。
审计员进行独立评估。协调不能取代该评审。对于支持应用的合约,请在评审材料中包含交互边界。与dApp开发团队共享接口要求,以便合约和应用交接使用一致的假设。
如何从接单到交接跟踪构建过程?
项目记录跟踪5个阶段的决策:接单、规范、实施、测试和交接。每个阶段都有一份您的团队可以评审的产物。时间表在我们了解合约边界、集成、审批需求和外部评审依赖项后商定。
在接单阶段,我们收集链偏好、用户流程、角色预期和现有设计说明。在规范阶段,您的团队确认预期行为。实施遵循已批准的范围。测试记录检查了哪些行为和失败路径。交接收集源代码、测试证据和发布说明。
进度更新标识已完成的项目、未解决的问题和下一个需要的批准。您的团队应指定一名可以确认产品规则的人员。这可以避免将未回答的问题视为已批准的需求。在交接前,我们将商定的可交付成果与范围记录进行比较,并识别任何剩余的依赖项。
连接到网站或落地页的合约可能需要并行规划。请参阅Web3网站和落地页开发了解接口工作。有关更广泛的技术范围,请查看Web3开发。
发布记录如何显示特定链的风险?
发布记录显示已批准的源代码版本、测试证据、配置输入和部署责任。它为项目提供了发布候选版本移交给其运营团队前的具体检查清单。
确认目标链和部署输入与已批准的范围匹配。验证谁将部署和管理合约。检查源代码版本是否与测试证据对应。记录任何仍需要项目决策的审计发现。确认哪些产品接口依赖于生成的合约地址。
没有升级机制而发布的合约之后可能无法更改,并且公链交易可能是可见的。网络交易处理和独立审计员的结论仍超出我们的控制范围。我们交付商定的代码、测试和交接材料,而非批准或无错误发布。
对于关联的Telegram接口,请与Telegram机器人和迷你应用开发一起定义其负责人和合约输入。将您的产品流程、链偏好、当前代币或合约说明以及审计要求发送给我们。我们将评审这些材料,识别未决决策,并返回一份有范围的开发计划。
如何操作
- 发送产品流程分享预期的用户操作、链偏好、现有合约或代币说明以及发布约束。
- 评审需求我们与您的团队一起映射权限、合约边界、依赖项和未解决的产品决策。
- 批准规范您在实施开始前确认记录的行为和范围。
- 构建和测试我们实施商定的合约,准备测试,并根据已确认的范围报告进度。
- 准备交接我们组织源代码、测试证据和部署说明,然后协调任何商定的审计交接。
常见问题
在首次合约评审前,我们应该发送什么?
发送产品流程、目标链以及任何现有的代币或合约说明。如果可用,请包含角色预期、解锁或质押规则、接口要求和发布条件。我们的6字段范围记录捕获操作、权限和预期结果。缺失的决策将成为评审项,而非隐藏的假设。
一个定制合约能否同时涵盖解锁和质押?
如果产品需求和合约边界支持,可以这样界定范围。我们将解锁受益人和释放条件与质押存款、取款和奖励规则分开记录。然后规范显示这些流程在何处交互。您的团队在实施和测试前确认行为。
审计协调是否意味着您的团队执行审计?
不是。审计协调为独立评审员准备源代码、规范和测试信息。我们可以帮助组织审计结果并跟踪商定的后续工作。评审员提供评估。交接记录标识哪些发现仍处于开放状态、已有建议响应或需要项目决策。
哪些因素影响定制合约构建的时间表?
时间安排取决于范围评审。合约组件的数量、规则复杂性、集成和审批周期会影响计划。外部审计安排也可能影响交接顺序。一旦这些输入明确,我们就会为规范、实施、测试和发布材料设定里程碑。
团队能否在部署后修改合约行为?
这取决于发布前批准的设计。没有升级机制的合约之后可能无法更改。可升级设计需要关于权限和变更批准的决策。我们在规范中记录预期方法,以便您的团队在部署前评审运营后果。
您能保证独立审计员会批准我们的代码吗?
不能。审计员控制其评审方法、发现和结论。我们可以准备清晰的评审包,协调交接,并帮助您的团队响应审计发现。商定的开发工作仍然是范围中列出的源代码、测试和发布文档。
告诉我们您的项目
回答四个简单问题,经理会在1小时内为您发送方案、时间表和价格范围。全程保密。
正在加载表单…