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

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.mzph.cn/web/19030.shtml

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

相关文章

外企如何有效面对日益严格的跨境数据传输法律?

在当今这个数据驱动的时代,随着全球化步伐的加快,企业跨国界的数据交流已成为常态。但随之而来的,是各国政府对跨境数据传输日益严格的规定和监管,这让众多外资企业(简称“外企”)在享受全球市场红利的同时…

Spring Cache自定义缓存key和过期时间

一、自定义全局缓存key和双冒号替换 使用 Redis的客户端 Spring Cache时,会发现生成 key中会多出一个冒号,而且有一个空节点的存在。 查看源码可知,这是因为 Spring Cache默认生成key的策略就是通过两个冒号来拼接。 同时 Spring Cache缓存…

Kong网关的负载均衡

安装java环境 查询 java安装包 196 yum list java* 安装java8197 yum install -y java-1.8.0-openjdk.x86_64 检验java8是否安装成功。198 java -version2个tomcat准备 另外一个tomcat区别在于:配置文件。conf/server.xml 启动tomcat [rootlocalhost bin]# ./…

C++之单链表与双链表逆序实例(二百七十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

拥塞控制的微观行为与力学解释

本文以 tcptrace 图为基,描述传输的微观行为,并给出一个初中几何描述的压水井模型。 统计复用网络的拥塞控制,宏观看 inflight,微观看 pacing rate,宏观大方向不对,微观再正确也不行。 而网络的统计动力学…

AI 驱动的低代码平台-网易CodeWave 低代码平台 AI 智能化实践

一、实践背景: 随着低代码赛道的蓬勃发展,越来越多的低代码产品如雨后般春笋涌出开始进入市场,面对市场的考验,低代码平台也在面临两大问题: 定制开发的使用门槛太高,效率太低。低代码产品进入到企业当中…

决策树模型-预测用户是否购买某母婴产品

1,场景描述 假设我们是京东的数据分析师,负责分析母婴产品的购买行为。我们想预测用户是否会购买一款新上线的母婴产品。为了进行预测,我们将利用用户的历史购买数据、浏览行为和其他特征,通过决策树模型进行分析,并提…

猫狗分类识别模型建立②模型建立

一、导入依赖库 pip install opencv-python pip install numpy pip install tensorflow pip install keras 二、模型建立 pip install opencv-python pip install numpy pip install tensorflow pip install kerasimport os import xml.etree.ElementTree as ETimpor…

NSSCTF-Web题目4

[SWPUCTF 2021 新生赛]hardrce 1、题目 2、知识点 rce:远程代码执行、url取反编码 3、解题思路 打开题目 出现一段代码,审计源代码 题目需要我们通过get方式输入变量wllm的值 但是变量的值被过滤了,不能输入字母和\t、\n等值 所以我们需…

【教学类-59-】专注力视觉训练01(圆点百数图)

背景需求: 视觉训练的神奇效果,让你的宝贝成为焦点 - 小红书魔法视觉追踪-视觉训练—— 🔍视觉训练🔍 🔹想要提高宝宝的专注力,视觉训练是个绝佳方法! 🔹让宝宝仔细观察数字的路线&a…

OrangePi AIpro 快速上手初体验——接口、样例和目标检测

​ 一、 开发板简介 OrangePi AIpro开发板是香橙派联合华为精心打造的高性能 AI 开发板,其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,内存提供了 8GB 和 16GB两种版本。可以实现图像、视频等多种数据分析与推理计算,可…

【已解决】使用token登录机制,token获取不到,blog_list.html界面加载不出来

Bug产生 今天使用token完成用户登录信息的存储的时候被卡了大半天。 因为登录的功能写的已经很多了,所以今天就没有写一点验一点,而是在写完获取博客列表功功能,验证完它的后端后,了解完令牌的基本使用以及Jwt的基本使用方式——…

4.共享文件夹的设置

注:设置共享文件夹:首先要先关机 一、点击 编辑虚拟机设置 二、点击 选项 选项卡 三、点击 共享文件夹 四、在本地建立一个共享文件夹后选择路径 五、Linux系统文件夹中的共享文件夹路径 六、在Linux系统中查看共享文件夹 Ubuntushare是共享文件夹&…

【简单介绍下idm有那些优势】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

国内加密软件排行榜,每一款加密软件都是精品

在数字化快速发展的今天,数据安全和隐私保护已成为企业和个人关注的焦点。加密软件作为保护数据安全的重要手段,其重要性日益凸显。以下是根据权威机构的评测和用户反馈,整理的国内加密软件排行榜及其特点概述。 1、加密软件安企神免费试用7天…

贷款借钱平台 小额贷款系统开发小额贷款源码 贷款平台开发搭建

这款是贷款平台源码/卡卡贷源码/小贷源码/完美版 后台51800 密码51800 数据库替换application/database.php程序采用PHPMySQL,thinkphp框架代码开源,不加密后台效果:手机版效果 这款是贷款平台源码/卡卡贷源码/小贷源码/完美版 后台51800 密码…

《web应用技术》第九次作业

一、将前面的代码继续完善功能 1.采用XML映射文件的形式来映射sql语句&#xff1b; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis…

HiWoo Box工业智能网关

随着工业4.0的浪潮席卷全球&#xff0c;智能化、网络化已成为工业发展的必然趋势。在这个时代&#xff0c;工业智能网关成为了连接工业设备与网络的关键节点&#xff0c;扮演着至关重要的角色。HiWoo Box作为一款工业智能网关&#xff0c;以其卓越的性能和广泛的应用场景&#…

系统架构设计师【第3章】: 信息系统基础知识 (核心总结)

文章目录 3.1 信息系统概述3.1.1 信息系统的定义3.1.2 信息系统的发展3.1.3 信息系统的分类3.1.4 信息系统的生命周期3.1.5 信息系统建设原则3.1.6 信息系统开发方法 3.2 业务处理系统&#xff08;TPS&#xff09;3.2.1 业务处理系统的概念3.2.2 业务处理系统的功能 …

c++(六)

c&#xff08;六&#xff09; 多态概念在c中是如何实现多态静态多态&#xff08;绑定&#xff09;动态多态&#xff08;绑定&#xff09; 动态多态的实现原理动态内存分配中遇到的问题 重载、重定义、重写的区别抽象类接口类---抽象类空类对象的内存大小explicitfinal修饰类修饰…