十一课堂|通过小游戏学习Ethereum DApps编程(1)
2019独角兽企业重金招聘Python工程师标准>>>
这篇文章,是通过制作一款可爱的游戏(DAPP,也可以称做智能合约),从而学习Solidity语言。和ETH网络的一些基础知识。
全程在线编程,无需搭建复杂的环境,只需要有任何其他语言的编程经验,即可马上学习。
网址:https://cryptozombies.io
这篇文章是一篇关于制作游戏的总结。
1
在线游戏简介
支持多语言界面:
https://cryptozombies.io/
课程:
cryptozombies课程
编辑页面
在线编辑页面
学习总结
可视范围的
函数专用限制语法
整数
int是带符号整数
其他变量
2
solidity语言的知识点
modifier
modifier 和 function有些相似。
主要用于提前检查function的参数是否符合function的要求。
这个就是经典检查调用智能合约的owner是否是此智能合约的开发者的modifier。
出自:https://github.com/OpenZeppelin/openzeppelin-solidity
OpenZeppelin is a library for writing secure Smart Contracts on Ethereum.
/*** @dev Throws if called by any account other than the owner.*/modifier onlyOwner() {require(msg.sender == owner);_;}
在游戏里面,我们增加了对于级别的判断。
modifier aboveLevel(uint _level, uint _zombieId) {require(zombies[_zombieId].level >= _level);_;}
用法:添加在需要检查的function定义的末尾
function changeName(uint _zombieId, string _newName) external aboveLevel(2, _zombieId) {
}
Gas
在ETH网络上,用户在通过智能合约修改区块链上的数值的时候,需要支付Gas的。Gas可以通过以太币来兑换。
简单的说,修改区块链的时候,不是免费的。不免费的理由可以参照网络。
而只是查询区块链上的信息的时候,是免费。所以为了给你的用户节约费用,开发者可用通过设置函数为 view 和 pure 来实现。
比如,用户可以查询自己拥有的东东的时候,可以这样写function。
function getZombiesByOwner(address _owner) external view returns (uint[]) {}
还记得 external 么?
storage
更新区块链是需要支付Gas的,尤其是 storage 的写入操作。
开发者需要尽量避免 storage 的写入。其他语言,循环是效率低的,但在solidity里面,比起Gas的消耗,我们还是倾向于用循环。
除非,让逻辑过于复杂化的处理,比如每次都需要在 memory 上重新建立序列。
或者是每次都需要调用函数来得到特定值的时候。
通过在变量定义的时候,加入 memory 可以在 memory 上新建一个仅仅存储在 memory 里面的变量
function getArray() external pure returns(uint[]) {// Instantiate a new array in memory with a length of 3uint[] memory values = new uint[](3);// Add some values to itvalues.push(1);values.push(2);values.push(3);// Return the arrayreturn values;}
pure : 函数内没有使用任何外部数据
本系列文章作者:HiBlock区块链技术布道群-A****mywu
原文发布于简书
加微信baobaotalk_com,加入技术布道群
Blockathon|48小时极客竞赛,区块链马拉松等你挑战(上海)
时间:2018年10月19-21日
地点:(上海黄浦)露香园路1号(近淮海东路)P2
- 招募50名开发者(识别下图二维码或点击“阅读原文”即可了解详情并报名)
北京blockathon回顾:
Blockathon(北京):48小时极客开发,区块松11个现场交付项目创意公开
成都blockathon回顾:
Blockathon2018(成都站)比赛落幕,留给我们这些区块链应用思考
转载于:https://my.oschina.net/u/3782027/blog/2222457
十一课堂|通过小游戏学习Ethereum DApps编程(1)相关推荐
- 十一课堂|通过小游戏学习Ethereum DApps编程(5)
2019独角兽企业重金招聘Python工程师标准>>> 1 ERC721 tokens 在这个游戏里面,我们使用ERC721 tokens标准,通常的情况下,使用的是ERC20 to ...
- 十一课堂|通过小游戏学习Ethereum DApps编程(3)
2019独角兽企业重金招聘Python工程师标准>>> 1 solidity语言的知识点 Random Numbers 很多时候我们都需要随机数. 在solidity里面,我们可以通 ...
- 十一课堂|通过小游戏学习Ethereum DApps编程(4)
2019独角兽企业重金招聘Python工程师标准>>> 在上篇完结的时候,我们制造出了这个独一无二可爱至极的角色: 这里我们继续总结一些关于solidity语言的知识点.并且开始了解 ...
- python|利用打飞机小游戏学习分支和循环|今天是记录自己学习的第四天呀!加油!
** python|利用打飞机小游戏学习分支和循环|今天是记录自己学习的第四天呀!加油! ** /*** Author:Jiang Zhiying Data:2017.11.11 Emial:1443 ...
- 微信小游戏 - 学习/实践
1.应用场景 主要用于快速开发微信小游戏. 2.学习/操作 1.介绍 小游戏是一种基于微信平台开发,不需要下载安装即可使用的全新游戏应用,体现了"用完即走"的理念,充分节省用户的手 ...
- 微信小游戏学习日记1
1.App手游和微信小游戏 2.微信小游戏Unity WebGL转换方案 解析: 3.提升Unity WebGLue游戏启动速度 4.瘦身游戏代码包体 解析: 5.资源优化与按需加载 解析: 6.游戏 ...
- 微信小游戏学习日记2
1.MeshRenderer组件 解析: [1]mesh:会用到的Mesh资源,可以来自于FBX. [2]castShadow:是否投射阴影 [3]receiveShadow:是否接收阴影 [4]li ...
- python经典小游戏五子棋,适合python编程的小游戏
python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...
- 三子棋小游戏带你走进编程世界(c语言版)
目录 一.游戏实现的整体思路 二.实现游戏大体框架 二.游戏函数的实现 1.初始化键盘 2.打印棋盘 3.下棋及胜负判断 (1)玩家下棋 (2)电脑下棋 (3)判断输赢 三.结语及源码 三子棋想必大家 ...
最新文章
- 【面向代码】学习 Deep Learning Convolution Neural Network(CNN)
- 解决Coursera视频无法观看的问题
- 超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器
- 【CodeForces - 304B】Calendar (前缀和,水题)
- 转载--上下标等特殊符号的输入方法
- 学生寝室管理系统-C语言版
- 常考的java数据库笔试题
- ABBYY软件对PDF文本审阅操作之盖章
- Docker 安装(使用阿里源)
- android 焦点的作用,详细介绍Android中的视图焦点Focus的使用
- iPad的尺寸与分辨率
- Python图书商城(可运行代码)有说明文档
- 绝地求生2020服务器维护中,绝地求生2020最新维护公告几点开服?3月18日更新内容一览...
- python合并word表格单元格_合并Word 表格中单元格
- jira的插件开发流程实践
- ORA-15064 ORA-03113 - 测试库案例
- c语言硬件控制程序,msp430的一些常用的C语言控制程序---ZLG7289
- 精选文章:人生第一辆车购车八大流程及提车注意事项之最强攻略
- AutoCAD二次开发基础(三):船体型线绘制
- 绘制Excel字符画
热门文章
- 坑爹的hiredis API使用
- 超全面!Verilog入门到实战系列(1)
- 企业CDN缓存 varnish--varnish的基本搭建(1)
- 如何改变pycharm的背景颜色
- 【WangEditor】使用富文本编辑器 WangEditor 实现用户自定义图片大小(改js源码)
- 旋翼回收火箭系列博客1——研究生未来飞行器设计大赛火箭赛道介绍及分析
- 工作室转型做什么好项目?
- IPv6技术精要--第17章双栈和隧道
- 单代号网络图计算例题_还在熬夜计算工期?不会优化工期?学会双代号网络图效率提高80%,升职加薪其实不难...
- X10 电阻屏tsc2007调试