• 浅谈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的Ðapp可用。

    下面的例子会向你展示如何通过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,您只需要一个加密钱包和一个互联网连接。

  • 相关阅读:
    常见的数值转换函数
    超声波清洗机好用吗?哪家超声波清洗机好?不错超声波清洗机推荐
    DNS服务器未响应是什么意思
    PowerBI 8月更新,数据标签条件格式
    day1 计算机硬件基础
    康力源体育IPO过会:年营收7亿 衡墩建控制98%股权
    深度学习在岩土工程应用及PFC离散元数值模拟应用
    修改cdh6.3.2集群内部弱口令步骤
    Java语言中的文件数据流
    雷达探测项目仿真代码(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/m0_54853503/article/details/126366851