
先区分前端与区块链
前端是用户在浏览器中接触到的网页界面及其交互部分。HTML组织标题、段落、图片等内容,CSS控制布局和外观,JavaScript处理按钮响应、表单输入等动态行为。这些技术也用于普通网站,本身不意味着网站使用了区块链。
区块链则是应用可能依赖的一种网络和数据处理环境。判断两类术语时,可以先问:它描述的是用户看到和操作的界面,还是界面背后调用的程序与数据?

去中心化应用与智能合约
去中心化应用通常简称dapp。以以太坊上的应用为例,它可以由前端界面和运行在区块链网络上的智能合约组成。前端负责呈现信息、接收用户操作,并与合约交互;智能合约是部署在链上的程序,按其代码定义的规则执行。

传统网页也有前端和后端,但后端通常运行在中心化服务器上。dapp的区别在于,部分应用逻辑可以放在分布式网络上的合约中。不过,使用智能合约不代表整个应用的每一部分都已去中心化:前端的托管方式及其他服务的设计仍需分别判断。
常见术语怎样对应
以太坊虚拟机可理解为以太坊执行智能合约的运行环境,与浏览器执行前端JavaScript不是一回事。IPFS是一种可用于托管前端文件的分布式存储方式;它是可选的部署方式,并非dapp的必备组成部分。
“部署”用于描述将网页文件发布到可访问的位置,也可用于描述将智能合约发布到区块链网络。两者对象不同:更新网页界面与修改已部署的合约不是同一件事,后者通常受到更多限制。因此,合约设计和测试尤其重要。
适用条件与常见疑问
学习一般网页制作时,先理解HTML、CSS和JavaScript的分工即可;阅读dapp架构或设计链上交互时,再进一步区分前端、智能合约、区块链网络及托管方式。这样的顺序有助于避免把每个网页功能都误认为链上功能。
常见疑问是“界面能打开,是否说明合约可用?”答案是否定的。网页能够显示,只能说明前端在当时可被访问;涉及合约的操作还取决于其所连接的网络及交互过程。反过来,合约部署在链上,也不保证前端始终可访问或操作体验良好。理解这些边界,比单看“去中心化”标签更有帮助。