比原Bapp红包应用
喜迎国庆期间,比原链在自己的移动端钱包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红包应用的更多相关文章
- PDF.NET SOD 开源框架红包派送活动 && 新手快速入门指引
一.框架的由来 快速入门 有关框架的更多信息,请看框架官方主页! 本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.N ...
- 手机浏览网页或打开App时莫名弹出支付宝领红包界面的原因及应对措施
自从支付宝推出扫码领红包活动后,这种模式独特的赏金机制,短时间内吸引了大量的关注,但是随之也产生了很多的问题,比由于如在赏金的驱动下,微信群里铺天盖地的红包口令,朋友圈里各式各样的领红包二维码图片, ...
- 安卓仿QQ红包领取详情界面动画
为了能清楚的看到这个效果,本人不惜几次花费重金给众群叼发放红包,来查看红包领取详情界面的动画效果,QQ效果如图: 图中我们可以看到,动画处的头像和文字是一起的,即同时并且是整体,注意,是整体进行缩放的 ...
- 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑
公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...
- Unity -- 用EasyAR制作出AR红包
第一部分:前言 实现功能:打开APP或运行该demo后,会从天而降红包,有些红包是空的(大一点的),抖动的红包里面“有钱”,点击之后会产生相应的交互. 第二部分:预览 所用到的资源: 红包模型 ...
- .NET C# 红包生成算法,可设置红包总额和数量,可限制最大最小红包
很多场景算红包的要求:根本问题就是指定的钱,指定的个数,红包发完,钱不剩余,最小红包1分钱,最大也需要限制. 原理:割绳子算法:每次都取最大值为总绳长的随机值,最后将其排序,计算每两个的差值,总差值即 ...
- java使用BigDecimal 实现随机金额红包拆分算法
原创代码,引用注明出处:https://www.cnblogs.com/guangxiang/p/12218714.html @Servicepublic class SplitRedPacketsS ...
- 薅羊毛? 月入10万? | 这是自动化测试老司机的特长--Python自动化带你薅视频红包,一个都不放过!
一.目标场景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不确定性.大小不确定性.元素 ID 的不确定性 ...
- 信不信?各种红包App最后都会整合游戏!App+游戏的变现模式分析
最近两个月「晓衡在线猿码微服」商城上出现了一类需求特别的客户: 我们有个 App,日活用户达到 XXX万,计划在 App 中嵌入游戏增加用户留存和利用流量变现,还有... 看你们这里游戏不少,想了解一 ...
随机推荐
- Python函数04/生成器/推导式/内置函数
Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...
- oop的三种设计模式(单例、工厂、策略)
参考网站 单例模式: 废话不多说,我们直接上代码: <?php /** 三私一公 *私有的静态属性:保存类的单例 *私有的__construct():阻止在类的外部实例化 *私有的__clone ...
- springmvc 重定向到外网地址
return new ModelAndView(new RedirectView("http://www.baidu.com"));
- Java对象创建模式
创建Java对象时,对于可为空的属性,创建对象的时候有3种模式:重叠构造器模式.JavaBeans模式.Builder模式(推荐).Stream模式(推荐). ...
- redis入门指南(六)—— 集群
写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 配置集群 1.配置集群,集群解决了单点故障以及单台机器内存上限的问题,使用集群时,只需要将配置文 ...
- vuex : 用vuex控制侧栏点亮状态
上代码. xxx.vue <template> <div id="xxx"> <div class="layout"> &l ...
- [jvm] -- 类文件结构篇
类文件结构 结构图 魔数 头四个字节,作用是确定这个文件是否为一个能被虚拟机接收的 Class 文件. Class 文件版本 第五和第六是次版本号,第七和第八是主版本号. 高版本的 Java 虚拟机 ...
- 深入探究JVM之对象创建及分配策略
@ 目录 前言 正文 一.对象的创建方式 二.对象的创建过程 对象在哪里创建 分配内存 对象的内存布局 三.对象的访问定位 四.判断对象的存活 对象生死 回收方法区 引用 对象的自我拯救 五.对象的分 ...
- three.js 数学方法之Matrix3
今天郭先生来说一说three.js的三维矩阵,这块知识需要结合线性代数的一些知识,毕业时间有点长,线性代数的知识大部分都还给了老师.于是一起简单的复习了一下.所有的计算都是使用列优先顺序进行的.然而, ...
- Flutter日常笔记
factory修饰的构造方法 表示不是每次返回的都是新创建出来的对象, 可以取内存中已有的, 比如单例模式的书写 每次返回的都是一个实例, 这时要使用factory修饰构造方法 flutter不要求显 ...