当前位置: 首页 > news >正文

区块链之以太坊合约开发工具——Metamask钱包和Remix IDE

以太坊(Ethereum)是一个建立在区块链技术之上的去中心化应用平台。它允许任何人在其平台上创建和使用通过区块链技术运行的去中心化应用(DApp)。

一、Metamask钱包

钱包是管理账户的重要工具,用户可以使用钱包创建账户、进行交易签名,并在需要时连接到区块链节点来执行交易。需要注意的是,钱包本身并不存储用户的资产,而是管理访问这些资产的密钥和签名功能。

MetaMask 是一个浏览器插件,支持多种主流浏览器,如 Chrome、Firefox 和 Opera。它不仅可以用于管理账户,还可以用于部署和执行智能合约。开发者通常使用 MetaMask 与 Remix IDE 等工具结合使用,以便更轻松地开发和测试智能合约。

1、MetaMask插件下载

MetaMask 有移动端版本和浏览器插件(也称为扩展程序)版本, 本文介绍的浏览器版。MetaMask 在 Chrome谷歌浏览器(同Microsoft Edge浏览器)、FireFox火狐浏览器 均提供了插件。

我们打开MetaMask钱包的官网首页 https://metamask.io/ 后,可以点接跳转到插件市场安装。

2、创建钱包账号

点击MetaMask图标进入,按照系统提示输出密码和助记词完成钱包账户的创建。

出现了以下账户的界面即完成了钱包账户的创建

这里account下面的字符串就是钱包的地址,地址类似于银行卡账号,钱包之间转账就是使用该地址。 

 

3、给账户钱包充值 

创建好账户后,在体验转账或交易之前, 我们需要先给账号充值,我们可以先去测试网的水龙头(Faucet)获取一些测试。下面是faucet的一些网站。

https://chaintool.tech/faucet

这里我们使用sepolia示例

https://cloud.google.com/application/web3/faucet/ethereum/sepolia

回到MetaMask下找到sepolia下的地址

 

  

 

然后点击receive 0.05 sepolia ETH,等待一会后会看到下图交易成功的提示,并刷新MetaMask界面,账户接收到了0.05 sepolia ETH。 

二、Remix IDE

Remix 对初学者来说,是开发智能合约的最佳开发集成环境(IDE),它无需安装,可以直接快速上手。

Remix 开箱即用,你可以打开 Remix 网站:Remix - Ethereum IDE , 进入到 Remix IDE:

1、新建合约 

既可以新建文件、也可以从本机或 GitHub 加载文件,这里我们新建一个 counter.sol 合约。

2、合约代码编写

可以在代码区输入示例代码

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;contract Counter {uint counter;constructor() {counter = 0;}function count() public {counter = counter + 1;}function get() public view returns (uint) {return counter;}
}

这是一个简单的计数器合约,这个智能合约的作用是在区块链上存储一个计数器变量 counter, counter 值将会被永久保存在区块链上。

count()函数让计数器加1,get()函数用来获取计数器值。

智能合约不需要编写入口函数(如main函数),其实编译器会帮助合约生成main入口函数,EVM 在入口函数里用函数选择器去匹配调用的函数。

3、合约编译

合约编译成功后,会输出两个重要的内容: ABI (合约接口描述) 和 Bytecode 字节码。

ABI 是 Application Binary Interface,即应用程序二进制接口,ABI 用来描述当前合约的所有接口,当我们与合约交互时,就需要使用 ABI。

Bytecode 是部署合约所需的字节码(也称为创建时字节码),部署合约时,就是把该字节码作为交易的输入数据发送链上。

 

4、合约部署

编译之后, 如果代码没有错误,就可以部署到区块链网络上。

一个正式的产品推荐的部署流程是:

  1. 在本地的开发者网络(模拟网络)进行部署,测试及验证代码逻辑的正确性
  2. 在测试网络进行灰度发布
  3. 一切 OK 后部署在主网

(1)部署到VM

通常这些都有默认值,初学者使用默认值即可。

 点击deploy后可看到成功部署到VM的输出

(2)部署到真实网络

部署到真实网络,不管是测试网还是主网,在 Remix 的环境里选择Injected Provider - MetaMask

Remix 会加载我们在 MetaMask 中选择的网络,之前在第一部分MetaMask中我选择的事Sepolia,所以这里加载出来的是sepolia环境,并弹出下图中的交易对话框。 

让我们确认交易费用,点击“确认”时,同时会对这笔交易签名,并发送到 sepolia 网络中。

待交易完成后,同样会在功能操作区域的下方列出合约地址及对应的函数。

(3)调用合约函数

橙色按钮来这个动作会修改区块链的状态,蓝色按钮则表示调用仅仅是读取状态。

根据我们之前编写的智能合约的逻辑,count功能是让状态加一,也就是会发起一笔交易,交易打包后,计数器变量加1;点击get可以获得当前计数器的值。

 

Remix 对初学者非常友好,非常适合开发小合约及验证性代码。

对于大一点的的项目,在本地开发结合 GitHub 管理代码是更理想的选择,就很适合使用 Hardhat 或 Foundry 开发框架。

 

 

 

 

http://www.lryc.cn/news/594790.html

相关文章:

  • 部署Zabbix企业级分布式监控
  • 【Elasticsearch】settings
  • Webpack源代码泄露漏洞
  • 深圳南柯电子|发电机控制器EMC整改:从合规到高可靠的进化之路
  • Linux中ELF区域与文件偏移量的关系
  • 开源 Arkts 鸿蒙应用 开发(八)多媒体--相册和相机
  • 一个适合MCU的分级菜单框架
  • 格式工厂5.21.0简介
  • 设计模式六:工厂模式(Factory Pattern)
  • 从安装到上手:Ubuntu 22.04 玩转 Containerd 2.1.3 容器运行时
  • 在 Windows上用WSL和VSCode进行Linux开发环境配置
  • 《使用 IDEA 部署 Docker 应用指南》
  • 在Anolis8.6上源码编译安装部署OpenVAS(GVM)未完待续
  • git bash命令不够完善,想整合msys2该怎么办?
  • Dynamics 365 Contact Center是什么
  • Java 解析前端上传 ZIP 压缩包内 Excel 文件的完整实现方案
  • 前端开发者快速理解Spring Boot项目指南
  • 在 Angular 应用程序中使用 Genkit 的完整指南
  • docker 容器学习
  • Three.js 全景图(Equirectangular Texture)教程:从加载到球面映射
  • AR技术:应急响应的加速利器
  • AR技术:石化行业培训的“游戏规则改变者”
  • Web开发:ABP框架12——中间件Middleware的创建和使用
  • AR巡检和传统巡检的区别
  • CCLink IE转ModbusTCP网关与三菱PLC通讯无纸记录器
  • uni-app开发小程序,根据图片提取主题色值
  • 网络编程基础:从 OSI 模型到 TCP/IP 协议族的全面解析
  • Android 中 SystemServiceManager 和 ServiceManager 的应用场景、区别与联系
  • 漏洞扫描 + 渗透测试:双轮驱动筑牢网络安全防线
  • Ubuntu 22.04 使用 Docker 安装 Redis 5 (安装包形式)