31、以太坊电子优惠券系统案例研究

以太坊电子优惠券系统案例研究

1. 系统概述

在电子优惠券系统中,用户(银行、商家、消费者)和优惠券是参与系统的关键要素。由于用户是各种业务操作的发起者,这三类用户以及优惠券都应作为合约对象存储在区块链中。本系统共有四个合约,具体设计如下表所示:
| 合约名称 | 描述 |
| ---- | ---- |
| 银行合约 | 在项目部署时手动部署到区块链,负责审批商家的结算凭证相关操作 |
| 商家合约 | 存储商家的创建者地址、自身合约地址,维护未发放、已发放未使用和已使用的优惠券数组以及历史优惠券数组。商家可使用该合约完成优惠券的发放和终止,向银行端暴露接口以完成结算优惠券的申请和撤回,存储优惠券余额以供查询并维护优惠券数组以实现可追溯性 |
| 优惠券合约 | 由商家创建,存储其整个生命周期的所有相关状态值,通常通过商家或消费者的操作被动改变自身状态 |
| 消费者合约 | 存储消费者的账户地址、当前状态和钱包中的优惠券,可将优惠券转移到其他消费者账户 |

2. 合约状态设计

在系统中,为发挥区块链的权威性,需从区块链读取与交易相关的数据。在合约设计中,应综合考虑业务逻辑和数据记录,具体状态值设计如下:

2.1 银行合约
contract Bank{
    address owner; // 存储银行的公钥
    address[] merchants; // 维护所有经自身批准加入链的商家合约地址
}
2.2 商家合约

                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值