参考地址:
1.Remix 搭建与简单使用
2.使用Remix IDE快速部署你的第一个智能合约

安装

git clone https://github.com/ethereum/remix-ide.git
cd remix-ide
npm install
npm run build && npm run serve

之后访问127.0.0.1:8080即可使用remix

使用

在上一篇博客中点击打开链接,我们已经搭建好了自己的以太坊私有链开发环境,接下介绍一下如何快速的部署一个智能合约。最初开始学习的时候,有很多博客都是直接在geth命令行中进行的编译和部署智能合约,对新人来说不太友好,容易出错。所以本文直接跳过这些繁琐的步骤,通过以太坊智能合约开发神器Remix,快速部署一个智能合约到你的私有链当中。

1.Remix IDE 编写第一个智能合约

remix ide是开发以太坊智能合约的神器,支持网页在线编写、部署和测试智能合约。网址http://remix.ethereum.org

进入后,新建一个智能合约命名为HelloWrold.sol,合约代码如下:

  1. pragma solidity ^0.4.24;
  2. contract HelloWorld{
  3. function say() public pure returns(string){
  4. return "Hello Wrold";
  5. }
  6. }

remix可以检测合约代码编写的正确性,如果没有编译通过,将在右侧工具栏中显示。编译通过如下图所示:

2.Remix链接私有链

首先开启我们的私有链环境,然后在remix界面中点击右侧Run按钮,在该界面下将Environment下拉选择Web3 Provider,弹窗问我们是否要链接一个以太坊节点,点击ok后,在新的弹窗中输入我们启动私有链时设置的地址,默认为localhost:8545。点击ok进行链接,链接成功后,可以在account栏中显示出账号信息。

3.部署智能合约

(1)部署合约之前首先要解锁账号,在geth中输入命令解锁账户:

  1. >personal.unlockAccount(eth.accounts[0],"123",0)
  2. true

(2)在remix的Run界面点击粉色deploy按钮进行部署,可以在remix的控制台和geth的日志文件中看到私有链中新产生了一个交易。

(3)在geth中开启挖矿等待区块确认

>miner.start()

部署成功后可在remix右侧Run界面显示出合约部署的地址和合约方法供我们进行测试。

4.测试合约

(1)remix下测试

remix下只需点击say按钮即可,可在控制台查看合约的执行结果。输出为Hello World,测试通过。

(2)geth下测试

geth下测试就比较麻烦了,需要用到两个参数值,一个是合约的abi,另一个是合约的地址。地址在run界面中直接复制就行,abi需要在compile界面下点击detail按钮,在弹出的界面内有abi选项,将其复制,结果如下:

  1. [
  2. {
  3. "constant": true,
  4. "inputs": [],
  5. "name": "say",
  6. "outputs": [
  7. {
  8. "name": "",
  9. "type": "string"
  10. }
  11. ],
  12. "payable": false,
  13. "stateMutability": "pure",
  14. "type": "function"
  15. }
  16. ]

此时的abi还不能用,我们需要将他捋直,也就是将他弄成一行,最终结果如下:

合约地址:0x2668d1b0602bc0e1e2f84f931547940546720d75

abi:

[{"constant":true,"inputs":[],"name":"say","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"}

准备工作完成,下面开始测试。在geth命令行中定义两个变量contractAddress和abi来存储相应的值:

  1. > var abi = [{"constant":true,"inputs":[],"name":"say","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"}];
  2. > var contractAddress = "0x2668d1b0602bc0e1e2f84f931547940546720d75";

获取合约实例:

>var contract = web3.contract(abi).at(contractAddress);

调用合约方法,输出为 Hello World,测试成功。

  1. > contract.say()
  2. "Hello Wrold"

Remix IDE的安装和使用相关推荐

  1. 搭建Remix IDE本地开发环境

    前言 Remix IDE是ETH提供的在线合约开发IDE,因为Remix IDE官方服务在海外,访问时有点慢,所以打算本地搭建一下. Remix IDE github: https://github. ...

  2. 智能合约编译器Remix IDE

    Error: The method eth_getCompilers does not exist/is not available     at web3.js:3143:20     at web ...

  3. 快速入门 Remix IDE

    今天要给大家讲解的是如何使用在线编译器:Remix  IDE  之前打算手动安装一个本地的Remix  IDE ,但是基于windows的安装教程我试了很多次都是安装失败,无奈下只能先使用在线的,以后 ...

  4. Remix IDE已支持Sui Move在线开发

    网页版Remix IDE与WELLDONE Code插件结合,让您无需本地设置或安装即可开始构建Sui应用程序. 不熟悉Sui的构建者可能想在正式配置开发环境之前,浅尝一下构建Sui应用程序.Remi ...

  5. 安卓Android Studio开发IDE的安装

    安卓开发IDE的安装 1.进入官网 https://developer.android.google.cn/studio 可以在以下的操作系统开始 Android 应用程序开发: Microsoft® ...

  6. 我的Go+语言初体验——(2)IDE 详细安装教程

    我的Go+语言初体验--(2)IDE 详细安装教程 "我的Go+语言初体验" | 征文活动进行中- Go+ 语言的安装和环境配置有些复杂,官方教程也没有写的很详细. 通过控制台编写 ...

  7. Eclipse IDE的安装与配置

    Eclipse IDE的安装与配置 现在介绍如何安装Eclipse.与Intellij IDEA类似, Eclipse环境依赖于JDK与Scala的安装. JDK与Scala的安装前文已经详细讲述过了 ...

  8. 已经选择IDE模式安装完操作系统后开启AHCI的方法

    现在的硬盘基本都是串口(SATA)的了,相比并口硬盘(IDE)而言,串口硬盘有很多好处.但是大多数人电脑的硬盘其实依然是使用IDE模式在工作着.这是因为XP SP3之前的操作系统都不带SATA驱动,因 ...

  9. 基于网页自动化Selenium IDE的安装与部署 图书馆选座、网站防休眠、自动点击等

    基于网页自动化Selenium IDE的安装与部署 一. Selenium IDE的简介.安装与使用 1. 什么是Selenium IDE? 2. Selenium IDE的安装和使用 3. 导出内容 ...

最新文章

  1. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用
  2. 个人作业-Alpha项目测试
  3. 指纹浏览器 开源 linux,浏览器指纹--Canvas指纹
  4. NLP事件抽取综述(上中下):中文事件抽取、开放域事件抽取、事件数据生成、跨语言事件抽取、小样本事件抽取、零样本事件抽取等类型
  5. 白中英 计算机组成原理_计算机组成原理 第五版.立体化教材 白中英 大学教材...
  6. 数据库PowerDesigner创建图表(模块表分类)
  7. 4918字,详解商品系统的存储架构设计
  8. 心痛!常德网约车司机遇害 滴滴回应:已成立应急处置小组
  9. Spring-Boot 整合Dubbo 解决@Reference 注解为null情况
  10. 酒业头条信息流投放评估
  11. matplotlib之pyplot模块之坐标轴配置(axis():设置坐标轴外观、设置坐标轴范围)
  12. 人在江湖,以“核”为贵
  13. 软件工程的10个知识领域
  14. Android开发——适配终结者AutoLayout
  15. Altium Designer 如何从已有的PCB图、原理图,分别导出PCB封装库和原理图封装库
  16. 逆袭之路——python 操作数据库、SQL注入问题、索引与慢查询优化【day49】
  17. [Vue][面试]你怎么理解vue中的diff算法?
  18. JavaEE框架类——监听器(观察者模式)和Servlet技术的监听器session沌化与活化技术
  19. 2020秋招——万字面经分享,这一篇超级走心
  20. 买网站服务器需要什么软件有哪些东西,建网站的软件有哪些,哪些常用?

热门文章

  1. 从全国首日票房破百万看零售商家的线下营销
  2. 可燃气体浓度多少合格_一般可燃气体报警器气体检测标准范围是多少-深国安官网...
  3. 运行时常量区-方法区
  4. 《乔布斯传》圈点(1)
  5. 华为云05之网络虚拟化
  6. leetcode-算法基础-5、6、7、8
  7. 注册教育邮箱免费使用pycharm专业版一年
  8. yii2.0 中文手册 php,Yii2.0 高级版开发指南
  9. 【基于C++面向WindowAPI的自制工具】随机数按位生成器
  10. dumpsys activity 相关命令解析