自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(217)
  • 资源 (1)
  • 收藏
  • 关注

原创 Solidity——returns和return区别、命名式返回、解构式赋值

这一讲,我们介绍 Solidity 函数返回值,包括:返回多种变量,命名式返回,以及利用解构式赋值读取全部或部分返回值。这些知识点有助于我们在编写智能合约时,更灵活地处理函数返回值。

2025-07-06 22:41:24 363

原创 Solidity——pure 不消耗gas的情况、call和sendTransaction区别

是指:向区块链发起一笔真实交易(transaction),从一个地址调用一个合约函数,消耗 gas,可能改变链上状态。只要你用的是.send()或不带.call()的 await 函数调用,并且指定了,那就是发了交易(),会上链、花 gas、不直接返回结果。如果你想,我可以再写一段完整的 ethers.js 示例,对比.call和两种方式的执行行为。需要吗?

2025-07-06 22:12:58 566

原创 Solidity——什么是低级调用(low-level calls)和操作码的内联汇编

低级调用(Low-level calls)Solidity 提供了几种**“低级”函数调用方式**,用于替代标准的函数调用。这些函数更原始、更灵活,但使用不当容易出 bug(比如失败不报错、容易被 reentrancy 攻击)。内联汇编(Inline Assembly)Solidity 支持使用 Yul 或旧版本的汇编语言直接写 EVM 操作码。这可以让你:完全掌控执行逻辑做极致 gas 优化使用 Solidity 无法访问的底层功能名称是什么使用场景低级调用。

2025-07-06 22:01:37 379

原创 Solidity——什么是selfdestruct

会销毁当前合约并把余额发给指定地址,是不可逆的链上操作,慎用!如果你想我帮你写一个带 selfdestruct 的合约升级机制(配合代理合约),可以继续问我。

2025-07-06 21:51:26 313

原创 Solidity——是否所有代码都会消耗 gas、发交易是什么、

场景是否消耗 gas是否改链上状态通过call执行viewpure函数❌ 否❌ 否发交易执行viewpure函数✅ 是❌ 否发交易执行non-view函数✅ 是✅ 是(可能)memory中操作临时变量✅ 是(极少)❌ 否如果你需要,我可以演示用 Remix 分别调用view和write函数,看它们的 gas 消耗差异,是否继续?“发交易”指的是:你把一段操作请求发送到以太坊区块链上,由矿工/验证者执行并打包入区块,从而永久改变链上的状态(例如存储变量、转账、铸币等)。

2025-07-06 21:48:43 897

原创 Solidity——memory、storage、calldata 的区别

这是 Solidity 中非常核心的概念,搞清楚它们的区别有助于你写出高效、低 gas 的代码。

2025-07-06 21:44:33 375

原创 Solidity——修改状态变量注意事项和简单优化建议

操作是否消耗 gas建议连续多次对状态变量赋值✅ 多次消耗❌ 不推荐只赋值一次(初始化/构造)✅ 只消耗一次✅ 推荐函数中无效重复赋值(最终值没变)✅ 每次都算❌ 浪费如果你要进一步学习如何在部署或调用中优化 gas 成本,我可以教你如何使用Remix或 Hardhat 查看具体 gas 消耗和 storage 操作,是否需要?

2025-07-06 21:10:54 316

原创 Solidity——什么是状态变量

变量位置是否状态变量是否写入链上状态合约作用域定义✅ 是✅ 是函数内部定义❌ 不是❌ 否(临时内存)

2025-07-06 21:09:13 278

原创 Rust中模式匹配let Some(gas_price) = tx.gas_price用法

Option。

2025-06-29 21:34:43 277

原创 rust所有权系统,变量用完就删,会不会影响程序的效率

问题Rust 的表现用完即删会影响效率吗?❌ 不会,反而更高效和 GC 有什么不同?无需 GC,编译期管理所有权会不会提前释放影响逻辑?编译器静态分析,确保安全所有权模型的核心优点?安全 + 高效,无运行时成本如果你感兴趣,我可以展示 Rust 的 drop 顺序、堆栈回收过程的汇编级展开。是否继续?

2025-06-29 14:43:00 415

原创 Rust结构体字段能否单独加 mut

mut修饰的是变量绑定本身,不能单独修饰结构体字段。想修改结构体字段,必须绑定结构体实例为mut。需要对某些字段单独内部可变,需用到内部可变性类型(CellRefCell等)。如果你想,我可以帮你写完整示例代码说明不同场景。好的!下面是CellRefCellMutex和RwLock的简单介绍和代码示例,帮助你理解它们的区别和使用场景。类型单线程/多线程内部可变性适用场景Cell<T>单线程是(Copy)小型简单数据类型内部修改RefCell<T>单线程是复杂类型内部可变性,运行时检查。

2025-06-29 14:19:06 494

原创 Rust所有权转移概念、let x = “123“是什么类型

栈分配的简单类型多数实现了Copy,赋值时会复制数据,原变量仍然有效。堆分配类型不实现Copy,赋值时发生所有权移动,确保内存安全。如果需要,我还可以帮你写示例代码演示这两种赋值行为,或者解释编译器背后的所有权机制。该类型的值完全存储在栈上,不涉及堆内存分配,也没有复杂的资源管理(比如文件句柄、网络连接等);该类型实现了 Rust 的Copytrait,意味着赋值或传递时是按位复制(bitwise copy),不会发生所有权转移(move)。实现了Copy。

2025-06-29 14:08:36 783

原创 Rust函数与所有权

类型传参行为是否可以继续使用原变量示例String移动(move)不可以i32等标量复制(copy)可以堆分配类型同时存在情况是否移动是否还能使用原变量struct 全是标量❌ Copy✅ 可以继续用struct 含有堆分配类型(String 等)✅ Move❌ 无法再访问如有需要,也可以强制实现Copy,前提是所有字段都必须是Copy的。是否需要我帮你写一段 struct 混合字段(标量 + String)演示 move 行为?

2025-06-29 13:53:18 329

原创 Rust标量、复合类型与自定义类型、第三方并发结构

这些类型通常在栈上保存其自身结构,但若包含如StringVec等堆分配成员,则这些成员的实际数据存储在堆上,仅其指针或元数据位于栈上。类型是否标量是否对象是否堆上是否 Copy多线程安全是否动态大小示例i32bool✅❌❌✅✅(本地)❌let x = 1;[1,2]struct❌✅✅/❌❌❌❌/✅自定义结构体Box<T>❌✅✅❌❌✅Box::new()Rc<T>❌✅✅❌。

2025-06-29 13:48:06 757

原创 Rust变量初始化赋值不写mut的问题

Rust 中let x;是合法的,只要在使用前初始化就行。但不加mut的话,只能赋值一次,不能重复修改。需要我给你展示编译器报错信息或者用 Rust Playground 来演示吗?

2025-06-29 00:21:09 235

原创 Rust宏和普通函数的区别

宏是为了解决不能用函数解决的问题,比如代码生成和语法扩展,而函数是写程序逻辑的主力。能用函数就不要用宏,除非你需要编译期的代码生成能力。需要我举更复杂的例子,比如自己实现一个my_vec!宏、或者对比println!和print_fn吗?

2025-06-29 00:10:17 412

原创 记忆力锻炼方法

记忆力锻炼的核心在于科学方法、持续训练和健康生活习惯的结合。通过重复训练、关联记忆、充足睡眠等方式,可有效提升大脑信息处理与存储能力。关键在于长期坚持,并结合多种技巧形成适合自己的记忆策略。

2025-06-28 21:57:43 447

原创 Rust代码规范之蛇形命名法和驼峰命名法

Rust 使用两种主要的命名风格:驼峰命名法(UpperCamelCase)和蛇形命名法(snake_case)。通常,类型(如结构体、枚举、特征)使用驼峰命名法,而变量、函数、方法等使用蛇形命名法。Rust 在类型级别(type-level)的构造,如结构体、枚举、特征等,倾向于使用驼峰命名法。Rust 在值级别(value-level)的构造,如变量、函数、方法等,倾向于使用蛇形命名法。总而言之,Rust 的命名规范是:类型用驼峰,变量和函数用蛇形。这种风格将每个单词的首字母大写,没有下划线分隔。

2025-06-28 21:45:03 353

原创 ethers.js express vue2 定时任务每天凌晨2点监听合约地址数据同步到Mysql整理

🔧 确保将 Infura Key、合约地址、ABI 替换为你自己的✅Transfer事件仅适用于符合 ERC721/1155 标准的 NFT 合约# 安装依赖# 启动后端# 启动前端(Vue2)如果你还想加:统计活跃地址数展示 NFT TokenId 的交易趋势接入钱包连接用 NestJS 替换 Express可以继续说,我可以帮你逐步拓展。

2025-06-26 20:29:03 269

原创 ECharts的使用方法

不能随便自定义。下面是每个字段中。

2025-06-26 19:01:14 292

原创 Rust——内存最快内存共享方式和触发方式

场景最快方案✅单服务/单进程是最快、最安全、最轻的选择🚀 多服务部署 / 分布式Redis pub/sub 次之🏢 企业级 / 海量并发Kafka + 分布式集群如果你在同一个程序中编写监听器 + 策略模块,直接用就是最快捷、稳健的选择。要不要我马上给你搭一个完整可运行的 Rust 示例项目(监听 → 策略判断 → 通道分发)?适合真实项目嵌入。

2025-06-26 13:05:47 336

原创 WEB3合约开发以太坊中货币单位科普

1 wei是 ETH 的最小单位,1 ether = 10¹⁸ wei,相当于货币里的“最小面值”。如果你需要我出一个合约例子演示单位转换或转账,我可以继续写。

2025-06-22 23:29:56 247

原创 WEB3测试网的apikey如何获取?以及验证合约的方法

如果你现在已经部署了一个合约,想让我帮你写验证命令和配置文件(带构造函数参数的),贴一下合约地址和构造函数,我马上帮你搞定。如需我帮你写一整套部署 + 验证模板,或调试 verify 报错,也可以贴出报错我帮你排查 🔍。点击 “Add” 或 “+ Create API Key”,起个名字,如。,它会根据你验证的网络自动区分用途。上再注册或获取 API Key,,API Key 也是一样获取!这就是你的 API Key!Sepolia 测试网验证。Goerli 测试网验证。,不需要去别的网站。

2025-06-22 14:00:39 690 1

原创 WEB3开启 Hardhat 自动验证有什么意义

开启 Hardhat 自动验证的意义是:让你的合约在区块链浏览器(如 Etherscan)上公开显示源码、函数、ABI,从而实现可读、可查、可交互。部署合约时,链上只存储字节码(EVM bytecode),别人是看不到你写的 Solidity 源码的。“验证合约”就是:向 Etherscan 等区块浏览器提交你的源码、编译器版本、构造函数参数等让 Etherscan 编译后比对字节码,确认一致验证成功后,就会公开显示你合约的源码 + 自动生成函数界面是否需要开启 Hardhat 自动验证?

2025-06-22 13:38:59 428

原创 NODE_ENV是什么东西

NODE_ENV是用于区分运行环境的变量,常用于加载不同配置、控制日志输出、优化构建结果等,是实际开发中不可或缺的工具。需要我演示一个完整的项目里如何利用NODE_ENV控制行为吗?例如根据环境加载不同数据库或中间件。

2025-06-16 12:41:44 521

原创 NodeJS缓冲区是什么东西

Buffer 是 Node.js 为了高效处理**原始数据(binary)**而引入的对象,提供了类数组方式对内存的直接操作,是文件、流、网络编程中不可缺少的工具。如果你想深入了解Buffer 的底层内存结构或高性能文件处理示例,我可以进一步补充,是否需要?

2025-06-16 12:41:33 387

原创 NodeJS的中间件是什么

中间件是构成 Node.js Web 框架(如 Express/Koa)核心机制之一,它将请求处理拆分为多个函数链式执行,使得逻辑清晰、易于复用和维护。如果你想自己写一个中间件系统(类 Express),我可以提供底层实现原理代码。是否需要?

2025-06-16 12:41:23 504

原创 NodeJS如何渲染十万条数据

方式适用场景优点缺点分页(前后端结合)页面展示、交互简单实用,性能高需要分页逻辑流式传输导出、下载大量数据节省内存、节省传输延迟不能随机跳页虚拟滚动前端大列表渲染页面不卡、体验佳实现稍复杂,需额外依赖库压缩传输大量 JSON 响应减少数据量,提升传输速度对 CPU 有少量压力如果你告诉我你是想在终端、页面、Excel 还是 API 返回十万条,我可以给你定制具体的实现方式。是否要我帮你搭一个 demo?你要展示什么推荐方式理由表格/列表/数据项带按钮虚拟列表。

2025-06-16 12:40:15 873

原创 NodeJS面试题网站推荐整理

由资深后端总结,重点考察 Node 内核原理、事件循环、流、错误处理机制等。包含大量代码示例,贴近实战型问答。

2025-06-16 12:40:01 185

原创 掌握 Solidity:以太坊开发者必知的面试问题

在以太坊开发的动态领域中,Solidity 专业知识至关重要。Solidity 开发人员的面试通常包括实际的编码挑战,以评估候选人解决现实问题的能力。本文提供了一个全面的指南,涵盖了重要的面试问题,附有 Solidity 0.8.18 的示例代码、现实场景、常见陷阱和最佳实践。require比较自定义错误和带错误字符串的require在 EVM 层的编码方式。if (!自定义错误更节省 gas,因为它们在交易数据中使用的空间比require中的字符串少。

2025-06-16 12:39:40 788

原创 以太坊开发面试题

超过100道以太坊区块链开发技术岗位的面试题,附参考答案。面试题目涵盖 以太坊的基本概念、Geth客户端使用、智能合约基本概念、Solidity开发语言、去中心化 应用DApp、web3.js开发库等方面。

2025-06-16 12:39:16 601

原创 最全Solidity面试问题及答案

顺序:检查条件 → 修改状态 → 外部调用,防止重入攻击。ERC20 授权抢跑攻击使用anonymous关键字声明的事件,不存储事件签名到日志主题,节省gas但无法按事件类型过滤。自定义错误:keccak256(Error(string))[:4]+ 参数,require错误字符串:Error(string)全哈希。前者gas更省。代理合约从信标合约动态获取实现地址,允许批量升级多个代理的指向。EIP-3448定义的MetaProxy,使用最小字节码代理模式,通过CREATE2实现确定性部署地址。

2025-06-16 12:38:53 739

原创 你不需要区块链:8 种流行案例以及为什么它们不成功

这篇文章整体逻辑清晰、分析有理,大多数批评都成立,尤其是在强调“区块链不是物联网(Blockchain is not IoT)”和“不要用区块链去替代数字签名、数据库、监管机制等原本能更好解决问题的技术”这两点上,论据充分。不过,也有部分观点可以细化或补充,从中挖掘出真正“成功”的区块链应用方向。我将逐条判断其分析是否合理,并补充具有潜力的成功应用场景要素解释1. 多方协作 & 信任成本高多个机构之间缺乏信任,才需要共识机制2. 数据本身天然是数字化的。

2025-06-16 12:37:41 999

原创 UI/UX设计原则和实现方法

UI/UX 原则Node.js 实现方式一致性接口风格统一、状态码规范简洁性数据结构简明,接口字段精炼可见性实时反馈机制(WebSocket)易用性快速响应、缓存优化、接口友好用户控制允许前端灵活操作、后端逻辑可回滚(如操作历史)如果你需要具体的案例,比如:登录注册流程 UI/UX 设计 + Node.js 实现;NFT 铸造流程 UX 设计 + 后端实现;DApp 中钱包连接的 UX 优化方式 + Express 实现;我可以帮你针对这些做进一步拆解和代码演示。你想看哪一个。

2025-06-16 12:31:26 443

原创 NodeJS怎么通过集群提高NodeJS的性能

cluster模块允许你通过主进程创建多个子进程(每个子进程是一个 Node 实例),每个子进程共享同一个服务器端口,实现负载均衡和多核并发执行。每个子进程:独立运行在自己的线程中。拥有独立的事件循环、内存、V8 实例。可以与主进程通信(通过 IPC 通道)。

2025-06-15 17:40:14 416

原创 进程和线程区别、管道和套接字、共享变量、TCP三次握手,是否可以少一次握手、子进程和主进程区别和API——Nodejs

进程是房子,线程是房间”一个进程里可以有多个线程,但线程不能脱离进程单独存在。如果你在学 Node.js、Java 或 Python 并发模型,我可以分别帮你分析线程/进程的用法和适用场景。需要我进一步展开哪门语言下的实践案例?匿名管道亲缘深,命名管道通陌生;写端数据流向读,半双工最常见。如果你想知道在 Java、C/C++、Python 中怎么实现管道通信,也可以举例说明。是否需要我给出跨语言的管道实现?Socket 是个洞,进程互打通。可远程可本地,网络通信最通用。UDP socket和。

2025-06-15 16:58:23 664

原创 NodeJS中你经常会做前后端的加密,请你解释一下秘钥

秘钥是加密算法中的一个核心参数,它控制了加密或解密的方式。对称加密使用同一个密钥加解密,效率高但安全性较弱。非对称加密使用公钥和私钥配对,安全性更强,常用于认证和秘钥交换。如你还在学习前后端安全,可以继续聊这些相关概念:什么是数字签名与数字证书JWT 中签名部分是怎么构造的HTTPS 握手阶段是如何通过秘钥交换实现加密通信的。

2025-06-15 16:45:54 339

原创 Node.js 中常用的异步函数讲解、如何检测异步操作时间和事件

同步代码 > process.nextTick > Promise.then > setTimeout/setInterval/setImmediate。

2025-06-15 16:28:17 325

原创 NodeJS哪些情况下会造成内存泄漏和避免方法

在 Node.js 中,。这是服务端应用长时间运行时最常见的问题之一。

2025-06-15 16:26:04 835

原创 NodeJS中老生代和新生代和垃圾回收机制

V8 引擎采用分代垃圾回收策略绝大多数对象生命周期很短,马上就会被回收少数对象会存活较长时间新生代(New Generation):用于存放新创建的对象老生代(Old Generation):用于存放存活时间较长的对象方面新生代 (New Generation)老生代 (Old Generation)作用存放新创建的短命对象存放存活时间长的对象大小小大GC 类型GC 频率高低GC 耗时短长性能影响小大。

2025-06-15 16:01:31 953

java开发简历模板,直接就能修改使用

java开发简历模板

2025-04-15

java高级开发简历模板

java高级开发简历模板

2025-04-15

花呗0.05%日息计算

附件里有这个程序和程序的源代码(C语言)。这个程序 会让你输入 多少元人民币,还有天数(一般是30天),这两个数值 输入完后你就可以得出利息 + 本金的值 (如果你只要求利息,那么你直接将得出的值与本金相减就可以了。)

2019-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除