1. 概述: 
    Cryptokitties,众所周知的迷恋猫的游戏,是基于以太坊平台运行的。用户在游戏中可以养大、买卖并繁育“电子宠物”小猫,每只小猫和繁衍的后代都是独一无二的。由于它是第一款真正意义上的区块链游戏,在面世之初就受到了大量关注,一度造成以太坊网络拥堵,虽然这一部分是因为以太坊当前TPS本身性能不高导致的,但也能看出这款游戏的火爆程度。

上面就是以太猫的简单图示

3.源码下载地址 https://etherscan.io/address/0x06012c8cf97bead5deae237070f9587f8e7a266d#code

4.以太猫的源码有2000多行,可以说是所有智能合约中代码量最大的了,共有15个合约

contract Ownable

contract ERC721

contract GeneScienceInterface

contract KittyAccessControl

contract KittyBase is KittyAccessControl

contract ERC721Metadata

contract KittyOwnership is KittyBase, ERC721

contract KittyBreeding is KittyOwnership

contract ClockAuctionBase

contract Pausable is Ownable

contract ClockAuction is Pausable, ClockAuctionBase

contract SaleClockAuction is ClockAuction

contract KittyAuction is KittyBreeding

contract KittyMinting is KittyAuction

contract KittyCore is KittyMinting

  1. 接下来我们看看这些合约的一些继承和关系图

    1. 合约继承图

2.合约包含关系图

6.上面是cryptokitties的整体分析,在后面我们将对其源码进行简要说明

  • 学院Go语言视频主页
    https://edu.csdn.net/lecturer/1928

  • 清华团队带你实战区块链开发

  • 扫码获取海量视频及源码   QQ群:721929980

​​​​​​​

3.21以太猫源码分析1相关推荐

  1. 3.22 以太坊:以太猫源码分析2

    00A. Ownable 合约:提供基本的认证控制 // 提供基本的认证控制 contract Ownable {address public owner; /*** @dev The Ownable ...

  2. 3 v4 中心节点固定_死磕以太坊源码分析之p2p节点发现

    死磕以太坊源码分析之p2p节点发现 在阅读节点发现源码之前必须要理解kadmilia算法,可以参考:KAD算法详解. 节点发现概述 节点发现,使本地节点得知其他节点的信息,进而加入到p2p网络中. 以 ...

  3. 以太坊源码分析-交易

    以太坊源码分析-交易 机理 先说一点区块链转账的基本概念和流程 用户输入转账的地址和转入的地址和转出的金额 系统通过转出的地址的私钥对转账信息进行签名(用于证明这 笔交易确实有本人进行) 系统对交易信 ...

  4. php区块链以太坊,兄弟连区块链教程以太坊源码分析CMD深入分析(一)

    兄弟连区块链教程以太坊源码分析CMD深入分析. cmd包分析 cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 geth ...

  5. kademlia java_死磕以太坊源码分析之Kademlia算法

    死磕以太坊源码分析之Kademlia算法 KAD 算法概述 Kademlia是一种点对点分布式哈希表(DHT),它在容易出错的环境中也具有可证明的一致性和性能.使用一种基于异或指标的拓扑结构来路由查询 ...

  6. go-ethereum-code-analysis 以太坊源码分析

    分析go-ethereum的过程,我希望从依赖比较少的底层技术组件开始,慢慢深入到核心逻辑. 目录 go-ethereum代码阅读环境搭建 以太坊黄皮书 符号索引 rlp源码解析 trie源码分析 e ...

  7. 以太坊源码分析(2)——以太坊APP对象

    前言 从这一节开始,我将开始以太坊代码全覆盖讲解,讲解的流程是: 以太坊程序入口 基本框架 以太坊协议 发送一笔交易后发生了什么 启动挖矿 以太坊共识 p2p 网络 阅读本系列文章,将默认读者具备一定 ...

  8. 以太坊源码分析之随心笔记

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 以太坊索引 table.go 定期随机选取一些节点找他们要他们的节点,放到本地,也就是一个随机找节点的table 里头的 ...

  9. 46.以太坊源码分析(46)p2p-peer.go源码分析

    nat是网络地址转换的意思. 这部分的源码比较独立而且单一,这里就暂时不分析了. 大家了解基本的功能就行了. nat下面有upnp和pmp两种网络协议. upnp的应用场景(pmp是和upnp类似的协 ...

最新文章

  1. Linux内核分析 - 网络[六]:网桥
  2. 【Python】特征工程:数值特征的缩放与编码
  3. 18道经典MySQL面试题,祝您升职加薪
  4. serial port 的操作
  5. “12306”的架构到底有多6?
  6. BZOJ5419[Noi2018]情报中心——线段树合并+虚树+树形DP
  7. 116. cURL 简介(2)
  8. js中采用词法作用域
  9. CSS - 选择器优先级介绍
  10. matlab PID学习
  11. armv7l安卓刷linux,技术讲解-安卓APK快速生成后门(实现手机入侵)
  12. 怎么用VBA在excel中指定位置画图表? 如怎么用VBA在 A7:G13位置画出图标
  13. 6、取得平均薪水最高的部门的部门名称【bjpowernode34道SQL题】
  14. flashback总结六之Flashback_Transaction_Query
  15. 【PyTorch】PyTorch神经网络实战入门
  16. 数码相框(三、LCD显示文字)
  17. 计算机毕业设计Java个人理财系统(源码+系统+mysql数据库+lW文档)
  18. 第一阶段冲刺团队贡献值分析
  19. GAMES104 作业2-ColorGrading
  20. NoSQL数据库优缺点

热门文章

  1. 关于莱布尼茨函数乘积的求导公式
  2. 你怎样看待计算机与人类的发展,计算机语言与人类语言的相互渗透
  3. 数据结构_根据先序和中序构建二叉树(C语言)
  4. c语言实践报告模板,c语言实践报告心得模板.doc
  5. 献给重阳节加班的自己
  6. 索尼lt26i解锁和root教程
  7. java中的runtime_java中的Runtime
  8. 机器学习——人工神经网络模型LSTM
  9. 束缚电荷和极化电荷_概念解释_电磁学
  10. MATLAB-- mean()的使用