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

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

目录
相关文章
|
4月前
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
352 3
|
8月前
|
存储 供应链 API
区块链技术在电商API中的应用:保障数据安全与交易透明
区块链技术在电商API中的应用,为数据安全与交易透明提供了新方案。通过数据加密、分布式存储、智能合约管理、商品溯源及实时结算等功能,有效提升电商数据安全性与交易可信度。然而,技术成熟度、隐私保护和监管合规等挑战仍需克服。未来,随着物联网、大数据等技术融合及政策支持,区块链将在电商领域发挥更大潜力,推动行业智能化发展。
|
4月前
|
供应链 安全 算法
区块链技术探索与应用:从密码学奇迹到产业变革引擎
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。以代码为舟,算法为帆,在区块链的浩瀚星河中探索去中心化的未来。从智能合约到DeFi,用极客精神谱写信任新篇章。
区块链技术探索与应用:从密码学奇迹到产业变革引擎
|
存储 安全 区块链
区块链在房地产交易中的应用:革新房产市场的未来
区块链在房地产交易中的应用:革新房产市场的未来
901 80
|
8月前
|
存储 安全 API
区块链技术:为电商API接口应用前景筑牢安全与效率之基
区块链技术凭借其去中心化、透明性、安全性和不可篡改性,为电商API接口带来了全新机遇。它可提升数据安全性、增强交易透明度、优化供应链管理,并降低运营成本。应用场景包括数据加密传输、分布式存储、智能合约权限管理、商品溯源防伪及实时结算。尽管面临性能、隐私保护与监管等挑战,随着技术进步与融合创新,区块链将在电商API中实现更智能、高效的应用,推动行业变革升级。
|
12月前
|
安全 区块链 数据安全/隐私保护
区块链技术在跨境支付中的应用:打破传统,畅行全球支付新时代
区块链技术在跨境支付中的应用:打破传统,畅行全球支付新时代
1523 12
区块链技术在跨境支付中的应用:打破传统,畅行全球支付新时代
|
12月前
|
存储 供应链 安全
区块链在物流管理中的应用:让货物管理变得更智能
区块链在物流管理中的应用:让货物管理变得更智能
1358 15
|
存储 算法 物联网
区块链在能源交易中的应用:打造去中心化能源市场
区块链在能源交易中的应用:打造去中心化能源市场
613 22
|
存储 供应链 安全
区块链技术在选举中的应用:透明与安全的新时代
区块链技术在选举中的应用:透明与安全的新时代
454 16
|
存储 安全 数据管理
区块链在医疗数据管理中的应用:安全与隐私的新纪元
区块链在医疗数据管理中的应用:安全与隐私的新纪元
885 16

热门文章

最新文章