ITPub博客

首页 > 数据库 > 数据库开发技术 > “时刻记账” —基于区块链技术实现的记账功能,了解一下?

“时刻记账” —基于区块链技术实现的记账功能,了解一下?

原创 数据库开发技术 作者:小南瓜开发平台 时间:2022-07-31 21:30:32 0 删除 编辑

                    


-         背景     -

    萌生做一个相册管理工具的想法主要导火索是:

1、“三天二检”的核酸,每每到扫码时,却打不开;这个场景详细在疫情核酸检查时大家都有遇到过;

2、第二个原因是:手机相册是按时间进行分类的,有时候想要找一个身份证照片或者其他证件照片时,需要翻找相册很久时间。

3、因此萌生了自己做一个相册管理的小程序;实践证明,用时刻相册确实比较方便;现在去做核酸直接打开“时刻相册”,立马就能看到核酸码图片,非常方便。还可以针对不同的朋友创建不同的相册集。




-     时刻记账     -

        随着使用的次数的越来越多,也对时刻相册赋予了更高的期望;不再是单单作为一个相片管理的工具;本着既然无法改变世界,那就试着改变自己的生活方式。因此,陆陆续续也扩展了一些功能:记账、节日、备忘录、读取NFC卡片。

    市场上记账的APP和小程序很多,但设计理念基本一致:记录收入、支出,然后再将数据渲染生成每日/月/年的维度的账本数据和图表。通过同比和环比分析收入和消费的类型。


时刻记账则不走平常路,既然是记账,那数据就不应该发生篡改;因此时刻记账引入了区块链技术,通过fisco联盟链,将账单加入到区块链,从而保证数据不会被篡改。


在使用时刻记账的功能时,顶部的仪表盘是按月进行统计当月的收入和消费金额占比。比如您可以设置当月固定金额5000元,作为当月的零花钱,然后每增加一笔消费记录时,会用收入金额减去消费的金额得到当月剩余可用金额。

例如:每月/周第一天设置金额为800,如果用去了327。则会得到如下结果:

               


-     区块链记账实现步骤    -


1、搭建区块链节点

详细百度fisco联盟链

2、配置前端web节点

这里用到单集群4节点

               



3、编写合约

编写solidity合约,部署合约

               

核心代码:  

    mapping(uint => needer) needmap; 
//创建一个新用户
function NewNeeder(uint _neederAmount,uint _goal ){
needmap[_neederAmount] = needer(_goal,0,0,0,0,0);

}

//开始为目标筹款
function contribute(uint _needAmount,uint _money ,uint _payType,uint _createTime){
needer storage _needer = needmap[_needAmount];
if(_payType==1){
//支出
_needer.inAmount += _money;
_needer.inAcount ++;
}else if(_payType ==2){
//收入
_needer.outAmount += _money;
_needer.outAcount ++;

}else{
//异常数据,不入链
return;
}
_needer.map[_needer.funderAcount] = funder(_money,_payType,_createTime);
_needer.funderAcount++;

}

//获取账户信息

function getMyMoney(uint _neederAcount) public view returns(uint,uint,uint,uint,uint){
needer _needer = needmap[_neederAcount];

return (_needer.inAmount,_needer.inAcount,_needer.outAmount,_needer.outAcount,_needer.goal);
}


4、导出合约生成javaAPI

将合约以java代码的方式导出,生成对应的合约函数接口。就可以通过javaAPI接口的方式调用合约函数进行操作了。


剩下的就是正常的微信小程序和java的CRUD操作啦!!!








-     记账的好处     -

        

    首先,记账是一种量化自我的过程,是理财的第一步。理财,顾名思义,打理钱财,所以,理财的前提是,我们得知道,我们过去花了多少钱;现在有多少钱;未来怎么花钱;这些信息怎么来呢?通过记账得来。巧妇难为无米之炊,没有数据,就没法进行分析,就没法进而得出结论。

    其次,记账可以让省钱。 有人可能会说,记账不就是记录收支么,怎么就能省钱呢?你要是这么认为,那只能说明你对记账这件事的认知,还是比较初级的。记账是一个策略体系,这个体系分为,心态,思维,和行为操作三部分,这三部分是互相影响的。当我们坚持记账这一“行为”时,我们的“心态”和“思维”,是会受到影响的。最简单的部分,通过记账,我们会知道,原来赚的是那么少,花的是那么快,钱是那么容易就花没了,这样你在下次花销的时候会不会有意无意的权衡一下呢?

    再次,记账是一种才能。一般人记账是记不来的。一是没那个心性,二是对金钱不敏感。善于记账并且坚持记账的人,多少有点赚钱的天赋。对金钱的敏感,让他意识到账单的重要性,才有了记账这一行为。此外,商业奇才都是对数字极其敏感的,坚持记账,让他在生活中每一天都磨练着对金钱的敏感度,比普通人更善于发现消费中的趋势和价值。

    此外,记账可以减轻焦虑。很多人都有这种感受,明明自己也没买什么,可还是”月光“,就是不知道”钱都去哪儿了?“,这种未知的感觉可不好受,感觉生活失去了控制,很容易产生焦虑。所以对部分人来说,记账未必是为了控制花销,而是排除那种不知道钱花到哪里的恐惧感。


因此养成记账的习惯有助于:

1、掌握收支情况

    记账最直接的作用就是摸清收入、支出的具体情况,看看自己到底挣了多少钱,花了多少钱,钱都花在什么地方。还可以知道维持正常的日常生活需要多少等等。

2、培养好的消费习惯

    并不全是挣钱少不够花,往往不理性消费。多点记账搞清楚钱是怎样花,才避免乱花钱。记账你很快就能成为精明的理性消费者,用更少的钱做更多的事。

3、促进家庭成员和睦相处

    社会学家的调查发现经济纠纷是家庭破裂的重要原因之一,特别是成员较多的大家庭,日常生活的开支需要家庭主要成员共同负担。若是时间长了,不记家庭账,就难免会互相猜疑,说我出钱少,说你吝啬或者怪持家长辈偏心。如果有一本流水账,谁挣多少花多少清清楚楚,家庭成员自然也就无话可说。

4、记录生活变化

    和记日记一样,通过家庭记账本还可以看出社会的发展变化。如果几十年如一日地坚持记家庭流水账,那么通过家庭收入和支出的变化。



原文作者:小南瓜开发平台;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-08-21

  • 博文量
    209
  • 访问量
    89518