关于币安链智能合约系统dapp系统开发技术讲解(原理分析)

简介: 关于币安链智能合约系统dapp系统开发技术讲解(原理分析)

 智能合约,就是一种运行在区块链上的程序。和普通程序不同的是,智能合约要保证在区块链网络的每一个节点中运行的结果完全相同,这样才能使任何一个节点都可以验证产出节点生成的区块里,智能合约执行的结果对不对。

  因此,以太坊提供了一个EVM(Ethereum Virtual Machine)虚拟机来执行智能合约的字节码,并且,和普通程序相比,为了消除程序运行的不确定性,智能合约有很多限制,例如,不支持浮点运算(因为浮点数有不同的表示方法,不同架构的CPU运行的浮点计算精度都不同),不支持随机数,不支持从外部读取输入等等。

  类似于Java源码被编译为JVM可执行的字节码,本文由V_StPv888整理发布我们也需要一种高级语言来编写智能合约,然后编译成EVM的字节码。最常用的开发智能合约的语言是以太坊专门为其定制的Solidity语言,后续我们会详细介绍Solidity的用法。

  一个智能合约被编译后就是一段EVM字节码,将它部署在以太坊的区块链时,会根据部署者的地址和该地址的nonce分配一个合约地址,合约地址和账户地址的格式是没有区别的,但合约地址没有私钥,也就没有人能直接操作该地址的合约数据。要调用合约,唯一的方法是调用合约的公共函数。

  DApp是通过智能合约构建起来的——智能合约指的是在区块链上以确定性运行的编码逻辑的程序(即如果发生x事件,则自动执行y操作)。我们目前看到的大多数dApp都是由多个智能合约构建而成的,形成了一个个具有特定用例的应用程序。

  DApp所需的六个最基本的功能:

  1、结算:本质上是整个区块链分类账中的子分类账。它们由一些智能合约组成,这些智能合约用于分配资产所有权并定义存入资产如何在dApp中交互。

  2、计算:包含着带有程序逻辑的智能合约,要想对这些逻辑进行处理,必须要在最终状态更改生成前执行。

  3、存储:为了方便用户能够在其Web浏览器中与dApp进行交互,它需要选择适合自己的存储解决方案来托管用户界面(UI)。

  4、资金:通常拥有原生数字资产和/或通过其他用户存入的数字资产作为其服务的一部分。

  5、服务:需要一些链下服务的辅助来完成其链上功能和持续的维护,例如访问外部数据、交易排序、隐私生成、零售银行支付、企业后端系统、其他区块链、管理员机器人、数据索引、传统API、可验证的随机性、储备证明、区块链抽象层或任何类型的在本地区块链无法使用或无实用价值的链下数据或服务。

  6、治理:为了可以持续开展开发和维护决策,不同形式的社区治理是有必要存在的。发行治理代币,可以让用户来决定协议的未来方向,用户会因为参与了治理而获得一些奖励的收入。

  目前区块链有两大公认的智能合约公链,一个是以太坊智能合约,另一个则是波场智能合约。以太坊智能合约我们都知道gas费比较高,动辄几十上百的gas费很多用户表示接受不了,而波场智能合约则很便宜,而且转账速度极快,几乎秒到!所以越来越多的DAPP智能合约在波场公链上发行。

相关文章
|
存储 安全 算法
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
248 5
|
网络协议 Linux 开发工具
开发指南 | OpenWrt免费内嵌花生壳PHTunnel实现内网穿透
本文将详解如何把花生壳PHTunnel封装成一个OpenWrt标准组件,并编译到自己的OpenWrt固件中,实现内网穿透功能。
开发指南 | OpenWrt免费内嵌花生壳PHTunnel实现内网穿透
|
11月前
|
存储 人工智能 数据挖掘
体验《AI大模型助力客户对话分析》
体验《AI大模型助力客户对话分析》
|
10月前
|
监控 持续交付 API
深入理解云计算中的微服务架构:原理、优势与实践
深入理解云计算中的微服务架构:原理、优势与实践
461 83
|
Arthas 前端开发 Java
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
|
11月前
|
存储 安全 数据安全/隐私保护
探究现代操作系统的架构与优化策略
本文旨在深入探讨现代操作系统的核心架构及其性能优化方法。通过分析操作系统的基本组成、关键技术和面临的挑战,揭示如何通过技术手段提升系统效率和用户体验。不同于传统的技术文章摘要,这里不罗列具体研究方法和结果,而是以简明扼要的语言概述文章的核心内容和思考方向,为读者提供宏观视角和技术深度。 生成
228 3
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在文本生成中的应用与挑战
【8月更文挑战第31天】本文将探讨AI技术在文本生成中的应用和面临的挑战。我们将介绍一些常见的AI文本生成模型,如循环神经网络(RNN)和变分自编码器(VAE),并通过代码示例展示如何使用这些模型进行文本生成。最后,我们将讨论AI文本生成技术面临的一些挑战,如生成质量、多样性和可控性等。
|
Linux Windows
如何检测cpu是否支持avx2
【4月更文挑战第16天】如何检测cpu是否支持avx2
8850 0
|
数据安全/隐私保护 索引
基于SpringBoot+Vue的宠物领养饲养交流管理平台设计与实现
基于SpringBoot+Vue的宠物领养饲养交流管理平台设计与实现
545 0
|
数据采集 缓存 监控
HTTP与URL基础解析及简单示例实践
HTTP与URL基础解析及简单示例实践

热门文章

最新文章