Web3 详解
1. 使用 Web3 库
Web3 是一个 JavaScript 库,可用于通过 RPC 通信与以太坊节点通信。 Web3 的工作方式是,公开已通过 RPC 启用的方法,这允许开发利用 Web3 库的用户界面,以便与部署在区块链上的合约进行交互。
一旦 Geth JavaScript 控制台运行,就可以查询 Web3,如下图所示:

1.1 合约部署
可以使用 Geth 部署简单的合约,并通过 Geth 提供的命令行界面 (控制台或附加) 与 Web3 进行交互。
其次,将代码粘贴到 Remix IDE 后,它将如下图所示:

下图显示了 Web3 部署脚本:

显示了将 Web3 部署脚本粘贴到 Geth 控制台进行部署时的输出。还可以通过 Geth 日志进行验证,你将看到类似于以下内容的消息:

成功部署合约后,可以查询与此合约相关的各种属性。如下图所示,这包括合约地址和 ABI 定义等。
1.2 POST 请求
可以通过 HTTP 上的 JSONRPC 与 Geth 进行交互。为此,可以使用 curl 工具。
1.3 HTML 和 JavaScript 前端
网页可以提供更友好与合约进行交互的方式,因此可以考虑使用 HTML/JS/CSS 的网页中的 Web3.js 库与合约进行交互。
可以使用任何 HTTP Web 甩务器来提供 HTML 内容,而 Web3.js 则可以通过本地 RPC 连接到正在运行的以太坊客户端 (Geth), 并为区块链上的合约提供接口。如下图所示:

2. 安装和使用 Web3.js
只需发出以下命令,即可通过 npm 安装 Web3:
[admin@daolian ~]$npm install web3
现在,可以使用任何浏览器来通过 TCP 端口 7777 查看服务的网页,如下图所示.
应该注意的是,此处显示的输出在浏览器的控制台窗口中.
3. 开发框架
以太坊现在有各种开发框架。从上面讨论的示例中可以看出,通过手动方式部署合约可能会非常耗时,如果能够使用 Truffle 或类似框架(如 Embark),则可以使该过程简单、更快捷。我们选择 Truffle 是因为它拥有更活跃的开发者社区,并且是目前使用最广泛的以太坊开发框架。请注意,现在还没有 “最佳” 框架,因为所有框架都旨在提供简化开发、测试和部署的方法。
4. Truffle 应用示例
前文简介绍过 Truffle, 本节将讨论 Truffle 的示例项目,该项目将演示如何使用 Truffle 来开发完整的去中心化应用程序。
我们将使用 Ganache 作为本地区块链来提供 Web3 接口.因此,你需要确保 Ganache 在后台运行并进行挖矿.在以下示例中,它有 5 个帐户,并在端口 7545 上运行.可以在 Ganache 的 SERVER(服务器) 选项中修改这些选项,如下图所示:


为了验证这一点, 可以在 Ganache 中显示交易的帐户列表,如下图所示:
还要注意的是,如下图所示,以太币已从帐户中被消耗掉.随着交易的运行,可以在 Ganache 中看到 BALANCE (余额) 更新.

这将显示类似于下图所示的输出.

这 打开 Web 浏览器并转到 http://localhost:8080,这将显示下图所示的输出.

这些交易将显示在 Ganache 上,如下图所示

6. 去中心化存储
为了充分利用去中心化机制,除去中心化状态/计算(区块链)之外,还可以对存储和通信层也去中心化。
传统上,Web 内容是通过集中式服务器提供服务,但也可以使用分布式文件系统来进行去中心化。
相关文章:
Web3 详解
1. 使用 Web3 库 Web3 是一个 JavaScript 库,可用于通过 RPC 通信与以太坊节点通信。 Web3 的工作方式是,公开已通过 RPC 启用的方法,这允许开发利用 Web3 库的用户界面,以便与部署在区块链上的合约进行交互。 一旦 Geth JavaScri…...
Spring 中依赖注入注解的区别详解
一、依赖注入的基本概念 依赖注入是一种设计模式,通过将对象的依赖以参数的形式传入类中,而不是在类中自行创建依赖对象。这样做有几个好处: 降低耦合度:类与类之间的依赖关系变得更清晰,避免了硬编码依赖。提高可测试性:通过依赖注入,可以轻松地进行单元测试,因为可以…...
PTA求一批整数中出现最多的个位数字
作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数…...
探索国产编程工具:如何实现工作效率翻倍
在当前软件开发领域,国产编程工具正在迅速发展,它们在功能、性能以及用户体验上都有显著提升,以下是一些国产编程工具,它们可以帮助开发者提升工作效率。 智能代码编辑器 CodeGeeX:这是一款由清华大学和智谱AI合作开…...
秒懂:进程相关的操作
1.进程的查看 1.1创建test.cc文件,运行以下代码 #include <stdio.h> #include <sys/types.h> #include <unistd.h>int main() {while(1){sleep(1);} return 0;}1.2 执行以下命令 1. 运行test.cc文件 并将其最终的可执行文件命名为 test gcc t…...
PDF 软件如何帮助您编辑、转换和保护文件。
如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的…...
蓝桥杯嵌入式国三备赛经验分享
1 学习STM32入门视频 向大家推荐一套宝藏级别的视频:【STM32入门教程-2023版 细致讲解 中文字幕】 如果已经比过蓝桥杯单片机或学习过单片机相关课程的同学,你们可以尝试不需要STM32套件进行学习。如果没有学过单片机相关课程的同学,可以买…...
AI编程工具合集
1. 简介 1.1. 概述 AI编程,即人工智能编程,是编写用于创建智能系统(如机器学习模型、自然语言处理应用程序等)的代码的过程。AI编程涉及使用算法和数据结构来实现能够执行任务的程序,这些任务通常需要人类智能才能完成。 AI编程的基础是计算机科学原理,包括数据结构、…...
[网络编程]通过java用TCP实现网络编程
文章目录 一. 通过java用TCP实现网络编程api介绍代码实现上述代码存在的问题 一. 通过java用TCP实现网络编程 api介绍 1. ServerSocket ServerSocket是专门给服务器用的api 构造方法: 方法: 2. Socket 不管是客⼾端还是服务端Socket,都是双⽅建⽴连接以后&#…...
Python(TensorFlow)和Java及C++受激发射损耗导图
🎯要点 神经网络监督去噪预测算法聚焦荧光团和检测模拟平台伪影消除算法性能优化方法自动化多尺度囊泡动力学成像生物研究多维分析统计物距粒子概率算法 Python和MATLAB图像降噪算法 消除噪声的一种方法是将原始图像与表示低通滤波器或平滑操作的掩模进行卷积。…...
IEEE投稿模板翻译
>将这一行替换为您的稿件id号(双击此处编辑)< IEEE 期刊和会议论文的撰写准备(2022) 第一作者 A. 作者,IEEE成员,第二作者 B. 作者,第三作者 C. 作者 Jr.,IEEE成员 摘要—本文档为IEEE会刊、期刊和…...
log4j 1.x 日志输出线程以唯一ID的形式配置
在 Log4j 1.x 中,直接以线程ID(如Java中的Thread.currentThread().getId()返回的ID)的形式记录日志是可行的,但 Log4j 1.x 本身并不直接提供一个内建的、自动将每个线程ID转换为“同一时间段内唯一ID”的机制。线程ID本身在JVM的上…...
宏观学习笔记:GDP分析(二)
GDP分析(一)主要是介绍GDP相关的定义以及核算逻辑,本节主要介绍GDP的分析思路。GDP分析主要是2种方法:总量分析和结构分析。 1. 总量分析 1.1 数值选择 一般情况下,分析的对象都是 官方公布的GDP当季值。 1.2 趋势规…...
两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容
1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为…...
C高级编程 第十六天(树 二叉树)
1.树 1.1结构特点 非线性结构,有一个直接前驱,但可能有多个直接后继有递归性,树中还有树可以为空,即节点个数为零 1.2相关术语 根:即根结点,没有前驱叶子:即终端结点,没有后继森…...
OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使…...
904.水果成篮
题目 链接:leetcode链接 思路分析(滑动窗口) 读完题目,很明显,这个题目需要我们寻找一个最长子数组,使得这个子数组里面最多存在两种不同的数字,很容易联想到使用滑动窗口。 另外ÿ…...
【网络安全】漏洞挖掘之 2FA 恢复代码安全措施不当
未经许可,不得转载。 文章目录 正文正文 目标:example.com 2024年6月,我在HackerOne上参与一个私人项目时发现了一个与2FA(双因素身份验证)恢复代码管理相关的安全漏洞。该漏洞发生在用户禁用并重新启用2FA的过程中。问题在于,系统在2FA重新启用后,仍然接受此前生成的…...
指令微调与参数微调的代码实践与分析
文章目录 指令微调的实验性分析LoRA 代码实践与分析指令微调的示例代码与预训练的代码高度一致,区别主要在于指令微调数据集的构建(SFTDataset)和序列到序列损失的计算(DataCollatorForSupervisedDataset)。以下代码展示了 LLMBox 和 YuLan-Chat 中指令微调的整体训练流程…...
Android14音频进阶之高通Elite架构指定通道播放(八十四)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…...
HunyuanVideo-Foley高算力适配:RTX4090D显存利用率优化至92%实测
HunyuanVideo-Foley高算力适配:RTX4090D显存利用率优化至92%实测 1. 镜像概述与核心优势 HunyuanVideo-Foley私有部署镜像专为视频与音效生成任务深度优化,基于RTX 4090D 24GB显存硬件平台打造。经过CUDA 12.4与驱动550.90.07的针对性调优,…...
抖音批量下载工具终极指南:3分钟掌握高效内容提取技巧
抖音批量下载工具终极指南:3分钟掌握高效内容提取技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…...
从理论到实践:拆解FOC滑模观测器中的三个关键增益(Gsmopos, Fsmopos, Hsmopos)
从理论到实践:拆解FOC滑模观测器中的三个关键增益(Gsmopos, Fsmopos, Hsmopos) 在永磁同步电机(PMSM)的磁场定向控制(FOC)系统中,滑模观测器(SMO)因其强鲁棒性…...
3大创新突破:CoreCycler单核心稳定性测试全攻略
3大创新突破:CoreCycler单核心稳定性测试全攻略 【免费下载链接】corecycler Script to test single core stability, e.g. for PBO & Curve Optimizer on AMD Ryzen or overclocking/undervolting on Intel processors 项目地址: https://gitcode.com/gh_mir…...
16-bit像素UI有多酷?Pixel Epic智识终端交互设计与视觉效果展示
16-bit像素UI有多酷?Pixel Epic智识终端交互设计与视觉效果展示 1. 像素史诗:当科研遇上复古游戏 在数字世界的某个角落,一款名为Pixel Epic的智识终端正在重新定义AI工具的交互体验。这不是普通的报告生成器,而是一场将严肃科研…...
Pixel Aurora Engine惊艳图集:基于‘进化像素’哲学的跨时代视觉融合
Pixel Aurora Engine惊艳图集:基于进化像素哲学的跨时代视觉融合 1. 像素极光引擎概览 Pixel Aurora Engine是一款革命性的AI绘图工作站,它将现代扩散模型技术与复古像素艺术完美融合。这款工具重新定义了数字艺术创作方式,让用户能够通过简…...
2026年AI Agent将迎来爆发!这五大趋势将重塑企业未来,你准备好了吗?
2026年AI Agent将进入规模化部署阶段,应用渗透率将大幅提升。文章分析了五大核心趋势:多智能体协同、企业级部署规模化、行业垂直化、可信性与透明度提升,以及人机协作模式重构。同时,文章也提醒企业需警惕项目失败风险࿰…...
Pixel Language Portal效果展示:多轮对话上下文跨语种一致性保持
Pixel Language Portal效果展示:多轮对话上下文跨语种一致性保持 1. 产品概览 **像素语言跨维传送门(Pixel Language Portal)**是一款突破性的多语言交互工具,基于腾讯Hunyuan-MT-7B核心引擎构建。不同于传统翻译工具的机械感,它将语言转换…...
Suno API:生成 AI 音乐的完整指南
简介 Suno API 是 Ace Data Cloud 提供的一项强大服务,旨在将 AI 音乐生成能力集成到您的应用程序中。借助这一稳定且全面的 RESTful API,您可以创建自定义歌曲、纯音乐、混音、翻唱等。本文将详细介绍如何使用 Suno API,并提供快速上手的指…...
别再手写表单了!用Vue3+AI做个自己的低代码设计器,5分钟搞定一个页面
用Vue3AI打造个人专属低代码表单设计器:5分钟解放重复劳动 如果你是一名中后台开发者,每天被各种CRUD表单折磨得焦头烂额,这篇文章就是为你准备的。想象一下:当你接到第100个类似的用户管理表单需求时,不再需要从零开始…...
