本文节选自电子书《Netkiller Blockchain 手札》

Netkiller Blockchain 手札

本文作者最近在找工作,有意向致电 13113668890

Mr. Neo Chan, 陈景峯(BG7NYT)

中国广东省深圳市龙华新区民治街道溪山美地 518131

+86 13113668890 <netkiller@msn.com>

文档始创于2018-02-10

版权 © 2018 Netkiller(Neo Chan). All rights reserved.

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cn

http://netkiller.sourceforge.net

微信订阅号 netkiller-ebook (微信扫描二维码)

QQ:13721218 请注明“读者”

QQ群:128659835 请注明“读者”

内容摘要

这一部关于区块链开发及运维的电子书。

为什么会写区块链电子书?因为2018年是区块链年。

这本电子书是否会出版(纸质图书)? 不会,因为互联网技术更迭太快,纸质书籍的内容无法实时更新,一本书动辄百元,很快就成为垃圾,你会发现目前市面的上区块链书籍至少是一年前写的,内容已经过时,很多例子无法正确运行。所以我不会出版,电子书的内容会追逐技术发展,及时跟进软件版本的升级,做到内容最新,至少是主流。

这本电子书与其他区块链书籍有什么不同?市面上大部分区块链书籍都是用2/3去讲区块链原理,只要不到 1/3 的干货,干货不够理论来凑,通篇将理论或是大谈特谈区块链行业,这些内容更多是头脑风暴,展望区块链,均无法落地实施。本书与那些书籍完全不同,不讲理论和原理,面向应用落地,注重例子,均是干货。

电子书更新频率?每天都会有新内容加入,更新频率最迟不会超过一周,更新内容请关注 https://github.com/netkiller/netkiller.github.io/commits/master

本文采用碎片化写作,原文会不定期更新,请尽量阅读原文。

http://www.netkiller.cn/blockchain/index.html

您的打赏是我的写作动力:http://www.netkiller.cn/blockchain/donations.html

-----------------------------------

以太坊·电影院场景区块链应用探索

最近一直在思考区块链在各种场景下的落地问题。

下面是电影院场景区块链应用探索,这是我的一个设想,区块链如何在院线场景落地的一些思路。

为此我写一个这样的智能合约,实现了构造方法描述一部电影票价,坐位数量,可以实现订票,扣款,退票,还款等功能。

pragma solidity ^0.4.21;
// author: netkiller
// home: http://www.netkiller.cn
// QQ:13721218
contract Movie {address public publisher; //电影院string name;    //影片名称uint price;    //票价uint public seat;   //坐位数量mapping (address => uint) public audience;bool play = false;   //电影是否已经开播,开播后不允许买票和退票。//合约构造方法function Movie(string _name, uint _price, uint _seat) public{publisher = msg.sender;name = _name;price = _price;seat = _seat;}//获取剩余坐位数量function getName() public view returns (string){return name;}//有时需要开放预留坐位,调整坐位数量function changeSeat(uint _seat) public {if (msg.sender != publisher) { return; }if (play == true){ return; }seat = _seat;}//获取剩余坐位数量function getSeat() public view returns (uint){return seat;}//买票方法,参数买票者,票数,买票后扣除用户以太币。function buyTicket(address _audience, uint _ticket) public payable returns (bool success) {if (_ticket >= seat) { return false; }if (play == true){ return false; }uint amount = price * _ticket; //计算票价if (this.balance >= amount) { _audience.transfer(_audience.balance - amount);publisher.transfer(publisher.balance + amount);audience[_audience] = _ticket;seat -= _ticket;}return true;}//退票function refundTicket(address _audience, uint _ticket) public {if (msg.sender != publisher) { return; }if (play == true){ return; }uint amount = price * _ticket;if (audience[_audience] <= _ticket) { if (publisher.balance >= amount) { _audience.transfer(_audience.balance + amount);publisher.transfer(publisher.balance - amount);audience[_audience] -= _ticket;seat += _ticket;}}}//播放电影,锁定function playMovie() public {play = true;}//销毁合约function destroy() public{ if (msg.sender == publisher) { selfdestruct(publisher); }}
}

用法如下

例如现在要上映一部影片步骤是

首先实例化合约,然后部署合约 Movie("黑客帝国", "25", 80)
var contract;
Movie.deployed().then(function(instance){contract=instance;});
contract.getName(); //获得影片名字
contract.buyTicket("0x627306090abab3a6e1400e9345bc60c78a8bef57",1) // 购买 1 张票
contract.buyTicket("0x627306090abab3a6ebc60c78a8bef571400e9345",5) // 购买 5 张票
...
...
contract.refundTicket("0x627306090abab3a6ebc60c78a8bef571400e9345", 2 ) // 退 2 张票
contract.playMovie() // 电影开播,锁定这个合约

原文发布时间为:2018-03-01
本文作者:netkiller
本文来源:腾讯云 云+社区,如需转载请联系原作者。

以太坊·电影院场景区块链应用探索相关推荐

  1. 以太坊白皮书_区块链60讲第33集~什么是以太坊?

    知乎视频​www.zhihu.com 哈喽大家好,我是小K君,今天我们要讲的内容是:"什么是以太坊".  什么是以太坊 以太坊是数字货币中,除比特币之外,最有开创意义的一个项目, ...

  2. 以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

    以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图) 区块链设计开发小组     2019/04/01 借鉴博客:https://blog.csdn.net/cui ...

  3. 以太坊DAO之区块链大会

    Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念.一般翻译为去中心化的自治组织. "在区块链上,没有人知道你是一台冰箱"- ...

  4. 以太大亨 以太坊上的区块链模拟经营类游戏

    以太大亨 是一款以太坊上的区块链模拟经营类游戏,玩家通过建造店铺,管理人才等方式来打造属于自己的商业帝国.以太大亨将采用游戏内置钱包,让游戏体验更爽快,同时将支持多种数字货币,并且同时开放PC端,IO ...

  5. 比特币最主流,以太坊大跌,区块链技术“万金油”红利已结束 | 区块链开发者年度报告...

    整理 | 唐小引 出品 | CSDN(ID:CSDNnews) 已经成为中国工程院院士的王坚博士在自己的著作<在线>中曾谈到了区块链对未来互联网.数据及计算的影响 -- 「如果说网页排名( ...

  6. 为什么以太坊能成为区块链2.0的代表之作?

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链的学习进入到第四天,前三天学习比特币,分别从比特币的前世.货币属性和背后的区块链技术学习. 比特币是区块链的1.0 ...

  7. python与以太坊交互将区块链信息存入SQLite数据库

    关于区块链介绍性的研讨会通常以易于理解的点对点网络和银行分类账这类故事开头,然后直接跳到编写智能合约,这显得非常突兀.因此,想象自己走进丛林,想象以太坊区块链是一个你即将研究的奇怪生物.今天我们将观察 ...

  8. 独家对话V神:详谈以太坊设计与区块链迷思

    记者 | 卢鸫翔 "我总偏向将权力分散于网络.这样一来,就没任何组织能轻松获取控制.我不相信巨大的中央组织,天性使然." -- Bob Taylor,ARPANET缔造者(1932 ...

  9. 企业以太坊联盟:区块链挑战者

    5月初,印度IT服务和咨询巨头Wipro宣布已加入企业以太坊联盟(EEA),成为创始成员.该联盟围绕基于开放源码区块链的平台Ethereum而形成,于2月底正式推出,其中30个创始成员开发企业级区块链 ...

最新文章

  1. java web学习项目20套源码完整版
  2. node软件环境安装
  3. 郑州大学计算机科学复试分数线,2021郑州大学考研复试线发布,计算机大涨,部分热门专业达406分...
  4. python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库
  5. [转载] Python正则表达式(含正则表达式速查表)
  6. [HDOJ]1001. Sum Problem
  7. python常用的颜色英文表达_python常用颜色
  8. 【单片机】keil 2032
  9. Linux下查看CPU、内存占用率
  10. 如何申请注册在国内可以登录使用国外邮箱?
  11. 遇险哪里还有空报警?求救app告诉你,有的
  12. Ubuntu杀死进程
  13. 用 screen 做串口终端
  14. 西安交通大学计算机组成实验报告,西安交通大学实验报告
  15. MATLAB在线文档打不开,怎么解决
  16. 2021这一年 | 用数字技术实现普惠金融
  17. 应届毕业生的月薪11K,了解一下(学员感言)
  18. Centos7安装MPICH3在配置安装目录时出现问题
  19. 真小白|一步步教你用Python抓取微信好友分析
  20. bash和shell_Bash和Shell扩展:懒惰的列表制作

热门文章

  1. oracle序列无缓存,oracle 序列跳号现象
  2. Java读取文件转换成byte[]的小结
  3. VMware 日记一:基础的系统安装和基本配置解析
  4. Tms320F28335中PWM触发ADC16路级联顺序采样
  5. xshell安装及使用
  6. 2013应届毕业生各大IT公司待遇整理汇总篇(转)
  7. ipynb转py命令
  8. 131-从键盘输入一个字符串,将其中的小写字母全部换成大写字母,然后输出到一个磁盘文件
  9. Linux内核源码介绍
  10. 第十六章 二次根式 教案