当前位置: 首页 > 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.dtcms.com/a/290178.html

相关文章:

  • Android MTK平台预置多张静态壁纸
  • Freemarker生成Word文档下载到浏览器(下载word)
  • 上海GEO优化公司找哪家怎么做
  • uniapp底部导航栏凸起
  • windows电脑给iOS手机安装ipa包的方法
  • Kubernetes Pod调度基础
  • Leetcode力扣解题记录--第238题(前/后缀积)
  • 【Git#6】多人协作 企业级开发模型
  • 3D可视化模型轻量化陷阱:STL转GLTF的精度损失与压缩比平衡策略
  • 【系统全面】Linux内核原理——基础知识介绍
  • H3C路由器模拟PPPOE拨号
  • MTSC2025参会感悟:Multi-Agent RAG 应用质量保障建设
  • Java IO流体系详解:字节流、字符流与NIO/BIO对比及文件拷贝实践
  • postgresql安装教程-个人笔记
  • 股票分红派息及其数据获取(使用Python)
  • selenium爬取图书信息
  • 关于JVM
  • 低速信号设计之 RGMII 篇
  • Rk3568驱动开发_非阻塞IO_16
  • 有关Mysql数据库的总结
  • Pytest 输出捕获详解:掌握如何查看和控制打印信息
  • Nacos 探活机制深度解析:临时 / 永久实例差异及与 Sentinel 的熔断协作
  • C++11之右值引用与移动语义(提高效率)重要
  • 「日拱一码」033 机器学习——严格划分
  • 【VASP】VASP 机器学习力场(MLFF)实战
  • 机器学习对词法分析、句法分析、浅层语义分析的积极影响
  • Taro 本地存储 API 详解与实用指南
  • 京东疯狂投资具身智能:众擎机器人+千寻智能+逐际动力 | AI早报
  • 从“被动照料”到“主动预防”:智慧养老定义的养老4.0时代
  • 迁移科技3D视觉系统:赋能机器人上下料,开启智能制造高效新纪元