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等编程语言来表示成一个智能合约。将数百年的法律语言转换为编程语言需要法律和技术方面的技能,智能合约审核员们不断地实践着这些技能。您可以在开发应用程序主题中了解如何设计和开发智能合约。

审核编辑 黄昊宇

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

    评论

    相关推荐

    AICon北京站HarmonyOS技术分william hill官网 开启招募,欢迎开发者踊跃报名

    在人工智能的浪潮中,HarmonyOS以其独特的技术优势,引领着移动应用开发的新趋势。2024年12月14日,在AICon全球人工智能开发与应用大会(北京站)期间 ,将举办以“鸿蒙生态
    的头像 发表于 12-11 16:39 168次阅读
    AICon北京站HarmonyOS<b class='flag-5'>技术</b>分william hill官网
开启招募,欢迎<b class='flag-5'>开发</b>者踊跃报名

    dap协议在DApp开发中的作用

    随着区块链技术的不断发展,去中心化应用(DApp)逐渐成为技术领域的热门话题。DApp以其去中心化、透明性和安全性的特点,为用户和开发者提供
    的头像 发表于 11-22 15:43 198次阅读

    智能马桶脚感方案 TOF传感器选型推荐

    目前正在开发一个智能马桶脚感方案,TOF传感器选型遇到难题了,要么成本高,要么技术难啃,有没有技术大神可以帮助下啊。
    发表于 11-22 09:37

    智能IC卡测试设备的技术原理和应用场景

    智能IC卡测试设备的技术原理和应用场景,可以从以下几个方面进行阐述:技术原理智能IC卡测试设备的技术原理主要围绕IC卡的通信和数据处理机制展
    发表于 09-26 14:27

    LoRa技术农田自动无线智能灌溉系统

    连接。 智能灌溉 智慧农业无线灌溉系统运用了基于扩频通信的超远距离、低功耗 LoRa 无线传输技术,能够对农业中环境温度、湿度、光照强度、土壤墒情等参数进行实时监控,分析处理,从而实现智能化灌溉。 在
    发表于 09-25 17:10

    【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+《智能技术在船舶维护中的应用探索》

    智能技术在船舶维护中的应用探索 本文深入分析了海洋工业中污损生物对船舶性能的负面影响,并探讨了智能技术,尤其是基于树莓派的嵌入式系统设计,如何成为解决这一问题的新途径。污损生物的
    发表于 08-26 22:22

    机智云助力小程序开发:连接智能硬件与智能生活

    随着智能硬件的普及和小程序的兴起,人们的生活越来越依赖于智能化的解决方案。作为物联网领域的领先者,机智云为小程序开发者提供了丰富的支持和功能,帮助他们轻松实现智能硬件与小程序的连接,为
    的头像 发表于 06-15 08:10 419次阅读
    机智云助力小程序<b class='flag-5'>开发</b>:连接<b class='flag-5'>智能</b>硬件与<b class='flag-5'>智能</b>生活

    三星电子推出AI芯片一站式合约制造服务,加速智能时代步伐

    在全球科技飞速发展的今天,三星电子再次凭借其前瞻性的战略眼光和强大的技术实力,引领了新一轮的半导体制造革命。近日,三星电子正式宣布,其合约制造业务将为客户提供一站式服务,以加快人工智能(AI)芯片的制造速度,满足市场对高性能AI
    的头像 发表于 06-13 15:09 469次阅读

    嵌入式开发就业前景怎么样?

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

    请问物联网智能方向主要用什么芯片和技术开发呢?

    各位大侠,现在物联网智能家居智能穿戴等方向这么火热和有前景,这方向一般用什么芯片开发的呢? 如果走这方向目前仅学会51和stm32可以吗? 还需要学哪些知识 ?现在一般这行业使用stm32的多吗?
    发表于 05-15 06:25

    SC171开发套件V2 技术资料

    SC171开发套件V2 技术资料 课程类别 链接 硬件平台介绍及使用(SC171开发套件V2 ) https://bbs.elecfans.com/jishu_2422919_1_1.html 安卓
    发表于 05-10 16:47

    SC171开发套件V1 技术资料

    SC171开发套件V1 技术资料 课程类别 链接 硬件平台介绍及使用(SC171开发套件V1 ) https://bbs.elecfans.com/jishu_2421547_1_1.html 安卓
    发表于 05-09 17:58

    **十万级口语识别,离线自然说技术,让智能照明更懂你**

    随着人工智能技术的普及,智能家居设备开始走进千家万户。而智能照明系统作为其不可或缺的一部分,占据着举足轻重的地位。 所谓智能照明,就是通过语音、手机/平板应用程序、无线面板或遥控
    发表于 04-29 17:09

    鸿蒙NEXT南向开发案例:【智能台灯】

    鸿蒙南向开发智能台灯案例
    的头像 发表于 04-03 18:00 1007次阅读
    鸿蒙NEXT南向<b class='flag-5'>开发</b>案例:【<b class='flag-5'>智能</b>台灯】

    如何提升单片机开发技术

    单片机开发是现代电子技术中的重要分支,其在各个领域都有着广泛的应用。单片机开发技术的提升不仅可以提高工作效率,还可以提高工作质量和创新能力。那么,如何提升单片机
    发表于 01-05 10:14