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

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

目录
相关文章
|
10天前
|
存储 供应链 安全
探索区块链技术在供应链管理中的应用
【4月更文挑战第26天】 随着数字化时代的深入发展,区块链技术凭借其不可篡改性、透明度和去中心化特性,正在逐步渗透到各行各业,特别是在供应链管理领域展现出巨大潜力。本文将详细分析区块链技术如何优化供应链流程,提升效率与安全性,并探讨其在实际业务中的应用案例和面临的挑战。通过技术原理解析与实践案例相结合的方式,旨在为读者提供一个全面了解区块链在供应链管理中应用的窗口。
|
11天前
|
传感器 供应链 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的新进展与融合应用
【4月更文挑战第25天】 随着科技的迅猛发展,新兴技术如区块链、物联网(IoT)、虚拟现实(VR)等正在不断突破传统边界,引领着新一轮的产业变革。本文将深入探讨这些技术的当前发展趋势、面临的挑战以及在不同领域的创新应用场景。区块链技术以其不可篡改和去中心化的特性,在金融、供应链管理中发挥着越来越重要的作用;物联网通过智能设备的互联互通,实现数据的高效收集与分析,推动智慧城市和智能家居的发展;而虚拟现实则在游戏娱乐、教育培训等领域提供了沉浸式的体验。这些技术的融合与交叉应用,预示着一个更加互联、智能和虚拟的未来。
|
4天前
|
存储 供应链 安全
区块链技术在供应链管理中的应用及挑战
【5月更文挑战第2天】 随着数字化转型的不断深化,区块链技术作为一项创新技术,其在供应链管理领域的应用逐渐显现出独特的价值。本文将深入探讨区块链在供应链中的实际应用案例,分析其如何增强供应链透明度、提升效率以及保障商品的真实性和安全性。同时,也将剖析在实施过程中遭遇的技术挑战、法律监管问题以及与现有系统的兼容性问题,并提出相应的解决策略,以期为企业实现更高效、更安全的供应链管理提供参考。
13 1
|
6天前
|
供应链 Java API
Java 8新特性解析及应用区块链技术在供应链管理中的应用与挑战
【4月更文挑战第30天】本文将深入探讨Java 8的新特性,包括Lambda表达式、Stream API和Optional类等。通过对这些新特性的详细解析和应用实例,帮助读者更好地理解和掌握Java 8的新技术。
|
6天前
|
存储 供应链 安全
区块链技术原理及应用:深入探索分布式账本技术
【4月更文挑战第30天】区块链,从加密货币的底层技术延伸至多元领域,以其分布式账本、去中心化、不可篡改性及加密技术重塑数据存储与交易。核心组件包括区块、链和节点,应用涵盖加密货币、供应链管理、金融服务等。尽管面临扩展性等挑战,未来潜力无限。
|
7天前
|
供应链 安全 物联网
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【4月更文挑战第29天】 随着科技的快速发展,新兴技术如区块链、物联网、虚拟现实等正在逐渐改变我们的生活。本文将深入探讨这些新兴技术的发展趋势和应用场景,以及它们如何影响我们的日常生活和工作。
|
7天前
|
人工智能 供应链 安全
探索区块链技术在供应链管理中的应用
【4月更文挑战第29天】 随着数字化转型的不断深入,传统供应链管理模式正面临诸多挑战。透明度不足、效率低下以及安全性问题成为制约供应链发展的关键因素。本文将探讨区块链技术如何为供应链管理带来革新性的影响,通过其不可篡改的数据记录、去中心化的网络结构和增强的安全性,提升整个供应链的透明度和效率。我们将分析区块链在供应链金融、产品追溯和智能合约等方面的应用实例,并讨论实施过程中面临的技术挑战及未来发展趋势。
|
7天前
|
供应链 区块链 数据安全/隐私保护
构建未来:区块链在供应链管理中的创新应用
【4月更文挑战第29天】 随着数字化转型的不断深入,区块链技术已从加密货币的阴影中走出,成为供应链管理领域创新实践的重要推动力。本文将探讨区块链如何优化供应链流程、提升透明度与效率,并保障数据安全。通过分析具体案例和最新技术进展,我们将揭示区块链对现代供应链管理的深远影响。
|
12天前
|
存储 供应链 安全
区块链技术在供应链管理中的应用
【4月更文挑战第24天】 随着数字化转型的不断推进,区块链技术已成为革新供应链管理的强有力工具。本文将深入探讨区块链技术在供应链管理中的具体应用,包括提高透明度、增强安全性和优化物流效率等方面。通过对现有案例的分析,我们展示了区块链如何助力企业构建更为可靠和高效的供应链体系。
11 0
|
13天前
|
存储 供应链 安全
区块链技术在供应链管理中的应用
【4月更文挑战第23天】 随着数字化转型的加速,区块链技术作为一种创新的分布式账本技术,正在逐步渗透到各行各业。尤其在供应链管理领域,区块链的特性如不可篡改性、透明性和去中心化等,为提高供应链透明度、减少欺诈行为、优化库存管理等方面提供了新的可能性。本文旨在探讨区块链技术在供应链管理中的具体应用,分析其在跟踪溯源、智能合约、支付结算等方面的实际效益,并讨论实施过程中可能遇到的挑战与解决方案。

热门文章

最新文章