区块链ETH--remix简单使用介绍

新版本下的remix使用介绍

1 Solidity与智能合约

起源于以太坊(Ethereum),设计的目的是能在以太坊虚拟机(EVM)上运行。Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。

Solidity文档:https://www.tryblockchain.org/

solidity官方文档: https://solidity-cn.readthedocs.io/zh/develop/

solidity英文文档:https://docs.soliditylang.org/en/latest/control-structures.html#external-function-calls

本文主要介绍平台的使用,solidity语法之后文章会具体介绍

img

2.开发环境搭建

remix在线编译器https://remix.ethereum.org/

在这里插入图片描述

编写

首先点击New File 新建文件,使用Solidity编写合约,这里直接使用已经编写完成的合约代码

//指定solidy编译器版本,版本标识符
pragma solidity ^0.4.25;
 
//关键字 contract 跟java的class一样  智能合约名称是helloworld
contract helloworld {
    //状态变量
    //string 是数据类型,message是成员变量,在整个智能合约生命周期都可以访问
    //public 是访问修饰符,是storage类型的变量,成员变量和是全局变量
    string public message;
    //address 是地址类型,
    address public manager;
    
    //构造函数,这里在合约部署时将合约所有者传入
    constructor () public {
        manager = msg.sender; 
    }
   //函数以function开头
    function setMessage (string _message) public {
        //局部变量
        string memory tmp;
        tmp = _message;
        message = tmp;
    }
    //view是修饰符,表示该函数仅读取成员变量,不做修改
    function getMessage() public view returns (string) {
        return message;
    }
}

编译

在这里插入图片描述

  • include nightly builds:是软件开发中的一种常见用语,具体可参见
  • Auto compile:自动编译,这里选择自动编译
  • Enable optimization:启用优化
  • Hide warnings:隐藏警告

部署与调用

点击左侧第三个图标

在这里插入图片描述

  • 环境:这里默认使用VM即可

    • JavaScript VM web内置的虚拟机,调试方便。我们使用这个。
    • Injected Web3 链接metamask
    • Web3 Provider 链接自定义网络。
  • account:账户,这里使用自带的虚拟机产生的一个账户

  • gas limit:特别机制进行gas限制

  • 点击deplay即可完成部署,下侧可调用合约方法进行调试使用

在这里插入图片描述

调试使用

我们在setMessage函数中传入参数hello,world!可以在右侧点击dubug右侧倒三角可查看细节。

在这里插入图片描述

点击getMessage即可获得刚刚传递的信息

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_52739647/article/details/121896114