喜迎国庆期间,比原链在自己的移动端钱包Bycoin(下载地址)和google插件钱byone中推出了红包应用,在国庆期间深受大家好评。

那我们今天就来大概介绍一下比原红包,以及基于比原链开发dapp应用的一些流程梳理。

我们知道绝大多数公有区块链项目的TPS都只有几十上百。所以像红包这种及时到账的应用在公链上实现还是有一定的技术难度,但是比原链却在自己的侧链上率先推出了红包应用。比原侧链的TPS有数十万,整个红包应用程序的并发量有将近2000。所以在国庆期间数万人同时抢红包都完全没出现任何问题,这足以说明比原链侧链性能优越,适合开发区块链应用。下面我们来看一下整个红包的实现过程。

下图是整个红包的架构图:

由于红包是基于侧链的应用,如果你是主链资产。要通过federation进行资产跨链,资产跨链到侧链就可以使用红包应用。整个红包应用有四大模块组成,第一个模块是Blockcenter,你可以把看成一个与比原侧链交互的中间件。第二个模块就是智能合约,第三个模块是整个红包应用的服务端和存储模块使用的Mysql和Redis,最后一个模块是前端应用,主要包括移动端的Bycoin和网页端的Byone。

对整个红包框架做一个大概的拆分以后,我们就能明白整个红包应用的开发流程就是我们的Bapp开发流程。那我们首先从Bapp的前端来看,基于Google插件钱包的网页应用和Bycoin上的应用都属于Bapp的前端。这个模块都是一些基本的功能,主要是收红包,发红包,以及红包记录等几个页面。

红包的智能合约模块使用了猜谜合约,这个模块的实现需要参考合约的开发流程,将合约部署好以后的参数配置在后端服务器。为什么使用猜谜合约呢?其实发红包的过程就是发起一个猜谜合约,红包口令就是谜底,用户领取红包的时候,输入的口令其实就是谜底,然后资产就可以自动转移,就是领取红包的这个过程。

下面我们来介绍一下Server模块做的事情,整个Server是红包的核心业务逻辑和数据处理模块,数据存储则是存放在Mysql和Redis中。同是Server也和Blockcenter相互调用(Blockcenter管理了BUTXO和一些主侧链的接口封装,可以看成中间件),和比原的侧链进行交互。

通过我们对整个红包应用的模块拆分,我们就能很清楚看到,Bapp的开发是多个模块组合,技术社区已经将一些标准的模块进行封装,做成中间件方便开发者调用。开发其他类似的Bapp应用就可以参考这个流程。

对红包应用的基础介绍就这些,如果你想了解详细的过程,开发流程,以及某个模块的具体实现,可以在开源库中查看源码,和相关接口文档。如果有技术问题可以加微信:pymgdsb1314

比原Bapp红包应用的更多相关文章

  1. PDF.NET SOD 开源框架红包派送活动 && 新手快速入门指引

    一.框架的由来  快速入门 有关框架的更多信息,请看框架官方主页! 本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.N ...

  2. 手机浏览网页或打开App时莫名弹出支付宝领红包界面的原因及应对措施

    自从支付宝推出扫码领红包活动后,这种模式独特的赏金机制,短时间内吸引了大量的关注,但是随之也产生了很多的问题,比由于如在赏金的驱动下,微信群里铺天盖地的红包口令,朋友圈里各式各样的领红包二维码图片, ...

  3. 安卓仿QQ红包领取详情界面动画

    为了能清楚的看到这个效果,本人不惜几次花费重金给众群叼发放红包,来查看红包领取详情界面的动画效果,QQ效果如图: 图中我们可以看到,动画处的头像和文字是一起的,即同时并且是整体,注意,是整体进行缩放的 ...

  4. 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑

    公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...

  5. Unity -- 用EasyAR制作出AR红包

    第一部分:前言 实现功能:打开APP或运行该demo后,会从天而降红包,有些红包是空的(大一点的),抖动的红包里面“有钱”,点击之后会产生相应的交互.   第二部分:预览 所用到的资源:   红包模型 ...

  6. .NET C# 红包生成算法,可设置红包总额和数量,可限制最大最小红包

    很多场景算红包的要求:根本问题就是指定的钱,指定的个数,红包发完,钱不剩余,最小红包1分钱,最大也需要限制. 原理:割绳子算法:每次都取最大值为总绳长的随机值,最后将其排序,计算每两个的差值,总差值即 ...

  7. java使用BigDecimal 实现随机金额红包拆分算法

    原创代码,引用注明出处:https://www.cnblogs.com/guangxiang/p/12218714.html @Servicepublic class SplitRedPacketsS ...

  8. 薅羊毛? 月入10万? | 这是自动化测试老司机的特长--Python自动化带你薅视频红包,一个都不放过!

    一.目标场景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. ​ 与传统的红包不一样,视频红包包含位置的不确定性.大小不确定性.元素 ID 的不确定性 ...

  9. 信不信?各种红包App最后都会整合游戏!App+游戏的变现模式分析

    最近两个月「晓衡在线猿码微服」商城上出现了一类需求特别的客户: 我们有个 App,日活用户达到 XXX万,计划在 App 中嵌入游戏增加用户留存和利用流量变现,还有... 看你们这里游戏不少,想了解一 ...

随机推荐

  1. python 装饰器(四):装饰器基础(三)叠放装饰器,参数化装饰器

    叠放装饰器 示例 7-19 演示了叠放装饰器的方式:@lru_cache 应用到 @clock 装饰fibonacci 得到的结果上.在示例 7-21 中,模块中最后一个函数应用了两个 @htmliz ...

  2. 数据可视化之DAX篇(二十三)ALLEXCEPT应用示例:更灵活的累计求和

    https://zhuanlan.zhihu.com/p/67441847 累计求和问题,之前已经介绍过(有了这几个公式,你也可以快速搞定累计求和),主要是基于比较简单的情形,针对所有的数据进行累计求 ...

  3. 开会时CPU 飙升100%同事们都手忙脚乱记一次应急处理过程

    告警 正在开会,突然钉钉告警声响个不停,同时市场人员反馈客户在投诉系统登不进了,报504错误.查看钉钉上的告警信息,几台业务服务器节点全部报CPU超过告警阈值,达100%. 赶紧从会上下来,SSH登录 ...

  4. 初识Java对象

    初始Java对象 本文的概述顺序 1什么是面向对象编程(面向对象编程与 面向过程编程的区别) 2类和对象的的关系 3类的定义 4对象的创建 5对象使用的一些细节 5.1对象在内存中的产生及分布 5.2 ...

  5. “我放弃了年薪20W的offer......”

    我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试.那时候在一家电商公司做测试,做了有一段时间,熟悉产品的业务流程以及熟练测试工作流程规范之后,效率提高了,工作比较轻松,也得到了更好的机会 ...

  6. 怎么训练出一个NB的Prophet模型

    上篇<神器の争>主要是介绍Prophet的特点以及prophet入门的一些注意事项,但离真正的实际运用还有段距离.本篇主要讲解实际运用中Prophet调参的主要步骤以及一些本人实际经验. ...

  7. 剑指offo记录

    一.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是 ...

  8. 服务质量分析:腾讯会议&腾讯云Elasticsearch玩出了怎样的新操作?

    导语 | 腾讯会议于2019年12月底上线,两个月内日活突破1000万,被广泛应用于疫情防控会议.远程办公.师生远程授课等场景,为疫情期间的复工复产提供了重要的远程沟通工具.上线100天内,腾讯会议快 ...

  9. 手动触发浏览器resize

    今天做echarts图表 发现饼图不能居中,resize之后才会居中. 于是想手动触发resize方法,但是不改变浏览器窗口 JQ $(window).trigger('risize'); JS    ...

  10. SQL语法入门

    SQL语句概述 ·SQL定义:是一种特定目的编程语言,用于管理关系数据库 ·GaussDB T是一种关系数据库,SQL语句包括 1.DDL 数据定义语言,用于定义或修改数据库中的对象(表,视图,序列, ...