二维码

13.1 简介 - 数据结构 - 机器学习

1228 人阅读 | 时间:2021年01月15日 01:17
13.1 简介 - 数据结构 - 机器学习 #daohang ul li t,.reed .riqi,a.shangg,a.xiatt,a.shangg:hover,a.xiatt:hover,a.shang,a.xiat,a.shang:hover,a.xiat:hover,.reed-pinglun-anniu,span.now-page,#daohangs-around,#caidan-tubiao,#daohangs,#daohangs li,#btnPost{background-color:#D10B04;} .dinglanyou1 h3{border-bottom:3px solid #D10B04;} #dibuer{border-top:2px solid #D10B04;}.cebianlan .rongqi h3{border-bottom:1px solid #D10B04;} #edtSearch{border:1px solid #D10B04;} #daohang .zuo ul li{border-right:1px solid #;} #daohang ul li t a{border-top:1px solid #;border-right:1px solid #D10B04;} #daohang ul li t a:hover{border-right:1px solid #;} #daohang .you ul li a:hover,#daohang .zuo ul li a:hover,.reed-pinglun-anniu:hover{background-color:#;} a:hover,.reed h6 a:hover,#dibuer a:hover,.reed .riqiding,.cebianlan .rongqi li a:hover,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.shu a,#pinglun-liebiao ul.fubens li.depth-1 dl dd span.huifuliuyan a:hover,.reed-biaoti h6 span{color:#D10B04;} .reed .kan a{color:#0A0AF5;}.reed .kan a:hover{color:#D10101;} @media screen and (max-width:1492px){a.shang,a.xiat{background:none;} a.xiat:hover,a.shang:hover{background-color:#f9f9f9;background-image:none;text-decoration:none;}} var _hmt = _hmt || [];(function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b19db5ba3b437a9e8698d2bc8fc64334"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2d748c9763cfc72fb7d1ccab29f0770d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f6d451f3f1be23f3abf240c64c469c1b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

当前位置:首页 » 区块链精品文章 » 正文

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646201", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646162", container: s }); })();

13.1 简介

1131 人参与  2018年09月29日 11:13  分类 : 区块链精品文章  评论

区块链应用,一般由若干部署在区块链网络中的智能合约,以及调用这些智能合约的应用程序组成。

典型的区块链应用程序的工作过程如图13-1所示。其中,用户专注于与业务本身相关的应用程序;智能合约则封装了与区块链账本直接交互的相关过程,被应用程序调用。

13.1 简介 - 数据结构 - 机器学习

图13-1 区块链应用程序

为了实现完整的运行在区块链之上的分布式应用,开发者不仅需要开发上层应用,还需要编写智能合约代码。

智能合约往往是无状态的、事件驱动的代码。被调用时智能合约会自动执行合约功能,支持进行图灵完备的计算。智能合约可以 操作账本中的状态,这些状态往往记录着与业务相关的重要数据(例如,资产的拥有者)。应用程序通过向区块链网络发送交易来调用智能合约。同一个区块链网络 可以部署多个智能合约,应用程序通过名称、版本号来指定具体调用哪个智能合约。

在需要访问控制的场景下,应用程序还需从CA处获取证书,得到访问区块链网络的许可。

1.智能合约开发

智能合约直接与账本结构打交道,处于十分核心的位置。智能合约代码本质上是为了对上层业务逻辑进行支持。设计得当的智能合约可以简化上层应用开发的过程;反之则可能导致上层应用开发中碰到障碍。

智能合约最终会部署在区块链网络中与账本进行交互。开发者需要了解所选用区块链平台的智能合约结构、语言特性、状态存储 方式等知识。比如,比特币网络为代表的区块链并不支持高级语言,所支持的处理逻辑也会受到限制。而超级账本Fabric项目支持了包括Go语言在内的多种 高级语言,并支持图灵完备的处理逻辑,可以支持开发更复杂的上层应用。

此外,开发者还需要对智能合约的生命周期管理进行考虑,包括代码的编写、版本管理、提交验证,以及升级版本等,都需要遵循一套标准的规范。

本章后续内容会以超级账本Fabric为例,介绍智能合约(链码)的开发与案例。

2.应用程序开发

应用程序通过调用智能合约提供的方法接口来实现业务逻辑。由于离用户侧更贴近,应用程序的开发更为灵活,可以采用已有的主流开发语言进行开发,包括Javascript、Python、Go、Java等。

在运行位置上,应用程序既可以运行在区块链网络的节点上,又可以运行在中心化的服务器上,但必须保证可以访问到智能合约暴露的服务接口。

为了方便对智能合约进行调用,部分区块链平台还提供了命令行工具和SDK。

以超级账本Fabric为例,社区提供的SDK封装了一系列与区块链网络打交道的基本方法,包括发送交易、监听网络事件、查询区块和交易信息等,能够提高对智能合约进行使用的效率。

比如,对于执行智能合约,通过SDK可以很容易地经以下4个步骤完成一次完整的调用和确认。

·从CA获取合法的身份证书;

·构造合法的交易提案提交给Endorser节点进行背书;

·收集到足够多Endorser支持后,构造合法的交易请求,发给Orderer节点进行排序;

·监听事件,确保交易已经写入账本。

Fabric目前分别有Node.Js、Python、Java、Go等语言的SDK,开发者可以根据应用程序的特点和开发环境自由选择。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=897

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646186", container: s }); })();
(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646175", container: s }); })();
搜索

网站分类

标签列表

最近发表

    (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!

jQuery(document).ready(function($){ /* prepend menu icon */ $('#daohangs-around').prepend('
'); /* toggle nav */ $("#caidan-tubiao").on("click", function(){ $("#daohangs").slideToggle(); $(this).toggleClass("active"); }); });

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×