以太坊智能合约开发指南4(Remix使用上)

Remix是什么?

Remix是一个IDE (integrated development environment 集成开发环境),用于智能合约开发,使用的语言是solidity,是一个基于浏览器的IDE。也是以太坊官方的IDE。

Remix有哪些功能?

  • 开发智能合约(集成了solidity语言的编辑器)
  • 动态调试(debug)智能合约
  • 访问已部署的智能合约的状态和属性
  • 代码分析,给出错误提示,并给出最佳实践的提示
  • 调试和测试Dapp(需要借助于Mist或者其它注入了Web3的工具)

怎么安装?

有两种使用方式,一种是在线方式,直接访问地址 https://remix.ethereum.org/
另一种是本地安装

# 下载源码
git clone https://github.com/ethereum/browser-solidity.git
# 进入源码目录
cd browser-solidity
# 使用npm包管理工具安装remix
npm install
# 启动remix服务
npm start
# 打开浏览器,输入地址http://127.0.0.1:8080

怎么使用?

文件浏览器

IDE左侧是文件浏览器区域,左上角有一排功能按钮。


文件浏览器功能按钮
  • 创建新文件
  • 从硬盘中导入文件
  • 将项目文件上传至github
  • 将项目文件复制到另外一个remix实例中
  • 连接到本地硬盘
solidity编辑器

IDE中部上方是solidity编辑器区域。

  • 每5秒自动保存。
  • 支持多tab
  • 左上角的+-符号可以改变字体大小
  • 自动语法检查,黄色是警告和建议,红色是语法错误
命令行终端(Terminal)

IDE中部下方是一个交互式的命令行终端。

  • 集成了javascript解释器,可以使用js脚本与系统交互。
  • 注入了web3对象(只有在web providerinjected provider两种模式下才有)
功能面板

IDE右侧是功能面板


功能面板
  1. 编译(Compile)
  • 默认每次编辑代码都会自动编译,如果合约有很多依赖,建议关闭自动编译。
  • 详情按钮中有包含编译生成的详细信息。
  1. 运行(Run)
  • 运行环境有三种模式可选:
    • JavaScript VM: 这种模式是在浏览器中模拟一个区块链,合约在这个模拟的沙盒中执行,刷新页面就会使所有数据清空,不会做任何持久化,没有注入web3对象。
    • Injected Provider:连接到包含注入web3对象的源上,例如Mist和Metamask。
    • Web3 Provider:连接到远程节点,需要填写源的url地址和端口,例如geth、ganache等客户端,包含web3对象。
  • Account 当前操作的账户,比如用于发布合约、调用合约方法。
  • Gas Limit 合约交易的gas最大限量。
  • Value 向合约发送以太币。
  • Create 部署合约。相当于new一个合约实例。
  • At Address 假定此地址是所选合约的一个已部署的实例。相当于将地址强制转换为一个合约实例。
  1. 设置(Settings)
  • 编译器版本选择
  • Text Wrap 编辑器自动换行
  • Always use VM at Load 这个不懂
  • Enable Optimization 编译优化,对执行gas做优化,调试期间不要使用,可能会引起行为异常。
  1. 分析(Analysis)
    这里是编译器做静态代码分析的选项,给出相应的警告。
    默认全部勾选,并自动执行。也可以手动执行。
  2. 调试器(Debugger)
    动态调试内容比较多,之后再专门介绍。
  3. 支持(Support)
    这里是一个在线支持的链接,可以在线与remix的开发团队沟通,提交bug或者意见反馈。也可以直接访问地址: https://gitter.im/ethereum/remix

参考文档
https://remix.readthedocs.io/en/latest/

你可能感兴趣的:(以太坊智能合约开发指南4(Remix使用上))