Remix IDE 创建和部署第一个合约HelloWorld

news2024/11/18 5:51:06

Remix IDE 地址
https://remix.ethereum.org/

流程步骤:

创建一个新文件

输入文件名保存
在这里插入图片描述

在文件资源管理器中,点击新建文件图标创建一个新文件,并给它命名。在 Remix 中,默认的文件扩展名是 .sol ,如果文件名没有扩展名,将会自动添加 .sol扩展名。

在编辑器中,将以下合约粘贴到空白文件中:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract HelloWorld {
    string public message;

    constructor() {
        message = "Hello, World!";
    }

    function setMessage(string memory newMessage) public {
        message = newMessage;
    }
}

在粘贴代码时,请确保您理解代码内容,并在部署或与其交互之前进行检查。不要上当受骗!


编译合约

将上面的合约作为编辑器中的活动选项卡,编译该合约。快速编译的方法是按下Ctrl + S。您还可以通过在Solidity编译器中点击编译按钮、右击文件资源管理器中的文件或点击编辑器顶部的播放按钮来进行编译。

在这里插入图片描述
在这里插入图片描述
这两个都可以,我已经编译过了,出现上面的绿色的√说明已经编译好了

部署合约

进入Deploy & Run Transactions插件。
在这里插入图片描述

在此插件的顶部是环境选择框。在这里,您可以选择要部署合约的位置。有许多选择。

在这里插入图片描述

Environment

Environment选项用于选择你要使用的以太坊虚拟机环境:

  • Remix VM (Shanghai): 使用Remix提供的内置虚拟机环境,这是一种本地测试环境,适用于快速测试和部署智能合约。
  • Injected Web3: 连接到浏览器中的Web3提供商(如MetaMask)。你需要确保浏览器钱包连接到合适的以太坊网络(例如主网或测试网)。
  • Web3 Provider: 连接到一个自定义的Web3提供商,例如一个本地或远程的以太坊节点。

Account

Account选项用于选择用于部署智能合约的以太坊账户。这里显示了当前选定账户的地址和余额(以ETH为单位)。

Gas Limit

Gas Limit选项用于设置交易的Gas Limit,Gas是以太坊网络中执行合约的计算资源单位:

  • Estimated Gas: 由Remix估算所需的Gas量。
  • Custom: 手动设置Gas Limit。在截图中,设置为3000000。

Value

Value选项用于设置发送到合约的以太坊数量(以Wei为单位)。Wei是以太坊的最小单位,1 ETH = 10^18 Wei。通常在部署合约时不需要发送ETH,因此默认值为0。

Contract

Contract选项用于选择要部署的智能合约。在编译成功后,这里会列出所有可部署的合约。你可以从下拉菜单中选择一个合约进行部署。在截图中,选择的是HelloWorld - helloworld.sol。

Deploy Button

Deploy按钮用于部署选定的智能合约。当你点击这个按钮时,Remix将尝试在选定的环境中部署合约。如果部署成功,合约实例将显示在“Deployed Contracts”部分。

At Address

At Address选项用于加载已部署的智能合约实例。你可以输入一个已知合约地址,并点击“Load”按钮加载合约实例。

Transactions Recorded

Transactions Recorded显示已经记录的交易数量,并提供选项查看交易详情。

Pinned Contracts

Pinned Contracts显示已固定的合约实例,便于快速访问和交互。

在这里插入图片描述

Deployed/Unpinned Contracts

合约实例信息
HELLOWORLD AT 0X…33FA8 (MEMORY)

0X…33FA8: 这是合约的部署地址。
(MEMORY): 表示合约当前存储在内存中(因为使用的是本地虚拟机环境)。
账户余额
Balance: 0 ETH

显示与该合约地址相关联的ETH余额。当前余额为0 ETH。
合约方法
setMessage:

输入框用于输入新消息的字符串。
setMessage按钮用于调用合约的setMessage方法,将新消息发送到区块链。
message:

message按钮用于调用合约的message方法。
显示当前存储的消息字符串。例如,显示“Hello, World!”。
低级别交互

Low level interactions

CALLDATA: 低级别交互的输入框,用于手动输入原始调用数据。
Transact: 手动发送交易按钮,用于发送自定义调用数据。
Both ‘receive’ and ‘fallback’ functions are not defined: 提示当前合约中未定义receive和fallback函数。

示例操作

调用setMessage方法:

在setMessage输入框中输入新消息,例如“Hello, Remix!”。
点击setMessage按钮。
交易成功后,再次点击message按钮,你应该会看到消息更新为“Hello, Remix!”。
调用message方法:

直接点击message按钮,查看当前存储的消息。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1713351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring MVC 工作流程源码分析

前言: 我们知道 Spring MVC 的核心是前端控制器 DispatcherServlet,客户端所有的请求都会交给 DispatcherServlet 来处理,本篇我我们来分析 Spring MVC 处理客户端请求的流程,也就是工作流程。 Sping MVC 只是储备传送门&#x…

HTTPS单双向认证流程详解与联想

HTTPS单向认证 HTTPS在单向认证传输的过程中会涉及到三个密钥: 服务端的公钥和私钥,用来进行非对称加密交换密钥 客户端生成的随机密钥,用来进行对称加密传输数据 认证过程 1.客户端向服务器发起HTTPS请求,连接到服务器的443端…

JS-06 原型式继承借用构造函数实现继承

目录 1 原型式继承 场景 前置问题 实现方法 2 借用构造函数实现继承 前置问题 错误的实现方式 正确的实现方式 1 原型式继承 场景 a、创建一个纯洁的对象:对象在控制台打印什么属性都没有 b、创建一个继承自某个父对象的子对象 前置问题 一个对象里有很…

基于Vue uni-app的自定义列表表格信息展示组件

摘要:随着软件技术的不断发展,前端开发面临着越来越多的挑战。特别是在业务场景复杂多变的情况下,如何提高开发效率和降低维护成本成为了关键。本文旨在探讨组件化开发在前端应用中的重要性,并以Vue uni-app自定义列表表格为例&am…

韶音、南卡、Oladance开放式耳机哪个好?深度测评告诉你答案!

作为一名资深数码博主,五年来我有幸试用了众多蓝牙耳机,涵盖了市场上的大小品牌。品牌方常邀请我进行产品评测,而我的粉丝也常在私信中求教如何挑选开放式蓝牙耳机。近期,我细致比对了市面上备受关注的三款开放式耳机:…

Linux中常见的基本指令(上)

目录 一、ls指令 1. ls 2. ls -l 3. ls -a 4.ls -F 二、qwd指令 三、cd指令 1. cd .. 2. cd / / / 3. cd ../ / / 4. cd ~ 5. cd - 五、mkdir指令 六、rmdir指令和rm指令 一、ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 。 功能 :对于目录…

Python词法和语法分析工具库之ply使用详解

概要 在编程语言的开发、编译器的实现和数据解析等领域,词法分析和语法分析是关键的技术。Python的ply库是一个功能强大的词法和语法分析工具,基于经典的Lex和Yacc工具实现。ply库为开发者提供了一种简单且高效的方法,用于定义词法规则和语法规则,从而实现对自定义语言和数…

HNU-计算机体系结构-实验2-Tomasulo算法

计算机体系结构 实验2 计科210X 甘晴void 202108010XXX 1 实验目的 熟悉Tomasulo模拟器同时加深对Tomasulo算法的理解,从而理解指令级并行的一种方式-动态指令调度。 掌握Tomasulo算法在指令流出、执行、写结果各阶段对浮点操作指令以及load和store指令进行什么…

自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计

自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计 在数据分析和机器学习中,参数估计是一个关键步骤。最小二乘估计(LSE)、加权最小二乘估计(WLS&…

Linux eBPF:网络、系统监控和安全领域的创新

扩展 Berkeley Packet Filter(eBPF)是Linux内核中的一项强大技术,最初用于网络数据包过滤。随着时间的推移,eBPF的功能和应用场景不断扩展,如今已成为网络、系统监控和安全等领域的重要工具。eBPF可以在Linux内核中安全…

积鼎CFDPro水文水动力模型,专为中小流域洪水“四预”研发的流体仿真技术

水动力模型与水文模型是水利工程与水文学研究中不可或缺的两大工具。水动力模型着重于流体运动的动力学机制,通过一系列方程组捕捉水流的时空变化,而概念性水文模型则侧重于流域尺度的水文循环过程,利用物理概念与经验关系进行近似模拟。两者…

微信小程序毕业设计-农场驿站平台系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

Ubuntu 离线下载安装 Tmux(亲测有效)

昨晚跑NER模型中断了,今天就考虑安装下Tmux,但是一直安装不上,在尝试了好几次之后,终于不报错了!!特记录一下下载安装过程。(我这里是离线下载安装的) 1. 下载安装包 tmux wget ht…

调试小技巧:除了可以在控制台编写js代码,还有一个地方也可以,来试试吧!

写在前面 作为一名程序员,平常调试代码是必不可少的,控制台应该说是经常使用,除了可以看到打印的信息之外,我们还可以直接在控制台编写代码,以调试我们的代码。如下所示: 通过编写一些 js 代码&#xff0c…

[C++]红黑树

一、概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路 径会比其他路径长出俩倍,因而是…

配置阿里yum源

配置阿里yum源(这个很重要):https://developer.aliyun.com/article/1480470 1.备份系统自带yum源配置文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2.下载ailiyun的yum源配置文件 2.1 CentOS7 wge…

【Vue】响应式特性

响应式:简单理解就是数据改变,视图会自动更新。 如何访问 和 修改 data中的数据(响应式演示) data中的数据, 最终会被添加到实例上 例如这里,app身上就会拥有msg属性,修改msg的值,界面的值也会…

Deepin Linux 深度 V23 beige 官方源及换镜像源方法。

Deepin Linux 深度 V23 英文版本号:beige 谁起的烂名字。。。。。。 1. 打开文件管理器,在apt文件夹点右键(以管理员身份打开), 2. 输入你的登录密码,以便打开文件夹(管理员权限)。…

成都市酷客焕学新媒体科技有限公司:助力品牌打破困境!

在数字化浪潮的推动下,营销策略对品牌的发展愈发关键。成都市酷客焕学新媒体科技有限公司,作为短视频营销领域的佼佼者,凭借其卓越的策略和实力,助力众多品牌在信息海洋中脱颖而出,实现品牌的显著增长。 酷客焕学专注于…

【机器学习】基于tensorflow实现你的第一个DNN网络

博客导读: 《AI—工程篇》 AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效 AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署 AI智能体研发之路-工程篇(三&am…