
适用范围:商城订单与链上交易
以下概念主要适用于以太坊及采用相近机制的商城系统。商城订单描述商品购买关系,链上交易则通过签名指令改变网络状态,例如转移ETH或调用合约。一个购买流程涉及哪些链上动作,取决于商城的具体设计,不能仅凭“区块链商城”名称确定。
账户、签名与交易参数
地址用于标识账户,私钥签名用于证明交易获得相应账户授权。交易参数表达接收地址、转移金额及调用数据等内容;nonce用于区分同一账户按顺序发出的交易。

签名确认的是链上指令授权。理解商城交互时,还要区分页面展示的订单内容与实际签署的交易内容,两者属于不同的信息表达层次。

智能合约与调用数据
商城如果通过已部署合约处理业务,交易的接收地址可以是合约地址。调用数据按照ABI约定编码,说明要调用的函数及参数,由以太坊虚拟机执行。
因此,页面上的一个业务动作可能对应合约函数调用。函数名称、参数含义和执行规则共同决定链上效果,不能只根据按钮文字判断。
代币与常见标准
OpenZeppelin的代币文档将代币解释为链上表示:合约维护余额或归属等记录,转移代币通过调用合约完成。ERC-20面向可互换资产,ERC-721面向具有独立身份的非同质化代币,ERC-1155允许单个合约管理多种代币。
在商城语境中,理解标准要先区分“持有多少”与“持有哪一个”。标准提供互操作接口,商品或权益的具体含义仍由业务规则定义。
Gas费用与确认状态
Gas衡量交易执行消耗的计算资源,费用与实际消耗量及适用费率相关。交易广播、进入区块和达到最终确定性是不同阶段;交易哈希只是识别交易的标记,不能单独证明执行成功。
常见问题:查询和成交如何区分
查询信息都要支付链上手续费吗?通过eth_call读取合约数据通常不产生链上交易费用;同样的读取逻辑如果在链上交易执行中运行,也会计入Gas消耗。
链上成功是否等于商品交付?链上执行结果说明相应状态变化是否完成。实物配送、服务兑现等业务结果,需要结合商城规则及链下记录判断,不能仅由代币转移推定。