solidity语言介绍以及开发环境准备

solidity语言介绍以及开发环境准备

2023年7月13日发(作者:)

solidity语⾔介绍以及开发环境准备Solidity 是⼀门⾯向合约的、为实现智能合约⽽创建的⾼级编程语⾔。这门语⾔受到了 C++,Python 和 Javascript 语⾔的影响,设计的⽬的是能在以太坊虚拟机(EVM)上运⾏。Solidity 是静态类型语⾔,⽀持继承、库和复杂的⽤户定义类型等特性。它的语法接近于Javascript,是⼀种⾯向对象的语⾔。但作为⼀种真正意义上运⾏在⽹络上的去中⼼合约,它⼜有很多的不同,下⾯列举⼀些:以太坊底层是基于帐户,⽽⾮UTXO的,所以有⼀个特殊的Address的类型。⽤于定位⽤户,定位合约,定位合约的代码(合约本⾝也是⼀个帐户)。由于语⾔内嵌框架是⽀持⽀付的,所以提供了⼀些关键字,如payable,可以在语⾔层⾯直接⽀持⽀付,⽽且超级简单。存储是使⽤⽹络上的区块链,数据的每⼀个状态都可以永久存储,所以需要确定变量使⽤内存,还是区块链。运⾏环境是在去中⼼化的⽹络上,会⽐较强调合约或函数执⾏的调⽤的⽅式。因为原来⼀个简单的函数调⽤变为了⼀个⽹络上的节点中的代码执⾏,分布式的感觉。最后⼀个⾮常⼤的不同则是它的异常机制,⼀旦出现异常,所有的执⾏都将会被回撤,这主要是为了保证合约执⾏的原⼦性,以避免中间状态出现的数据不⼀致。代码⽰例:pragma solidity ^0.4.20;contract HelloWorld{ uint balance; function HelloWorld() { balance = **;

}

function update(uint amount) returns (address, uint){ balance += amount; return (, balance); }}⼯欲善其事必先利其器,下⾯介绍开发的IDE以及环境搭建:可⽤的 Solidity 集成Remix基于浏览器的 IDE,集成了编译器和 Solidity 运⾏时环境,不需要服务端组件。IntelliJ IDEA pluginIntelliJ IDEA 的 Solidity 插件(可⽤于其他所有的 JetBrains IDE)Visual Studio ExtensionMicrosoft Visual Studio 的 Solidity 插件,包含 Solidity 编译器。Package for SublimeText — Solidity language syntaxSublimeText 编辑器的语法⾼亮包。EtheratomAtom 编辑器的插件,⽀持⾼亮、编译和运⾏时环境(兼容后端节点和虚拟机)。Atom Solidity LinterAtom 编辑器的插件,提供 Solidity 语⾔的 Lint 检查(静态检查)。Atom Solium LinterAtom 的可配置的 Solidty 静态检查器,基于 Solium。Solium⼀种静态检查器,识别和修复 Solidity 中的风格以及安全问题。Solhint⼀种静态检查器,提供安全和风格指南以及智能合约验证的最佳实践规则。Visual Studio Code extensionMicrosoft Visual Studio Code 插件,包含语法⾼亮和 Solidity 编译器。Emacs SolidityEmacs 编辑器的插件,提供语法⾼亮和编译错误报告。Vim SolidityVim 编辑器的插件,提供语法⾼亮。Vim SyntasticVim 编辑器的插件,提供编译检查。不再维护:Mix IDE基于 Qt 的 IDE,可以设计、调试和测试 Solidity 智能合约。Ethereum Studio专门的⽹页 IDE,也提供⼀个完整以太坊环境的脚本访问。Solidity ⼯具列表DappSolidity 语⾔的构建⼯具、包管理器以及部署助⼿。Solidity REPL⼀个命令⾏控制台,可以让你⽴刻尝试 Solidity 语⾔。solgraph可视化的 Solidity 控制流,并能标明潜在的安全漏洞。evmdisEVM 反汇编程序,可以执⾏字节码的静态分析,能提供⽐ EVM 操作更⾼级的抽象。DoxitySolidity 语⾔的⽂档⽣成器。第三⽅ Solidity 解析器和语法solidity-parserJavaScript 的 Solidity 解析器Solidity Grammar for ANTLR 4ANTLR 4 解析器⽣成器的 Solidity 语法我个⼈主要atom配合 Remix开发的,下⾯介绍⼀下Remix的使⽤功能这⾥我们使⽤在线编译器,打开⽹址image⽂件夹管理最左边是⽂件夹管理,⾥⾯列出了当前的⼯作区⾥的⽂件,remix可以⽀持从本地⽂件夹读取⽂件。⼯作区正中间是⼯作区,⼯作区上半部是代码编辑区,在这⾥可以写solidity合约。下半部是⽇志区,在执⾏智能合约时,会显⽰transaction相关的信息。在输出⽇志的时候还可以查看Details和Debug信息。功能区最右边的是功能区,⾥⾯有编译,运⾏,设置和分析以及调试器和⽀持。在编译器点击Details可以查看编译细节,⾥⾯有NAME,METADATA,BYTECODE,ABI 等⼀些相关信息。image在设置⾥⾯可以选择我们的编译器版本,和⼀些IDE的使⽤设置。其他就不介绍了,使⽤是很简单的。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689192950a219044.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信