solidity复杂案例详解(上)飞机管理及保险赔偿合约

前排提醒:该案例完全实现需要分为七个智能合约,且每个智能合约代码之间的内在罗辑以及各个智能合约之间的联系都已经详细说明。相信全部看完的你会对智能合约有更深入的了解。

合约总体介绍:现在利用区块链技术实现航班延误险系统,将乘机人、航空公司、保险公司加入到区块链网络中,将购买、航班、保险、保单等信息存储在区块链的分布式网络中,永久有效,无法篡改。在机票延误险场景中,乘机人购买机票之后在系统上预存10元保费;保险公司再在系统上预存相应的赔偿金1000元;如果保险公司没有按时预存赔偿金,系统就直接将保费退还给用户;如果保险公司预存了赔偿金,若航班没有延误,或者延误时间少于4h,系统就将乘机人预存的保费转账给保险公司,同时退还保险公司预存的赔偿金。如果航班延误超过4h,系统也会将保费转账给保险公司,但是会将保险公司预存的赔偿金赔偿给乘机人。

b1ba884eb8584c8e8ff180e00b1e62ec.png

首先根据需求为以下角色分别创建合约,并实现一些功能。

1.Roles.sol 账户合约

(主要为后面的乘客A,航空公司V,保险公司C提供环境)

1.查询添加的账户是否为空

2.增加、删除账户。

// SPDX-License-Identifier: 3.0

pragma solidity ^0.8.20;

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

猜你喜欢

转载自blog.csdn.net/2302_77339802/article/details/132840663