0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NFT的Dapp开发智能合约技术

搭建punk2558 来源:搭建punk2558 作者:搭建punk2558 2022-08-30 13:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

智能合约

在各业务彼此进行交互之前,必须先定义一套通用的合约,其中包括通用术语、数据、规则、概念定义和流程。将这些合约放在一起,就构成了管理交易各方之间所有交互的业务模型。

poYBAGMNpYKAUDhYAAGC7N9-rkQ759.png

智能合约用可执行的代码定义了不同组织之间的规则。应用程序调用智能合约来生成被记录到账本上的交易。搭建(punk2558)

使用区块链网络,我们可以将这些合约转换为可执行程序(业内称为智能合约),从而实现了各种各样的新可能性。这是因为智能合约可以为任何类型的业务对象实现治理规则,以便在执行智能合约时自动执行这些规则。例如,一个智能合约可能会确保新车在指定的时间内交付,或者根据预先安排的条款释放资金,前者可改善货物流通,而后者可优化资本流动。然而最重要的是,智能合约的执行要比人工业务流程高效得多。

在上图中,我们可以看到组织ORG1和ORG2是如何通过定义一个car智能合约来实现查询、转移和更新汽车的。来自这些组织的应用程序调用此智能合约执行业务流程中已商定的步骤,例如将特定汽车的所有权从ORG1转移到ORG2。

poYBAGMNpbKAPAC5AACdFE2KyQ8663.png

一个智能合约定义在一个链码中。而多个智能合约也可以定义在同一个链码中。当一个链码部署完毕,该链码中的所有智能合约都可供应用程序使用。

从上图中我们可以看到,vehicle链码包含了以下三个智能合约:cars、boats和trucks;而insurance链码包含了以下四个智能合约:policy、liability、syndication和securitization。以上每种智能合约都涵盖了与车辆和保险有关的业务流程的一些关键点。在本主题中,我们将以car智能合约为例。我们可以看到,智能合约是一个特定领域的程序,它与特定的业务流程相关,而链码则是一组相关智能合约安装和实例化的技术容器。

账本

以最简单的方式来说,区块链记录着更新账本状态的交易,且记录不可篡改。智能合约以编程方式访问账本两个不同的部分:一个是区块链(记录所有交易的历史,且记录不可篡改),另一个是世界状态(保存这些状态当前值的缓存,是经常需要用到的对象的当前值)。

智能合约主要在世界状态中将状态写入(put)、读取(get)和删除(delete),还可以查询不可篡改的区块链交易记录。

读取(get)操作一般代表的是查询,目的是获取关于交易对象当前状态的信息。

写入(put)操作通常生成一个新的业务对象或者对账本世界状态中现有的业务对象进行修改。

删除(delete)操作代表的是将一个业务对象从账本的当前状态中移除,但不从账本的历史中移除。

智能合约有许多可用的API。但重要的是,在任意情况下,无论交易创建、读取、更新还是删除世界状态中的业务对象,区块链都包含了这些操作的记录,且记录不可更改。

开发

智能合约是应用程序开发的重点,正如我们所看到的,一个链码中可定义一个或多个智能合约。将链码部署到网络中以后,网络上的组织就都可以使用该链码中的所有智能合约。这意味着只有管理员才需要考虑链码;其他人都只用考虑智能合约。

智能合约的核心是一组交易定义。例如,在fabcar.js中,你可以看到一个创建了一辆新车的智能合约交易:

async createCar(ctx,carNumber,make,model,color,owner){

const car={

color,

docType:'car',

make,

model,

owner,

};

await ctx.stub.putState(carNumber,Buffer.from(JSON.stringify(car)));

}

在编写您的第一个应用程序教程中,您可以了解更多关于Fabcar智能合约的信息。

智能合约几乎可以描述所有与多组织决策中数据不可变性相关的业务案例。智能合约开发人员的工作是将一个现有的业务流程(可能是管理金融价格或交付条件)用JavaScript、GOLANG或Java等编程语言来表示成一个智能合约。将数百年的法律语言转换为编程语言需要法律和技术方面的技能,智能合约审核员们不断地实践着这些技能。您可以在开发应用程序主题中了解如何设计和开发智能合约。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【2026年全新】 Agentic AI智能开发行动营

    https://www.bilibili.com/opus/1178756596191199237 2026人工智能新方向:智能开发必学教程(技术篇) 进入2026年,大模型的竞技
    发表于 04-30 10:33

    九天菜菜大模型agent智能开发实战2026一月班

    自主 AI 新范式:大模型 Agent 开发实战火爆开课 在科技浪潮汹涌澎湃的当下,人工智能领域正经历着一场深刻变革,大模型 Agent 开发实战课程如璀璨新星般闪耀登场,迅速成为科技圈的热门焦点
    发表于 04-15 16:04

    无线生活,“蓝牙”相连——探索蓝牙技术智能连接世界

    技术: 通过频繁切换通信频率,有效抵抗干扰,提升通信安全性与稳定性。 四、典型应用场景 无线耳机| 智能穿戴 | 车载系统 | 智能家居 | 健康监测 | 工业传感 蓝牙技术以“无线连
    发表于 04-09 10:13

    智能检测】基于AI深度学习与飞拍技术的影像测量系统:实现高效精准的全自动光学检测与智能制造数据闭环

    内容概要:文档内容介绍了中图仪器(Chotest)影像测量仪融合人工智能深度学习与飞拍技术的自动化检测解决方案。系统通过AI深度学习实现抗干扰能力强、自适应高的智能寻边,精准识别复杂工件边界
    发表于 03-31 17:11

    【2025夏季班正课】大模型Agent智能开发实战 课分享

    【2025年12月班】大模型与Agent智能开发实战] 拒绝碎片化:体系化学 Agent 开发方法的技术深度剖析 在当今的人工智能应用
    发表于 03-29 16:12

    无线生活,“蓝牙”相连——探索蓝牙技术智能连接世界

    通信安全性与稳定性。四、典型应用场景无线耳机 | 智能穿戴 | 车载系统 | 智能家居 | 健康监测 | 工业传感蓝牙技术以“无线连接,智能生活”为核心理念,持续赋能个人设备与物联网系
    发表于 02-11 09:27

    开发智能体调试与预览---真机测试

    1、开发者可在智能体调试与预览区域,点击真机测试图标-点击【白名单】跳转至智能体白名单配置页面。 2、勾选用于测试的群组,点击屏幕左侧【编排】返回智能体编排页面进行真机测试发布。若无可
    发表于 02-09 15:37

    开发智能体配置-内容合规

    是否涉及人工智能生成的内容,开发者需按照国家法律规定如实在这里填写申报。 人工智能生成合成内容标识填写说明: 本文参考鸿蒙官方文档
    发表于 02-07 11:44

    小艺开放平台鸿蒙智能开发智能体配置-基础信息

    创建智能体后,开发者可以进入智能体配置页面对智能体基础信息进行编辑。支持编辑智能体图标、智能体名
    发表于 02-02 16:47

    《人工智能应用开发-中级(大模型)》认证证书含金量如何?怎么考?

    在国家《新一代人工智能发展规划》及“人工智能+”行动的双重推动下,人工智能与大模型技术已成为驱动产业智能化升级的核心力量。目前,大模型应用
    的头像 发表于 01-28 15:11 1145次阅读
    《人工<b class='flag-5'>智能</b>应用<b class='flag-5'>开发</b>-中级(大模型)》认证证书含金量如何?怎么考?

    无线生活,“蓝牙”相连——探索蓝牙技术智能连接世界

    通信安全性与稳定性。四、典型应用场景无线耳机 | 智能穿戴 | 车载系统 | 智能家居 | 健康监测 | 工业传感蓝牙技术以“无线连接,智能生活”为核心理念,持续赋能个人设备与物联网系
    发表于 01-14 09:23

    聆思大模型智能FAE,看得懂技术,答得准问题

    聆思大模型智能FAE,看得懂技术,答得准问题 在智能硬件开发的嵌入式技术支持中,响应迟缓、人员培训成本高企、服务时间覆盖不足等痛点,常常制约
    发表于 09-30 11:29

    【今晚7点半】正点原子 x STM32:智能加速边缘AI应用开发!今晚正点原子B站直播间等你

    【联合直播】正点原子 x STM32:智能加速边缘AI应用开发! 一、直播介绍 随着人工智能技术在边缘计算领域的快速发展,STM32系列芯片凭借其卓越的性能与丰富的生态,成为众多智能
    发表于 09-25 14:14

    嵌入式开发就业还有前景吗?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、
    发表于 07-16 10:47

    如果 PD 合约不匹配,BCR 是否仍会打开 SINK_FET_EN POWER_DRILL2GO路径?

    BCR 具有 SINK_FET_EN 和 SAFE_PWR_EN 引脚来控制POWER_DRILL2GO消耗路径。 如果 PD 合约不匹配,BCR 是否仍会打开 SINK_FET_EN POWER_DRILL2GO路径?或者只打开 SAFE_PWR_EN POWER_DRILL2GO路径?
    发表于 05-23 08:01