智能合约系统开发原理介绍丨智能合约开发源码详情

技术开发(电报:@nft119 ​ )智能合约系统软件开发详情介绍:

  以太坊智能合约是运行在以太坊虚拟机EVM中的一段程序,它可以按照既定规则自动执行合约条款。

  它具有以下特征:

  分布式:智能合约分布在以太坊全部节点中,可自由被拷贝和分配

  一致性:在满足要求的状况下,智能合约仅实行其预先设计的操作

  自动化:智能合约能够自动执行各种任务

  不可篡改:智能合约一经部署,则无法更改

  定制化:在部署前,智能合约能够利用多种不同方式进行编码

  无需信任:两方或多方能够利用智能合约开展互动,而不用相互了解或取得信任

  透明性:智能合约依托于公有区块链,对任何人都是透明的

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

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

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

  Fabric中的Peer节点提供了调用智能合约相关服务的接口。用户的应用程序可以通过使用此类型服务和Fabric Peer进行交互

全部评论

相关推荐

昨天 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
07-11 11:10
门头沟学院 Java
请问各位大三兄弟们跟hr说多久实习时间到时候可以提前跑路吗?
程序员小白条:问就是六个月以上,可以一年,实习都这样,你入职后想跑就跑
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务