喜迎国庆期间,比原链在自己的移动端钱包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. 微信小程序动态修改title,动态配置title,动态配置头部,微信小程序动态配置头部

    微信小程序的title是在json里面配置的 "navigationBarTitleText": "title名称" 这种title是固定死的不灵活处理一些页面 ...

  2. MYSQL 使用基础 - 这么用就对了

    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...

  3. 如何用 Python 做自动化测试【进阶必看】

    一.Selenium 环境部署 1. window 环境部署 1.1 当前环境Win10 64 位系统:Python3.6.2(官方已经更新到了 3.6.4) 官方下载地址:https://www.p ...

  4. SpringBoot 接收前端参数的几种方式

    昨天和前端小伙伴在联调是碰到了参数接收不到的错误,我在postman上测试接口是正常的,但是与前端对接时就接受不到参数,请求方式都是get,但是问题就在于json  和 form-data 的区别!这 ...

  5. 题解 CF 1372 B

    题目 传送门 题意 给出 \(n\),输出 \(a\) ,\(b\) (\(0 < a \leq b < n\)),使\(a+b=n\)且 \(\operatorname{lcm}(a,b ...

  6. 自学 Python 到什么程度能找到工作,1300+ 条招聘信息告诉你答案

    随着移动互联网的发展以及机器学习等热门领域带给人们的冲击,让越来越多的人接触并开始学习 Python.无论你是是科班出身还是非科班转行,Python 无疑都是非常适合你入门计算机世界的第一门语言,其语 ...

  7. js判断字符串中是否包含特殊字符、中文

    /** * @author:xc * @desc: 特殊字符校验 除了下划线 */ containSpecial(str) { var containSpecial = RegExp( /[(\ )( ...

  8. SQL语句中带有EXISTS谓词的子查询的理解与使用

    EXISTS:代表存在量词. 在SQL中,把具有全称量词的谓词查询问题转换成等价的存在量词的谓词查询予以实现. 如有三个表,Student(Sno,Sname),Course(Cno,Cname),S ...

  9. animate动画基础

    定义: animate() 方法执行 CSS 属性集的自定义动画. 1.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果. 2.只有数字值可创建动 ...

  10. Java线程-- 线程池

    1.线程池概念 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源. 为什么要使用线程池? 在java中,如果每个请求到达就创 ...