
概念范围与系统组成
区块链集成应用涉及哪些技术概念,可以沿着“用户如何发起操作、网络如何执行、业务如何读取结果”来理解。以太坊开发文档覆盖账户与交易、节点与共识、EVM与智能合约、客户端接口、存储、预言机及扩容等层次。这些概念适用于理解以太坊应用架构,其他区块链的执行环境和接口可能不同。
集成设计首先需要明确业务边界:哪些规则由合约执行,哪些信息由外部系统保存,哪些操作需要账户授权。不同模块承担不同职责,接口连通只是其中一个环节。

账户、交易与合约执行
账户是操作主体;交易用于发起改变链上状态的操作;智能合约表达可执行规则;EVM承担合约计算;Gas用于计量执行所消耗的计算资源。节点运行客户端,共识机制使网络对系统状态形成一致认识。

例如,业务界面展示一条记录与用户提交一次记录变更,属于不同操作。集成时应区分读取状态、提交交易和确认执行结果,避免把请求已发送直接显示为业务已完成。
接口、数据与外部信息
应用通过客户端库和JSON-RPC等接口与节点交互,数据索引则帮助业务组织和查询链上记录。需要外部信息参与链上规则时,会涉及预言机;需要连接不同链时,会涉及桥;需要扩展处理能力时,会涉及扩容方案。
这些组件应按业务条件引入。只读取链上记录的应用,与依赖外部事件触发合约的应用,具有不同的数据依赖。后者还需要明确外部信息由谁提供、如何更新,以及信息不可用时业务如何处理。
身份认证与访问控制
钱包认证用于识别账户,访问控制用于判断账户可以执行哪些操作。OpenZeppelin访问控制文档提供两类基础模型:Ownable适合单一管理主体,AccessControl通过角色划分权限。角色的持有者与角色的管理员可以不同,默认管理员则拥有重要的权限管理能力。
如果业务包含多个职责,应分别定义操作权限和授权权限。例如,能够执行某项业务操作,不应被自动理解为能够把该权限授予别人。最小权限原则要求每个账户只持有完成职责所需的权限。
适用条件与常见问题
钱包登录后是否就能调用管理功能?不能据此判断。身份认证与合约授权需要分别成立,隐藏前端按钮也不能替代合约内的权限检查。
拥有业务角色是否就能管理该角色?通常不能。角色管理取决于对应的管理员角色配置。权限设计需要同时检查谁能操作、谁能授权以及谁能撤销授权。
应用接入区块链后是否所有数据都必须上链?集成架构可以同时包含链上状态与外部存储。关键是明确合约需要验证什么,以及外部保存的信息如何与链上记录保持对应。