通过Web3Js网页代码在MetaMask辅助下完成用户发送操作

news2024/11/23 16:52:57

上文 html通过web3JS 获取当前连接的区块链信息和账号信息在html中通过 Web3.0.js 获取了本地虚拟的区块链信息 和通过 公钥获取了账号的 ETH

那么 之前我们文章 Web3通过 MetaMask简单演示对ganache虚拟环境账号进行管理操作演示了通过MetaMask在本地发送ETH给其他账号 那么 现在 我们就用网页来实现一次

文档是有描述 这个sendTransaction
在这里插入图片描述
文档是就有一个比较清晰可见的案例
在这里插入图片描述
为了方便测试 还是先起来ganache的环境
然后通过 MetaMask 导入两个账号来管理
在这里插入图片描述
然后 我们这里操作 账号2 发送 账号3
在这里插入图片描述
这里 我们需要先执行一个函数
文档中有一个requestAccounts
在这里插入图片描述
用来授权MetaMask
我们直接编写代码如下

var web3 = new Web3(Web3.givenProvider || "http://localhost:8545");
web3.eth.requestAccounts()

在这里插入图片描述
运行网页之后 MetaMask 会自动弹出让我选择授权账号
这里 我们选择 刚刚导入的 账号2 和 账号3 然后 下一步
在这里插入图片描述
然后 直接点击 连接
在这里插入图片描述
等他连接好就行了

我们赋值一下账号3的公钥地址
在这里插入图片描述
然后 切换回账号2
在这里插入图片描述

我们直接在网页中编写代码如下

var web3 = new Web3(Web3.givenProvider || "http://localhost:8545");

web3.eth.getAccounts().then(function(accounts) {
  var from = accounts[0];
  web3.eth.sendTransaction({
    from: from,
    to: '0x0d9F9DA0c4c83a69d7F2317971Ce3395134a92f9',
    value: web3.utils.toWei("1", 'ether'),
    chainId: 1337
  }).then(res => {
    console.log("转发完成");
  }).catch(err => {
    console.error(err);
  });
});

在这里插入图片描述
我们这里 的意思就是
getAccounts获取登录的账号列表 然后 获取到第一个下标 用来做from参数 to放刚刚复制到的 账号3的公钥 然后 发送 单位 1 用web3.utils.toWei转为ether避免单位错误
然后 chainId 写明当前的链id 避免错误

我们运行代码 对应的操作就会弹出来 我们直接点确认就好了在这里插入图片描述
然后 来回操作几次 我们在回头来看用户信息 就改变了
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

springboot+vue基于java的健美操体操舞蹈视频评分系统

健美操评分系统采用B/S架构,数据库是MySQL。系统的搭建与开发采用了先进的JAVA进行编写,使用了springboot框架。该系统从三个对象:由管理员、裁判员和用户来对系统进行设计构建。主要功能包括首页,个人中心,裁判员管理…

【Linux】遇事不决,可先点灯,LED驱动的进化之路---2

【Linux】遇事不决,可先点灯,LED驱动的进化之路---2 前言: 一、Pinctrl子系统重要概念 1.1 重要概念 1.1.1 pin controller 1.1.2 client device 1.1.3 补充概念 二、GPIO子系统重要概念 2.1 在设备树指定GPIO引脚 2.2 在驱动代码中…

代码质量平台实践-SonarQube

代码质量平台实践-SonarQube 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 本节实战 实战名称💘 实践:Scanner进行项目代码扫描(测试成功)-2023.6.24💘 实践:Jenkins集成SonarQube(命令行方式)(测…

java8新特性之--函数式接口加方法引用与构造器引用详细讲解

函数式(Functional)接口 什么是函数式(Functional)接口 只包含一个抽象方法的接口,称为函数式接口。 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式 抛出一个受检异常(即:非运行时异常),那么该异常需要在目标…

Java集合容器面试题

集合 什么是集合 集合就是用于存储数据的容器,只能存储引用类型,所以集合非常适合用来存储对象。而且集合是长度可变,所以对象个数不确定的时候适合使用集合 集合的特点 1、集合只能存储引用数据类型。集合用于存储对象。 2、对象的个数…

centos版本的EDA虚拟机搭建3

0、参考博客 1、CentOS 7 下 rar unrar的安装 1、配置虚拟机与主机共享文件夹。 **前提,虚拟机关机。**之后进行虚拟机设置,选项-共享文件夹,点击总是启用,之后添加共享文件夹名称。 之后打开虚拟机,命令行输入v…

【Leetcode60天带刷】day34贪心—— ​860. 柠檬水找零​,406.根据身高重建队列

​ 题目: 860. 柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。…

Python零基础入门(五)——超详细的列表和元组介绍

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不…

Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键

问题 在 MySQL 中设计表的时候,MySQL 官方推荐不要使用 uuid 或者不连续不重复的雪花 id(long 型且唯一),而是推荐连续自增的主键 id,官方的推荐是 auto_increment,那么为什么不建议采用 uuid,使用 uuid 究竟有什么坏处? MySQL 和程序实例 1、要说明这个问题,我们首先…

开关电源-6中常用的防反接电路

6种常用防反接电路介绍 电源反接,会给电路造成损坏,电源反接是不可避免的。所以我们就需要给电路中加入保护电路,达到即使接反电源,也不会损坏的目的,下面介绍几种常用防反接电路。 一、单二极管防反接电路 二极管防…

RabbitMQ 2023面试5题(一)

一、RabbitMQ延时队列可以用于哪些场景 RabbitMQ延时队列可以用于以下场景: 订单处理:在电商网站中,订单处理是一个常见的业务流程。如果订单需要立即处理,可以使用RabbitMQ的延时队列来实现延迟处理。例如,可以将订单…

SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接

文章目录 前后端对接前端接口修改对接后端后端总体配置后端编写登录登出业务代码 测试后端所有代码 前后端对接 前端接口修改对接后端 src\api\user.js中修改请求地址,与后端保持一致 记录下前端的src\utils\request.js中的X-Token字段 改变开发环境中的请求地…

Golang每日一练(leetDay0108) 灯泡开关I\II Bulb Switcher

目录 319. 灯泡开关 Bulb Switcher 🌟🌟 672. 灯泡开关II Bulb Switcher ii 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…

基于Java校园快递一站式服务系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

【八大排序(十)】八大排序效率与稳定性分析

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:八大排序专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习排序知识   🔝🔝 八大排序总结 1. 前言2. 什么是排序算法的…

基于多模态变分对抗主动学习的下游医学图像分析任务

文章目录 M-VAAL: Multimodal Variational Adversarial Active Learning for Downstream Medical Image Analysis Tasks摘要本文方法实验结果 M-VAAL: Multimodal Variational Adversarial Active Learning for Downstream Medical Image Analysis Tasks 摘要 在医学领域&…

chatgpt赋能python:Python自动执行某个软件

Python自动执行某个软件 Python是一种简单易用且非常流行的编程语言,常用于自动化和数据分析。如果你想自动执行某个软件,那么Python将是一个非常好的选择。在本文中,我们将介绍如何使用Python自动执行某个软件,以及如何做好SEO优…

第 351 场LeetCode周赛

A 美丽下标对的数目 模拟 class Solution { public:int countBeautifulPairs(vector<int> &nums) {int n nums.size();int res 0;for (int i 0; i < n; i)for (int j i 1; j < n; j)if (gcd(to_string(nums[i])[0] - 0, to_string(nums[j]).back() - 0) …

人工智能技术与GIS结合的发展

个人本是GIS专业出身&#xff0c;不知名985高校本硕。工作几年后先后积累了国土空间规划、cesium开发、地理信息数据采集、地理大数据处理&#xff0c;遥感影像处理、人工智能识别&#xff0c;做过十多个500万以上的相关项目&#xff0c;有一些浅薄的经验&#xff0c;想和大家分…

tinykv project4总结

主要目标 实现mvcc和2pc, Percolator partA 将存储分为三个独立的部分&#xff0c;lock&#xff08;管理锁记录&#xff09; default(存储数据)&#xff0c;write(提交的记录)&#xff0c;提高并行性 对于lock存储&#xff0c;只要存储一份&#xff08;因为一个行同时只能有…