前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >智能合约简介

智能合约简介

原创
作者头像
小亮
修改2018-12-07 11:27:48
1.6K0
修改2018-12-07 11:27:48
举报
文章被收录于专栏:腾讯云区块链腾讯云区块链

在Fabric中,chaincode(链码)也称为智能合约,是用高级语言编写的一段代码。代码主要是读取和操作账本上的数据。 智能合约是一座连接用户应用和Fabric账本的桥梁。用户的应用直接和智能合约打交道,智能合约直接和Fabric账本进行交互。

一个完整的Fabric区块链应用包含两部分,一部分是用户的应用程序,一部分是用户编写的智能合约。下图展示了用户智能合约和用户的应用程序以及账本交互的过程。用户的应用程序通过区块链网络的Peer节点,调用智能合约。用户智能合约通过区块链网络的Peer节点操作账本数据。整体架构中,用户的应用程序负责以下两部分职责。第一,用户的应用程序根据业务逻辑负责生成需要存储在区块链网络上的数据。第二,用户的应用程序根据业务逻辑,从区块链网络上获取到相关数据,进行业务操作。总体来说,用户应用程序更关注业务本身。智能合约主要是负责封装与账本直接交互的过程,包括按照用户指定的逻辑存储与查询账本数据,供用户应用程序调用。

Fabric中用户编写的智能合约是运行在隔离的沙盒环境中,目前主要展现形态是独立的docker容器。智能合约安装在区块链网络中的Peer节点上,运行时Peer节点会启动单独的docker容器来运行智能合约。智能合约以容器启动后,会与启动智能合约容器的Peer节点建立交互,从而实现对对应Peer节点上账本相关数据的操作。智能合约在运行的过程中,会在对应的Peer节点账本上创建独立的命名空间,命名空间是智能合约的名字,然后在此命名空间中完成键值对的操作。不同智能合约的命名空间不一样,互相之间的数据是独立的,一般情况下智能合约只能访问到属于自己命名空间的键值对。如果一个智能合约想访问另外智能合约的数据,可以通过在智能合约内部调用其他智能合约来实现。

Fabric中的Peer节点提供了调用智能合约相关服务的接口。用户的应用程序可以通过使用此类型服务和Fabric Peer进行交互,Fabric Peer在与智能合约容器进行交互,从而完成应用程序和智能合约之间的交互。用户的应用程序可以通过以下两种方式使用Fabric Peer提供的服务。第一,用户的应用程序直接利用Fabric提供的SDK与Fabric Peer进行交互,具体参看Fabric SDK。第二,用户可以使用腾讯云SDK调用相关的TBaaS云API接口与TBaaS中的Fabric Peer进行交互。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云区块链服务平台 TBaaS
腾讯云区块链服务平台(Tencent Blockchain as a Service,简称TBaaS)致力于打造全球领先的企业级区块链技术平台,帮助客户、开发者及合作伙伴轻松创建和管理可托管、可扩展的区块链网络,助力产业协同发展。TBaaS 支持长安链·ChainMaker、Hyperledger Fabric等区块链底层平台,简化部署、运维及开发流程,实现业务快速上链,提升链上治理效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档