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

简介: 本文节选自电子书《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. 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

本文节选自电子书《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
本文来源:腾讯云 云+社区,如需转载请联系原作者。

目录
相关文章
|
6天前
|
存储 安全 分布式数据库
探索区块链技术在数据安全中的应用
【10月更文挑战第21天】 本文深入探讨了区块链技术在增强数据安全性方面的应用。通过对区块链基本原理的解释,结合其在数据存储、传输和访问控制中的具体实现方式,本文揭示了区块链技术如何有效防止数据篡改和未授权访问。此外,文章还讨论了区块链技术面临的挑战及其未来发展趋势,为读者提供了一个全面了解区块链技术在数据安全领域应用的视角。
25 4
|
21天前
|
供应链 数据可视化 物联网
新技术趋势与应用:区块链、物联网与虚拟现实的融合与创新
本文深入探讨了当前最具变革性的新兴技术——区块链、物联网(IoT)和虚拟现实(VR)的发展趋势及其应用场景。通过分析这些技术的基本原理、独特优势以及实际用例,揭示了它们如何相互促进、融合创新,并共同塑造未来智能化世界的蓝图。文章旨在为读者提供对新技术趋势的全面理解,展现其在不同领域中的广泛应用前景,以及这些技术如何共同推动社会进步和产业升级。
|
4天前
|
人工智能 供应链 安全
探索区块链技术的奥秘与应用
在数字化浪潮中,区块链技术以其独特的去中心化、不可篡改和透明性特点,正逐渐改变着我们的世界。本文旨在深入浅出地解析区块链技术的基本原理,探讨其在金融、供应链管理、版权保护等领域的创新应用,并展望未来发展趋势,为读者揭开这一神秘面纱背后的真实面貌。
|
7天前
|
安全 物联网 区块链
探索未来:区块链技术在物联网和虚拟现实中的融合应用
【10月更文挑战第21天】本文深入探讨了区块链、物联网(IoT)和虚拟现实(VR)这三项前沿技术的发展趋势,并分析了它们如何相互作用以推动创新。我们将通过具体案例来揭示这些技术如何改变我们的工作和生活方式,同时提供对未来发展的一些预测。
|
10天前
|
存储 供应链 监控
如何在供应链行业中应用区块链
【10月更文挑战第26天】区块链在供应链行业的应用包括提高透明度、优化流程、增强安全性和改善金融服务。具体表现为全流程信息记录与追溯、智能合约自动化执行、数据安全与隐私保护、应收账款融资及信用评估等,促进供应链的高效协同与信任建设。
|
8天前
|
供应链 物联网 区块链
未来技术浪潮之巅:区块链、物联网与虚拟现实的应用探索
【10月更文挑战第20天】随着技术的飞速发展,新兴技术如区块链、物联网和虚拟现实正在重塑我们的工作和生活方式。本文将深入探讨这些技术的发展趋势和应用场景,并展示如何通过代码示例实现它们在现实世界中的应用。让我们一起揭开这些技术神秘面纱,探索它们在未来的无限可能!
|
21天前
|
传感器 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【10月更文挑战第7天】随着科技的飞速发展,新兴技术如区块链、物联网、虚拟现实等正在逐渐改变我们的生活。本文将对这些新兴技术的发展趋势和应用场景进行探讨,并结合代码示例,帮助读者更好地理解这些技术的应用价值和未来发展方向。
|
19天前
|
存储 传感器 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用探索
【10月更文挑战第9天】随着技术的不断进步,区块链、物联网和虚拟现实等新兴技术正逐步渗透到我们的生活中。本文将探讨这些技术如何相互融合,共同推动社会的进步。我们将通过分析它们的发展趋势和应用场景,揭示它们在未来社会中的潜在价值。让我们一起思考如何利用这些技术创造一个更美好的世界。
|
25天前
|
供应链 物联网 区块链
新技术浪潮之巅:探索区块链、物联网与虚拟现实的未来应用图景
【10月更文挑战第3天】在技术日新月异的今天,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正逐步改变我们的工作和生活方式。本文将深入探讨这些技术的发展趋势,通过具体应用场景描绘它们在未来社会中的角色,旨在为读者提供一个关于如何利用这些技术推动创新和解决现实问题的视角。
|
25天前
|
传感器 物联网 新制造
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【10月更文挑战第3天】随着科技的不断进步,新兴技术如区块链、物联网、虚拟现实等正在逐渐改变我们的生活。本文将探讨这些技术的发展趋势和应用场景,并分析它们如何影响我们的未来。
24 2