智能合约构建应从何处开始?
从用户需要执行的操作以及每个操作所遵循的规则开始。我们利用这些细节在编写代码之前描述合约行为。
- 命名用户操作。 描述某人需要做什么,例如领取分配或存入资产。
- 设定条件。 写下何时允许该操作,以及不允许时会发生什么。
- 列出角色。 确定谁可以使用每个功能,以及谁(如果有)可以管理设置。
- 标记依赖项。 注明相关的合约、资产、服务或接口工作。
- 审查行为。 就反映正常使用和受限操作的测试用例达成一致。
这为您的团队在实施前提供了一个共享的描述以供审查。它还有助于我们尽早发现未决的产品规则,此时讨论变更仍然更容易。对于相关的代币工作,请参阅代币创建与部署。
如果用户需要链上接口,dApp开发可能属于同一计划的一部分。您无需在联系我们之前就所有技术选择做出决定。带上您已做出的决定,标记未决项,我们将帮助您区分产品问题与实施细节。
让合约贴近您社区的实际运作方式
当合约规则与人们实际需要采取的行动相匹配时,规划起来更容易。关于您用户的一些背景信息有助于我们建立这种联系,而无需假设标准的代币或奖励模型。
设想一个拥有兼职管理员的Discord服务器,管理员正在决定从哪个频道开始。团队也在研究贡献者如何随时间获得代币分配。我们首先会帮助描述分配规则、谁可以领取以及管理员负责什么。然后,我们将这些合约规则与社区如何分享更新的决策分开。
例如,假设您的产品需要质押功能以及代币。我们会询问存款和取款应如何工作,奖励如何表示,以及计划依赖哪些资产或其他服务。我们将答案记录为待审查的行为,而不是假定的经济设计。
当涉及相邻工作时,这些边界很重要。我们可以协调合约需求与Web3网站和落地页,或规划与加密钱包开发的交接。如果您的团队已有开发者,我们可以在工作开始前就每个连接部分的负责人达成一致。
您的团队可遵循的交接文档
您将收到理解约定合约行为所需的代码和工作说明。我们在开发前与您确认内容,因此交接文档适合您的产品,而不是遵循通用清单。对于更广泛的产品需求,请参阅Web3开发。
| 您获得的内容 | 何时有用 |
|---|---|
| 功能、角色和假设的书面描述 | 在您的团队审查实施选择之前 |
| 约定行为的源代码和测试 | 在技术审查和验证期间 |
| 测试说明和未决决策 | 当产品负责人需要检查预期行为时 |
| 部署说明和发布职责 | 在您的团队批准部署之前 |
| 审计协调材料(如包含) | 当独立审查员需要项目背景时 |
归属合约可能需要清晰描述分配和领取条件。质押构建可能需要记录存款、取款和奖励行为。我们围绕您批准的功能定制书面材料,以便审查者可以将既定规则与测试和代码进行比较。这也有助于您的团队规划与dApp开发的接口工作。
如果合约是更大产品的一部分,我们还会注明其职责范围。这使得规划相关工作更加容易。
从首次审查到发布之间会发生什么?
我们从产品决策过渡到经过审查的规范,然后构建、测试并准备约定的交接。您的团队有明确的节点来检查行为,然后再考虑发布。
我们首先审查产品目标、链、用户和连接的系统。启动清单帮助我们收集合约规则,识别未决选择,并确认谁将批准它们。一旦您批准了书面行为,我们就实施约定的功能,并与您的技术联系人分享进度。
测试遵循设计期间商定的用例。如果包含审计协调,我们准备审查材料,引导技术问题,并组织对发现问题的响应。当变更达成一致时,我们更新相关代码并重新运行相关测试。我们通过书面进度说明保持决策可见,以便您的团队了解哪些已就绪,哪些仍需审查。
链和合约设计决定了可用的发布控制措施。测试仅涵盖它们描述的用例。独立审计仅限于其约定的审查范围。部署后,代码是否可以更改取决于设计和链。
围绕合约边界规划相关的Web3工作
当合约依赖于代币、接口或钱包流程时,请同时构建相关组件。就每个部分的负责人达成一致,有助于您的团队避免链上行为与周围产品之间的脱节。
一个有用的初步检查是列出已规划的部分并为每个部分指定负责人。您的合约可能连接到代币发行、用户界面、钱包流程或其他服务。我们可以与您的开发者一起映射这些连接,然后保持合约工作与另一个团队将构建的任何内容区分开来。
我们将为您的项目指定一个技术联系人和一份书面进度说明。该联系人跟踪未决问题,分享工作以供审查,并明确下一步决策。请向我们提供以下三个起点:
- 您的产品大纲以及合约应支持的用户操作。
- 目标链(如果已选择),以及任何现有代码或技术说明。
- 您当前的归属、质押或代币规则,包括未解答的问题。
将这些材料发送至Brand Community。我们将与您一起审查,确定需要解决的决策,并为合约构建准备清晰的计划。
如何操作
- 划定合约边界我们审查产品目标、用户、目标链和连接部分。您确定需要产品负责人回答的决策。
- 就书面行为达成一致我们记录功能、角色、条件和测试用例。您的团队在实施开始前审查描述。
- 构建并测试功能我们实施约定的行为,并为预期和受限操作准备测试。我们与您的技术联系人分享进度和未决问题。
- 协调独立审查当包含审计协调时,我们准备审查材料并组织对发现问题的响应。我们进行约定的更改并重新运行相关测试。
- 准备发布和交接我们提供约定的代码、测试说明和部署材料。您的团队确认发布所有权并检查部署细节。
常见问题
在讨论合约构建之前,我应该准备什么?
请准备一份简短的产品大纲、合约应支持的用户操作以及您已知的任何规则。如果已选择目标链,请一并提供,以及现有代码或技术说明。也请标记未解答的问题。例如,您可能知道归属接收者,但仍需决定谁可以批准变更。
您能否根据我们已有的规则定制归属或质押功能?
可以。我们以您批准的规则为起点,而不是假设预设的分配或奖励设计。对于归属,请分享谁接收代币、何时可以领取以及谁管理权限。对于质押,请描述存款、取款和奖励。我们将这些细节转化为供您团队审查的功能和测试。
合约交接包含哪些内容?
交接内容包括为您的构建约定的项目,例如源代码、测试、合约行为的通俗语言描述以及部署说明。当包含审计协调时,我们还可以为独立审查准备材料。在实施前,我们会确认您的团队推进工作所需的文件和说明。
您能否与我们已经选择的审计师协调?
可以。如果包含协调,我们可以准备供审查的规范和代码,与您的技术团队组织问题,并跟踪对发现问题的响应。审查方执行审计。请在规划期间告知我们您的审计师是谁,以便我们就如何共享材料和引导问题达成一致。
定制合约构建通常需要多长时间?
我们在审查规则、链、连接部分和审查需求后制定工作计划。行为已确定的聚焦构建比存在未决权限或集成决策的构建更容易规划。我们在实施前确认时间安排,然后标记可能影响约定日程的选择。
通过测试是否意味着合约的每条路径都是安全的?
不是。测试通过仅表明代码在为其编写的用例中的表现;它并不表示每条可能的路径都已被检查。独立审计也反映其约定的审查范围。我们记录测试和剩余假设,以便您的团队做出审慎的发布决策。
您能否与我们的现有产品团队并行构建合约?
可以。我们可以就我们的工作如何与您的开发者、接口团队或钱包工作连接达成一致。例如,我们将确定谁负责合约、谁提供接口需求以及谁批准发布细节。这使得交接点在构建进入实施阶段之前就变得清晰。
告诉我们您的项目
回答四个简单问题,经理会在1小时内为您发送方案、时间表和价格范围。全程保密。
正在加载表单…