区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与区块链宠物养成游戏等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的宠物养成游戏系统技术实现。
区块链是一种很难理解的技术,宠物养成游戏系统也的最新的一种技术。虽然我也看了很多视频和文章,但从我个人角度来讲,直到我开始写一些简单的区块链应用,我才真正理解了它是什么以及它的潜在应用。我对区块链的看法是,它是一个公开的加密数据库。
关于区块链未来可能的应用场景留给您自己思考,废话不多说,让我们一起通过这7个函数来探索区块链吧。
区块链的核心是哈希函数,如果不加密,区块链将很容易被操纵,交易将能够被欺骗性地插入到区块链中。
所谓的“状态”是交易完成后的资产分配记录。比如,我有10个币,我把其中1个币给了Medium,那么当前的“状态”就是如下字典中的值。
值得注意的是,在这个体系中,透支是不可能存在的。如果我只有10个币,那么我不可能将11个币给别人。下面的函数将验证我们尝试进行的交易确实是有效的。而且,交易必须平衡,我不可能给了对方5个币,但他只收到4个币,否则会引起币的销毁和创建。
现在我们可以构建自己的区块了。读取上一个区块的信息,并将其链接到下一个区块,这也是区块链的核心技术之一,看起来有效交易可以被欺诈性地插入到区块链中,但是对前面所有的区块进行解密在计算上几乎是不可能的,这就保留了区块链的完整性。
下面是一个小小的帮助函数,用于检查前一个区块的哈希值。
一旦我们把所有的东西整合起来,就是时候创建自己的区块了。接下来我们将更新区块链。
在完成之前,区块链必须经过验证:
最后,需要一个交易函数,将所有上述功能整合在一起:
现在我们有了7个函数,那么怎样使用它们呢?首先,我们需要一个创世块来开始我们的区块链,这也是新币产生的开始。在这篇文章里,我将会从10个币开始。
那么,当我将一些币给Medium之后发生了什么呢?
“状态”的值将会被更新为当前各人拥有多少个币:
然后生成的区块链会如下所示:
至此,我们的第一个交易已经创建并被插入到堆栈的顶部。现在,我希望这些已经激起你的好奇心,并且有兴趣将代码复制下来跑一跑。在我看来,这是学习新技术的最佳途径。请尝试运行代码去创造自己的币。以太猫为例:以太猫是一款基于区块链技术的宠物游戏,您可以在游戏中买卖、配育、赠送喵咪,同时也能满足您对猫咪的收集欲望。每只猫咪都是独一无二的数字资产,且绝无可能被复制或销毁。此猫咪具有收藏,升值,游戏娱乐性等的价值。TA将永久与您陪伴,除非您选择将TA售卖。为所有玩家提供了三种模式,分别是买卖、繁育、赠送。用户可以下载以太猫APP并进入猫咪集市页面,浏览所有符合条件的猫咪,选择最中意的那一只进行交易。最令人兴奋的一点是,以太猫提供了人民币的支付方式,这与其他数字宠物游戏需要购买代币截然不同,大大降低了玩家的参与成本。游戏中猫咪有超过上亿种不同的外形,这些都源于每只猫咪均拥有复杂的基因编组,每只猫咪都是不可复制的,但玩家通过繁育的交易方式,可以获得隐藏的稀有属性。这一玩法大大提升了游戏趣味性,让所有玩家均有机会获得稀有基因的猫咪。基于区块链技术的数字宠物时代已经来临。
原文地址:http://blog.51cto.com/13755454/2118948