00:00
啊,我们上节课已经实现了这一单元,我们要所有要。实现的代码对吧?那接下来我们其实就是要看一看效果到底怎么样,是不是符合我们的预期,呃,那这个在做这个测试之前呢,肯定就是说我们还是要把这个环境都重新启动一下,因为大家知道我们的种子区块链里边设置的时间,产品的时间都比较短,对吧?所以如果我们现在还是用之前的那个数据的话,进去之后只能看到就它都已经结束了,所以说我们为了想要能够测试到我们的这个出价和呃,揭示报价的这个环节,那我们肯定是需要重新去启动一下,所以我们重新起一下gash,然后这边那同样我们就去把这个traveluffle重新去migrate一下,对吧。呃,当然这些都是常规操作的,就一开始会比较花时间一点。
01:04
好,已经成功了,然后我们执行一下这个种子区块链的程序。啊,这边应该也已经成功了啊。好,那接下来我们可以启动我们的服务器了,我们确同时确认一下这边的IPFS节点是起的,当然这个过程又会比较费劲啊。啊,那当然这里可以我们提前做一个准备工作啊,大家会发现我们如果想做这件事情的话,那我们要去提起交易,就要去报价的这一个账户里边是不是至少得有钱呀,对吧?这个肯定是需要的,对吧?所以我们趁这个时间顺便这边先转些钱过去吧,这边还没起来啊,大家知道怎么转吧。
02:03
我们直接起一个pencil pencil。在这个控制台里边就可以直接给他转了,对吧,因为我们的GA里边默认的这个。WE3点ETH点三的transaction,我们直接可以from web3点ETH accounts。这里面每个都有100个ETH对不对,所以我们可以to,这是我刚才copy过来的它的这个数对吧,我们随便给一些吧,Value给上WEB3点兔尾。我们给上30个吧,应该够了吧。好把它转账转过去,现在我们看到这边已经有了,对吧。
03:03
这个还是挺快的啊。看一下这边哦,这边已经启动起来了,那我们就来看一下现在它的样子啊。好,我们点击这一个第一个,大家可以看到我们已经有了这一个竞价的这一个表单,对吧?好,我们去填一下吧,它的起拍价格是两个ETH,我们给个三应该可以对吧?发的时候啊,那我们就直接发五个吧,然后这个随便给一个,比方说叫哈哈这个肯定可以对吧。也比较好记。诶,这个好像有问题是吧。看一下是不是报错了。果然报错了。啊,所以大家看的是我们在这里就出了问题。
04:03
呃,我们这里在render它的时候。通过这一个product ID,然后去拿当前的这个。结果。我们一起来排查一下,看看这个问题到底在哪里啊?呃,无法把一个UN DeFine或者none转换成product,呃,那个object。这个P其实就是应该是get product的一个结果,对吧,我们要的是它这个返回的结果,好,我们在这里还是来重新来一下。看能不能断到这里来。对,好像卡住了。我们看一下这里。I,这个是没问题的,对吧,诶product ID这里没有拿到,大家看到了吗。
05:01
Product ID没有拿到,所以大家应该想到,这是我们render product ID的时候会有问题,对不对?Render product ID,我们在哪一部?在这里render product ID的时候,没有拿到我们的这个product product ID。哦,所以大家就会发现。在这个过程当中,为什么呢?因为我们在提交这个表单的时候,我们上边的parameter其实已经变了的,对吧。是不是大家看到上面是这样的一个状况,对吧?所以这个时候如果我们还是重新是从这个我们,呃,就是URL这里去拿这个product ID的话,那显然就就拿不到了,对吧?所以这里我们其实这里应该是就是直接叫product ID对吧,应该在这个里面。
06:03
好,那么我们这里干脆就把它都改成一样的好了。好,我们刚才已经找到了这个bug所在,所以现在我们可以重新把这个环境都清掉,然后重新再搞一遍,我希望这次可以能够一次搞定。其实就是等的这个过程太多了,而且我们真是想要用一种方式想要去解决的时候,又得等半天,对吧,每一次调试等半天,这个确实还是有点。呃,效率稍微有点低,好,我们先把这个先弄完,先退出去啊,然后再重新进一下。
07:08
好比一下上面转账的这一部分。还有一个。去好,我们给这两个账号都先转上30个以太。然后接下来我PM。哎,在这之前我们还是先把这个先关掉啊,校验一下这个没有问题。哦,这里怎么直接就变成24.99了,这个应该没有刷新对吧。看起来好,现在是刷新了,变成30了,对吧,这个是正常的,好我们等这个server提起来之后。
08:13
再来看一下这个效果怎么样。Ho 8080。所以大家可以看,就是这个代码已经比较复杂了之后,呃,想要去排查的话,这个确实还是需要把这个代码的逻辑梳理的比较清楚才可以,要不然的话就经常大家可能会发现一个bug,他报的是哪里,但其实这个问题可能并不是在那儿对吧,找半天有可能找不到。就还在缓慢的启动当中。
09:00
嗯,所以大家可以看到,就是我们刚刚为什么会找不到那个product ID,其实是因为我们没有阻止他的这个提交的话,他会直接把这个表单做一个submit,然后更改我们的那个URL,对吧?呃,所以是关键还是这一步导致了我们没有办法从URL里边再重新拿到ID了,呃,所以我们把这个堵住之后,应该能解决这个问题,好,我们看一下。应该还没有结束吧,哦,还有四分钟好。又有问题啊,这又是什么问题?Invalid address?这个。经常这个ma就是好像。
10:00
会出现这个账户识别的有问题的这种状况,我们看一下是不是的问题啊。哦,现在可以了,对吧,所以刚才应该是MAS切换的时候的问题,大家在频繁做这个操作的时候,经常也会遇到类似的问题,所以说可以用我刚才这种很简单的方法,就是相当于切换一下网络,让mad bus重新刷新一下来试着看能不能把这个问题解决好,那接下来我们confirm这个如果正常的话,它得。他就不能像刚才那样,诶这这下就是符合我们预期的对吧?对,这个没有把我们的这个页面重新搞乱,呃,而是在上面弹出了一条消息对吧?呃,我们的这个提交正常的提交了,然后我们可以过几分钟之后啊就可以,就相当于我们可以就是跟他在做竞价对吧,我们先现在还有几分钟时间,我们可以看一下这边在这边是不是可以查得到,刚才我们这边都没查到对吧,呃,Deploy。
11:04
点II点那个叫什么high。Infer,对吧,这个是一点赞,Cons cons嗽没写错吧,老写写错了是吧。I highest inf1。So,对吧。嗯,现在还是没有。二肯定是没有的。呃,这个看起来跟我们预期的这个行为是不是不是很符合,对吧,按道理不应该出现这样的情况,我们先看一下这边吧,至少这边这个web这边的页面还是很符合我们的,呃,我们这里比如说我们再去投一个啊。
12:14
大家如果用别的账户投的时候,其实我们切换一下就可以了,对不对,大家看刚才那个已经给了五个对吧,我这里面假如投的是四,呃,我这个不要给五个了,我给多一点给六个吧。哈哈哈。好,这里又有了一笔交易,所以这个相当于是两个人都去竞标这一个商品,对吧。好,这个也成功了,我们已经提交成功,好,那接下来我们应该可以在这个链上查询得到相关的一些信息才对。诶,这个确实看起来有一点奇怪啊,我们B的如果成功的话,再来检查一下我们的这个代码里边B的如果成功的话。
13:13
我们会去把壁纸写进去。哦,大家知道为什么没有,没有查到highis bit infer吗?这个是我们跟我们之前的这个合约里边的逻辑有关,对吧,因为我们在去。投票就是在我们竞拍的这个环节里边,B的这个函数里边,我们并没有去处理highest。呃,Iner,对吧,因为我们在竞拍的时候,我们只知道他的押金是多少,根本不知道他拍过来的是多少,对吧?所以我们怎么能够查到呢?所以肯定查不到,对,只有在去review的时候才能够查到对吧?啊,这个就是我们这个代码多了之后,一下子忘记之前的逻辑了,所以发现,诶怎么不对啊,最后发现是对的,好,这个就是大家会发现多了之后试着试着就觉得,诶现在可以去review了,大家还记得我们这个是给的多少吗?第二个应该是四对吧。
14:17
然后这个是给了叫哈哈哈,是不是,我们先现在是看二吧。呃,这样我们还是给ACCOUNT1,因为account一会小一点,对吧,我们先整个ACCOUNT1,然后给ACCOUNT2,应该能够看到它的变化,这个好像是三来着,对吧,然后我们把这个输入进去,这个加密的信息,然后我们发起一笔交易。这里可以去做一下确认,这笔交易我们不需要发以太对吧,所以这个是完全没问题的确认。诶,这个是成功把这个信息已经解锁了,对吧?那大家想我们现在如果去查这个high speed的应该就有对吧?这个时候如果没有的话,说明我们程序是有问题的,好,现在就查一下,诶大家可以看到这里边我们的highest biter50f3应该就是我们现在的COUNT1对不对,我们校验一下是不是啊,50F38CB2尾号8CB2没问题对吧?然后大家看它的这个第一个数是不是应该是当前的highest bit。
15:30
最高出价对吧,是它的30的18次方对吧,这是三的意思,是不是三个以态对吧,那下边是不是第二个高价啊。第二高价他给的是二,诶他为什么是二呢?因为它的start price是二,对吧?我们当时的逻辑大家还记得吗?一旦他如果是第一个没有人出价,我他是第一个出价的揭示报价,那么他变成了最高出价,就会把start price作为第二高出价,对吧?所以这个完全符合我们的这个预计啊好,我们切换一下,再用那个更高的那个来试一下,如果要是这个能把它顺,哎哟,能把它顺利的顶掉的话,我们整个逻辑就没问题,全跑通了,对吧?这个是四,然后下面应该叫哈哈哈,对吧。
16:22
哎,不弹出来啊。同样一笔交易,它的这个金额是零,我们把它确认一下。好,这个也成功了,那接下来我们验证奇迹的时候看一下。诶,这个highest biter已经变了,变成了7109,我们校验一下是不是我们当前的这个账户。7109是这个COUNT2对吧,然后当前最高的竞拍价格变成了四。第二高架变成了三,是不是把刚才那个顶掉了,对,所以这个完全符合我们的预期,对吧?所以这个就没有问题了,当然大家可以再去校验一下,我们还可以看到它的total壁子,这个肯定是二,对不对。
17:13
啊,大家可以看到这个是二,所以整个的这个测试的结果都是符合我们预期的,所以大家应该是能把这个完全做完之后,实现这样的一个状态啊,就是一个正常的状态。
我来说两句