Solidity 神器Remix
1 功能
这里我们使用在线编译器,打开网址
https://ethereum.github.io/browser-solidity
1.1 文件夹管理
最左边是文件夹管理,里面列出了当前工作区里的文件,remix可以支持从本地文件夹读取文件。
1.2 工作区
正中间是工作区,工作区上半部是代码编辑区,在这里可以写solidity合约。 下半部是日志区,在执行智能合约时,会显示transaction相关的信息。在输出日志的时候还可以查看Details和Debug信息。
1.3 功能区
最右边的是功能区,里面有编译、运行、设置和分析以及调试器和支持。
在编译器点击Details可以查看编译细节,里面有NAME,METADATA,BYTECODE,ABI 等一些相关信息。
在设置里面可以选择我们的编译器版本,和一些IDE的使用设置。
2 实战例子
一个简单的实现对数组增删改查的智能合约
2.1 打开工作区,输入代码
2.2 代码分析
• string[] strArr; 定义了一个字符串的数组变量strArr,且该变量没有public因此不可见。
• strArr.push(str); 其中的push是数组类型的两个member之一,另一个是length. 这里的push就是给该数组增加一个元素。//这里实现了对数组的新增功能。
• getStrAt(uint n) 是一个简单的读取字符串的函数,//这里实现对数组的读取功能。
• updateStrAt(uint n, string str) // 实现对数组的更新功能。
• deleteStrAt(uint index) 这个值得一说,因为solidity默认的数组类型中没有删除功能,因此此处自己写了一个删除代码, 核心方法就是保证删除某项后,后面的元素依次向前,同时删除数据,同时保证数组的member length正确。
2.3 编译
代码写完之后我们到Compile区域点击编译Start to compile, 如果编译成功没有错误可以看到我Details信息。
2.4 运行
我们从Compile切换到Run区域,在Environment里面选择编译器,记住这里一定要选择Java Script VM.然后再At Address里面输入我们的eth服务端地址,可以输入测试网络,也可以输入自己搭建的私有链和联盟链。输入完成之后点击Create.这个时候我们可以看到:
右下角会生成我们的ABI方法。
2.5 测试
好了,这个时候我们可以开始测试了。
比如这里输入一个hello eth, 注意一定要加引号。然后点击add, 控制台会打印信息。
点击Details可以看到详细信息
刚刚我们添加了一个字符串,这里再调用一下get方法,打印出字符串。
Solidity 神器Remix的更多相关文章
- 区块链入门(5)Truffle 项目实战,Solidity IDE, 智能合约部署
在上一张我们学习了Truffle项目的创建,部署等相关内容,今天我们就来实战一下. 今天我们要做3件事: 1) 学习搭建一个Solidity IDE(Remix). 2) 使用这个Solidity I ...
- Solidity 官方文档中文版 3_安装Solidity
基于浏览器的Solidity 如果你只是想尝试一个使用Solidity的小合约,你不需要安装任何东西,只要访问 基于浏览器的Solidity http://remix.ethereum.org/. 如 ...
- 以太坊(二)安装Solidity编译器
官方地址:https://solidity.readthedocs.io/en/develop/installing-solidity.html 推荐使用 remix 快速学习solidity ...
- solidity语言介绍以及开发环境准备
solidity语言介绍以及开发环境准备 Solidity 是一门面向合约的.为实现智能合约而创建的高级编程语言.这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的 ...
- Installing the Solidity Compiler¶
Versioning¶ Solidity versions follow semantic versioning and in addition to releases, nightly develo ...
- 使用remix的solidity在线编译环境部署一个faucet合约
一.浏览器打开https://remix.ethereum.org 地址 点击"+"新建一个sol文件,命名为faucet.sol 然后在代码区输入solidity代码 选择相关插 ...
- solidity开发之windows下配置remix本地环境遇到的问题及解决
本人按照这个教程配置remix本地环境.[https://cloud.tencent.com/developer/article/1374376] win+R打开管理员终端,在欲配置为本地目录的路径执 ...
- 智能合约语言 Solidity 教程系列9 - 错误处理
这是Solidity教程系列文章第9篇介绍Solidity 错误处理. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文 ...
- 使用Remix编译和部署以太坊智能合约
Remix 是一個开源的 Solidity 智能合约开发环境,提供基本的编译.部署至本地或测试网络.执行合约等功能.Solidity 是 以太坊Ethereum 官方设计和支持的开发语言,专门用于 ...
随机推荐
- 【转】numpy.random.randn()与rand()的区别
转自: https://blog.csdn.net/u010758410/article/details/71799142 numpy中有一些常用的用来产生随机数的函数,randn()和rand()就 ...
- Mysql 多实例实施步骤
基本理论:利用同一套安装程序,不同配置文件,不同启动程序,不同数据目录.有公用资源,也有私有资源. 实现步骤: 1.正常安装mysql,二进制安装或者编译安装. 2.创建mysql多实例总目录,总目录 ...
- [转]TortoiseSVN客户端重新设置用户名和密码
在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,如果 ...
- P1470 最长前缀 Longest Prefix
题目描述 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的.生物学家对于把长的序列分解成较短的序列(即元素)很感兴趣. 如果一个集合 P 中的元素可以通过串联(元素可以重复使用,相当于 ...
- CANopen和DeviceNet有何异同
>> 欢迎您,客人: 登录 | 注册 | 忘记密码 | 在线 | 搜索 | 帮助 DND开发论坛 ◇ DeviceNet技术讨论区 ◇ [返回] [讨论]CANopen和DeviceN ...
- Oracle 12.2 报错:ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_7458"
alert报错 2019-01-12T10:10:11.499130+08:00Errors in file /u01/app/oracle/diag/rdbms/rac1/rac112/trace/ ...
- snapkit更新约束崩溃的问题
最近在使用snapkit布局时,竟然发现更新约束会导致崩溃,为什么这样呢? checkButton.snp.makeConstraints { (make) in make.left.top.equa ...
- 使用canvas通过js制作一个小型英雄抓怪兽的2D小游戏
首先,这是一个HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- Go语言中的常量
1 概述 常量,一经定义不可更改的量.功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率.从语法的角度看,使用常量可以保证数据,在整个运行期间内,不会被更改.例如当前处理器的架构 ...
- Scala-列表操作
package com.bigdata object ListO { def main(args: Array[String]): Unit = { println() } val list = Li ...