IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 浅谈Solidity智能合约DAPP项目系统开发技术逻辑(Solidity语言框架) -> 正文阅读

[区块链]浅谈Solidity智能合约DAPP项目系统开发技术逻辑(Solidity语言框架)

Smart contracts are an indispensable part of the blockchain technology world.These contracts are software programs that perform specific tasks between two or more participants when specified conditions are met.In essence,it is like a self executing regular contract,which does not require mediation because it depends on its programming value.

区块链的安全性保证了代码不可被任何人篡改,开发V+I8O系2857统8624代码正确执行(有bug的另说),执行结果不可篡改,并可以予以公开透明的展示。
  在这里插入图片描述

合约很典型地用诸如Solidity等高级语言写成,然后编译成字节代码上传到区块链上。

ETH高级语言

合约依靠被称作ETH虚拟机(EVM)字节代码(ETH特有的二进制格式)上的区块链运行。如有系统开发需求对接V:StPv888然而,合约很典型地用诸如Solidity等高级语言写成,然后用ETH虚拟机编译器编译成字节代码上传到区块链。

编译合约

solidity合约的编译可以通过很多机制完成。

通过命令行使用solc编译器。

在geth或eth提供的javascript控制台使用web3.eth.compile.solidity(这仍然需要安装solc编译器)。

在线Solidity实时编译器。

建立solidity合约的Meteor dapp Cosmo。

Mix IDE。

ETH钱包。

注意:关于solc和编译Solidity合约代码的更多信息可在此查看。

在geth设置solidity编译器

如果你启动了geth节点,就可以查看哪个编译器可用。

这一指令会返回到显示当前哪个编译器可用的字符串。

注意:solc编译器和cpp-ethereum一起安装。或者,你可以自己创建。

如果你的solc可执行文件不在标准位置,可以用—solc标志为solc可执行文件指定一个定制路线

或者你可以通过控制台在执行期间设置这个选项:

编译一个简单合约

让我们编译一个简单的合约源:

这个合约提供了一个单一方法multiply开发V+I8O系2857统8624,它和一个正整数a调用并返回到a*7。
  在这里插入图片描述

注意:编译器通过RPC因此也能通过web3.js,对浏览器内任何通过RPC/IPC连接到geth的Dapp可用。

下面的例子会向你展示如何通过JSON-RPC接合geth来使用编译器。

Code编译的ETH虚拟机字节代码

Info从编译器输出的额外元数据

Source源代码

Language合约语言(Solidity,Serpent,LLL

LanguageVersion合约语言版本

compilerVersion用于编译这个合约的solidity编译器版本。

abiDefinition应用的二进制界面定义

userDoc用户的NatSpec Doc。

developerDoc开发者的NatSpec Doc。

编译器输出的直接结构化(到code和info)反映了两种非常不同的部署路径。编译的ETH虚拟机代码和一个合约创建交易被发送到区块,剩下的(info)在理想状态下会存活在去中心化云上,公开验证的元数据则执行区块链上的代码。

如果你的源包含多个合约,本文由V_StPv888整理发布输出会包括每个合约一个入口,对应的合约信息对象可以用作为属性名称的合约名字检索到。你可以通过检测当前的GlobalRegistrar代码来试一下:

在这里插入图片描述

编码智能合约

以太坊智能合约是使用以太坊的主要编码语言Solidity创建的。与其他面向对象的编程语言不同,Solidity是面向合约的。它使用的高级语言即模仿人类指令的表达方式。这种语言与JavaScript非常相似。它通过统计类型化,本文由V_StPv888整理发布并支持继承、库和复杂的用户定义功能。

Solidity的智能合约

Solidity智能合约是用Solidity语言编程的智能合约,并编译为以太坊虚拟机或EVM的字节码。扎实性是在为以太坊编码时需要学习的关键语言。

什么是dApp?

dApp与常规应用程序类似,但它们在点对点网络(例如区块链)上运行。

然而,与传统应用程序不同的是,dApp无需任何人工干预即可运行,不归任何实体所有,而是将代币分发给代表所有权的用户。要连接到dApp,您只需要一个加密钱包和一个互联网连接。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:11:13  更:2022-08-19 19:12:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:40:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码