《区块链DAPP开发入门、代码实现、场景应用》笔记5——区块链福利彩票的设计

简介: 笔者一直强调,一定要利用区块链的特点来解决行业存在的问题,并且该问题最好用区块链解决或者说只能用区块链解决。彩票行业就是个例子。

笔者一直强调,一定要利用区块链的特点来解决行业存在的问题,并且该问题最好用区块链解决或者说只能用区块链解决。彩票行业就是个例子。

在讲解代码之前,首先讲解一下业务设计,如图6.15所示。
6_15

图6.15 区块链彩票业务流程

   限于篇幅和业务复杂度,该系统并没有按照现有的福彩逻辑来设计,而是本着讲明白实现原理的目的,简化了系统的设计,读者可以根据自己的需求来设计符合自己需求的系统。首先在传统的福彩流程中,用户会花费人民币购买彩票,然后福彩系统将相关的投注信息传送到福彩中心。当投注日期截止后,通过机器摇号的方式决定中彩信息,工作人员记录投注信息,为投注人兑奖。在这个过程中,摇号机器可以被认为操控,在巨大的利益密切,公证人员也形同虚设。

   而在本系统的设计中,用户投注的不再是人民币,而是一个彩票token,该token需要通过数字货币ETH来购买,购买的方式和过程不需要人工参与,是通过智能合约来实现。上图中的流程1,用户将ETH发送到token智能合约,该合约会按照ETH与彩票token的比例,返回用户一定量的token,然后用户通过流程2,将手中的token与一定的投注信息发送给福彩管理合约,该合约接收福彩token并记录用户的投注信息。

  流程3是在满足一定条件时,管理员发起摇奖动作,冻结投注行为。通过一个公开透明的算法,选出幸运的中奖者,该过程也是通过智能合约实现,没有任何人为的参与的可能。中奖结果产生后,智能合约自动将奖金发送给中奖者,这个兑奖过程也无需用户参与的,而是通过智能合约的一个函数。只是与传统对讲把不同的是,传统兑奖得到的是法币,而本合约函数返回的是token。该兑奖过程是图中流程4的动作,当然作为福彩的管理者,需要收取一定的资金用于公益事业,因此需要把奖金池中的token转移给福彩管理员,这个工作在图中流程5的动作中实现。

  投注人在中奖后,可以继续投注,也可以通过将token发送给token的智能合约,赎回ETH数字货币,这个过程就将彩票token变成了可以在现实世界中流通的数字货币。流程6是投注人将token兑换成ETH,流程7是管理机构将token兑换成ETH。

  在了解基本的业务流程之后,接下来讲解具体的页面设计和代码实现,首先是页面的功能模块,如图6.16所示。
6_16

图6.16 用户投注界面

(1)首先是账号信息,在MetaMask以非管理员身份登录,会显示如上图页面的元素,所谓的非管理员身份,即不是创建彩票token合约管理合约的账号。账号信息显示的是当前账号下的ETH的余额和当前账号拥有的彩票token的数量。

(2)第二是购买token的区域,在输入框中输入愿意花费的ETH的个数,该动作会发送ETH到Token合约的购买接口。当购买成功之后,该账号下的token就会发生变化,账号信息会随之刷新。本例中,彩票token的价格是1finney,也就是说1eth可以购买1000个彩票token,1 eth = 1000 finney。因此在购买输入框中输入1,表示花费1ETH购买彩票token。

(3)第三个区域是输入投注组合区域,用户输入自己的彩票组合,并为该投注信息设定筹码数量即token个数,1token表示1注。本例中,为了简化逻辑,只允许输入3个0~9之间数字的组合。点击投注之后,彩票管理智能合约会记录客户的投注信息,并减少用户账号下的token数量。

(4)第四个区域是当期账号已经投注的记录,如图6.17所示。
6_17

图6.17 管理员界面

   当用户以管理员身份登录之后,可以显示管理员专用区域,该区域需要设置彩票token的购买和出售价格,默认是1 finney,同时管理员还需要锁定投注并触发摇奖动作。摇奖结束后,需要重新开始新一期投注。

2020区块链各种应用都上马了,跟我一起学《区块链DAPP开发入门、代码实现、场景应用》吧。
19c39602dd538ac0

相关文章
|
10天前
|
存储 安全 区块链
区块链在房地产交易中的应用:革新房产市场的未来
区块链在房地产交易中的应用:革新房产市场的未来
117 79
|
2天前
|
存储 算法 物联网
区块链在能源交易中的应用:打造去中心化能源市场
区块链在能源交易中的应用:打造去中心化能源市场
43 22
|
12天前
|
存储 供应链 安全
区块链技术在选举中的应用:透明与安全的新时代
区块链技术在选举中的应用:透明与安全的新时代
46 16
|
14天前
|
存储 安全 数据管理
区块链在医疗数据管理中的应用:安全与隐私的新纪元
区块链在医疗数据管理中的应用:安全与隐私的新纪元
76 16
|
2月前
|
供应链 安全 分布式数据库
探索区块链技术在供应链管理中的应用
【10月更文挑战第21天】 本文深入探讨了区块链技术如何在供应链管理中发挥关键作用,通过具体案例分析,揭示了区块链提高透明度、降低成本和增强安全性的潜力。文章首先概述了区块链技术的基本原理及其对传统供应链模式的挑战,接着详细讨论了区块链如何在不同供应链环节中实施,并分析了其带来的变革。最后,文章提出了企业在采纳区块链技术时可能面临的挑战和应对策略,为供应链管理者提供了宝贵的参考。
139 26
|
3月前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
3月前
|
存储 供应链 分布式数据库
深入理解区块链技术:原理、应用与挑战
本文旨在探讨区块链技术的基本原理、主要应用及其面临的挑战。通过分析区块链的分布式账本技术、加密算法和共识机制,我们揭示了其如何在无需中心化权威的情况下确保数据的不可篡改性和透明性。此外,文章还讨论了区块链在金融、供应链管理、智能合约等领域的应用案例,并指出了当前区块链技术面临的可扩展性、隐私保护和法律监管等挑战。通过对这些内容的深入分析,我们希望为读者提供一个全面而深入的区块链技术概览。
294 16
|
2月前
|
存储 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们带来更便捷、安全和沉浸式的体验。
|
2月前
|
存储 供应链 算法
深入探索区块链技术:原理、应用与未来展望
本文将带你深入了解区块链技术的基本原理,探讨其在金融、供应链、医疗等多个领域的应用案例,并展望其未来的发展趋势。通过本文,你将对区块链技术有一个全面的认识,理解其背后的技术逻辑和应用场景。
|
3月前
|
存储 供应链 安全
探索区块链技术的未来——去中心化应用的崛起
探索区块链技术的未来——去中心化应用的崛起
112 13