试玩初体验——当艾斯邂逅BingoGame
为了不断优化BingoGame版本,并在此基础上将区块链随机数技术应用于福利彩票、摇号系统等更多场景,消除传统中心化应用随机数产生过程中数据无法验证、无法追溯、有作弊风险等隐患,此前,aelf特举办了两期BingoGame Demo AEUSD版本体验活动。本文记录了社区用户代表艾斯试玩BingoGame的过程、体验及思考,一起来看看吧。
欢迎来到aelf区块链的开发之旅!这是aelf区块链项目第一篇技术性的支持文章。如果你想在aelf区块链上开发DApp(去中心化应用),这一系列文章可以为大家提供帮助,让你能够无门槛地逐步搭建自己的DApp。
我们并不能一开始就进行aelf区块链上的DApp开发,因为对于新手而言,进行DApp的开发有较大门槛。所以我们先体验一下已经由aelf团队开发好的DApp样例——BingoGame Demo,这是一个投注类的小游戏,首先你需要押注,比如押“大”或押“小”,并且提供押注的金额,然后应用会告诉你投注的输赢结果。如果你已经把BingoGame这款DApp安装在手机上了,那我们就开始体验吧!
当你第一次打开这个应用时,你会看到三个板块,最上面的板块是“Prize Pool”,也就是奖池,这里汇集了玩家输掉的“钱”的总额。中间的板块是“Bet Type”,即选择押注类型,你可以选择押大(big)或者押小(small)。下面的板块是“Bet Amount”,即押注数量或金额,在输入框中填写押注的数量。在这个DApp中,押注的“金钱”单位是AEUSD,这是aelf在测试网上发布的测试稳定币。最后,只需点击最下方的Bet按钮就可以进行投注了。
首先你需要注册一个新账号并且完成登录。注册新账号时,点击底部菜单栏的“My”按钮。点击之后,应用会显示“login”和“register”,选择“register”,设置昵称和密码,注意密码的格式要正确,最后点击“register”。
点击之后会来到备份账号二维码的页面,注意,这个二维码必须要备份,因为当你再次登录时,只能通过这个二维码导入你的账号信息,一旦丢失,你的账号和其中的代币就会永久丢失。点击“save to album”保存这个二维码到手机相册,保存之后点击右上角的“Done”。
接下来,我们来到设置交易密码的页面。实际上,这个应用在交互的背后都是在进行各种交易,所以自然而然需要交易密码,就如同其他的数字货币钱包一样。
最后,当你完成注册之后,系统自动回到主界面,这时候,在“Prize Pool”的面板能够看到显示“please bet”的长条框,这说明你已经登录成功了。
在开始玩这个投注游戏之前,检查一下自己是否有余额(即“Bet Amount”面板中的“balance”)。比如,我现在有48个AEUSD,我选择“small”,然后我输入2个AEUSD,点击“bet”按钮投注,你会看到“bet success”的提示框,然后在底部菜单栏上快速切换到“My bet”页面,然后点击“waiting for draw”选项卡。如果你的操作足够快,你会在这个选项卡中看到刚才投注的信息,这就是你刚才投注的那一轮次,这个投注轮次正在等待被开奖(即Bingo)。
实际上,你需要等待几十秒才会看到你的投注是赢还是输。过一会,你会发现在这个选项卡下的本轮投注信息突然消失了,这说明这轮次的投注已经被开奖。接下来,切换到“Lottery”选项卡。对于我而言,这一次我赢了2个AEUSD,除此之外,你还能看到本轮投注的其他信息,比如交易ID等。你可能在这一页面看到其他轮次的开奖结果,这是我之前玩过的几轮。现在再返回到主界面——即底部菜单栏左侧的“Index”按钮,这里你可以看到你有50个AEUSD,也就是说你赢了这一局,之前你的押注的金额被返还回来了(还记得你押注了2个AEUSD吗?),而且又另外得到了与投注数量相同的AEUSD作为奖赏(2个AEUSD)。相反,如果你输了这一局,你之前押注的金额就不会被返还了,你会只剩下46个AEUSD。另外,你会在“Prize Pool”面板上看到你上次投注的简要信息:投注了2个AEUSD,小。
那么在这个过程中,实际发生了什么呢?其实这个应用可以产生一个0~255之间的随机数,如果这个随机数处于0~126之间,则对应“小”,如果处于129~255之间,则为“大”,如果是127或者128,则为“中”。如果玩家的投注类型和这个随机数的对应类型相同,则玩家赢,反之玩家输。如果这个随机数的结果是“中”,也是玩家输。
当清楚了这一点之后,我们这次连续投注多次。首先,我投注2.5个AEUSD,在“Bet Success”提示框消失之后,立刻投注4.5个AEUSD,然后以这种方式再投注5.5个AEUSD,让我们看看发生了什么。立刻切换到“My Bet”页面的“Waiting for Draw”选项卡下,你会看到你玩的三个轮次先后排成了一个队列,过了一小会,这些待开奖的轮次信息就依次消失了。这时候,当你到“Lottery”选项卡下面查看时,你会看到新的开奖结果:赢了2.5AEUSD、输了4.5AEUSD、输了5.5AEUSD。
当你体验完了这个DApp示例之后,你可能会问两个问题:
1.为什么我在投注之后并不是立刻得到开奖结果,必须等待一段时间才可以呢?
这是因为这款DApp是基于区块链的,当你投注了某个数额之后,你实际上向区块链上的某个智能合约发了一个交易,这个交易信息随即被智能合约处理,在这之后,需要经过区块链其他节点的确认,并且在这之后产生了几个新区块之后,你才会得到可靠的开奖结果,这个过程消耗了一定的时间。当然,其中的过程远比该描述复杂。
2.为什么aelf的团队以BingoGame作为样例呢?
这是因为“BingoGame”是基于aelf完全自主研发的“真随机数产生器”的一个应用,真随机数完全基于纯自然产生的随机现象,它和自然的随机现象一一对应,所以它完全不可预测,不可被设计。而相反的是,我们见到的随机数产生方式一般都是伪随机数产生方式,比如大多数编程语言中random包中的方法,就完全是伪随机数的产生方法,伪随机数是由比特的各种运算产生的,使得其可以被预测和操控。在涉及到摇号等业务时,伪随机数产生的方法极容易被人暗箱操作,而基于aelf区块链的真随机数产生方法,可以为这些业务提供完全可信、可追溯和不可篡改的保障,做到真正的公平。
最后,我们来看看登出账号后如何再次登录。切换到“My”页面,在顶部的二维码区域会看到你的昵称和现有AEUSD余额,点击“logout”,出现一个提示框,提示你需要把和账号相关的一切内容备份好,如果你已经备份充分,那就选择“logout”登出即可。登出之后,你自动回到了主界面上,这时候重新回到“My”页面,这次选择“login”,你会发现你进入了扫二维码的状态,当然如果你已经把备份好的二维码打印在了纸上,直接扫描即可。不过这一次我们点击右上角的“album”,从相册中选择之前备份好的二维码。选好之后,应用会让你输入登录密码,点击“confirm”,等待几秒钟,应用会让你输入交易密码,输入之后点击“confirm”,我们就回到了已登录状态。
以上就是关于BingoGame这款示例DApp的全部内容。在下一篇文章中,我们开始对aelf区块链项目进行简要介绍,为之后的DApp开发打下坚实基础。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum