本文介绍了多重签名账户,这是一种需要多个授权签名者批准操作才能执行的智能合约账户。文章详细讲解了 ERC-7913 标准及其在 OpenZeppelin 中的实现,包括 SignerERC7913、MultiSignerERC7913 和 MultiSignerERC7913Weighted 合约,以及如何具有不同类型签名者和权重的多重签名账户。
本文总结了Udemy上“高级Solidity:理解并优化Gas成本”课程的内容,涵盖了费用机制、calldata与memory的差异、变量压缩以及编译器优化等关键方面。
文章以一个简单的 Counter 合约为例,完整覆盖从环境准备、合约部署、Go 调用,到测试验证的全过程。重点不是零基础教学,而是帮你打通工具链、理清流程、快速实战落地。
本文深入探讨了Solidity的类型系统,重点介绍了值类型和引用类型,分析了常见的安全陷阱及防范措施,并详细讲解了数据存储位置(storage、memory、calldata)对Gas成本的影响以及优化策略。掌握这些概念对于在以太坊平台上开发安全、高效、健壮的智能合约至关重要。
Hardhat 是以太坊软件开发的集成环境,由支持智能合约与去中心化应用(dApp)编辑、编译、调试及部署的多个组件构成,这些组件协同工作形成完整的开发环境。
在 Solidity 中,address(this)、tx.origin 和 msg.sender 是三个与合约地址和调用者相关的重要概念,理解它们的作用对于编写安全、高效的智能合约至关重要。
本文深入浅出地讲解了Solidity语言中的面向对象编程(OOP)概念,包括类(合约)、实例、继承和封装,通过生动的类比(如汽车蓝图)和代码示例,解释了这些概念在Solidity中的应用,并探讨了如何在实际的Web3场景中使用这些OOP概念来构建模块化、安全、可扩展的智能合约,最后提供了一个练习仓库地址。
Ethers 是一个用于与以太坊区块链进行交互的 JavaScript 库。它提供了一套简洁且功能强大的工具,用于处理以太坊账户、交易、智能合约等诸多方面的操作。无论是开发去中心化应用(DApp),还是进行区块链相关的工具开发如钱包等,Ethers 都扮演着重要的角色。
solidity的数据类型非常重要,这篇文章主要介绍数据类型那些必须知道的知识点,不清楚的同学可以一看究竟。
在以太坊等区块链网络中,Gas是执行智能合约操作所需支付的费用,Gas优化能够降低交易成本并提升合约执行效率。这篇文章主要讲述5个方面总结常用的优化方法。
在以太坊智能合约开发里,低级别调用(Low-levelcalls)和高级别调用(High-levelcalls)是两种不同的合约交互方式,对新手小白来说这可能是一个陌生的概念。这篇文章我们来详细说一下他们的概念及应用。
Web3开发必知:Solidity内存布局(Storage、Memory、Stack)解析在以太坊智能合约开发中,Solidity的内存布局是确保合约高效运行的核心。理解Storage(存储区)、Memory(内存区)和Stack(栈)三种存储位置的特性与用途,不仅有助于优化gas成本,还能提升合
OpenZeppelin是一个广泛使用的、开源的智能合约库,专门为以太坊等EVM兼容链提供安全、可复用的合约组件。它是构建去中心化应用(DApp)和协议时的“黄金标准”不论你是初学者还是Web3开发老,OpenZeppelin都是一个非常不错的选择整体架构OpenZeppelin
Web3新速度:Monad与BuyEarthDApp重塑虚拟世界Web3时代,速度决定未来!Monad作为一款高性能的以太坊兼容L1区块链,以每秒10,000+的交易处理速度(TPS)突破传统区块链瓶颈,为去中心化应用(DApp)开辟了新天地。BuyEarthDApp是这一技术的生动实践,让用
Solidity的存储结构简介以太坊智能合约有三种数据存储位置
本文总结了Solidity智能合约开发中常见的五个陷阱,包括存储、内存和calldata的区别,重入攻击,默认public的可见性,使用tx.origin进行授权的风险,以及无限循环/高Gas成本问题。针对每个问题,文章都给出了具体的代码示例和修复方案,旨在帮助开发者构建更安全、更智能的智能合约。
CREATE2是以太坊的一条EVM指令,用于部署智能合约。与传统的CREATE指令不同,CREATE2允许通过计算得到合约地址,而不是依赖发送方的nonce。这种方式使得合约地址在部署之前就可以被预测,方便一些高级用例,例如「工厂模式」和「合约钱包的预部署地址」。
本文介绍了Circom中定义Rank 1约束系统(R1CS)的基本语法,包括模板参数的使用、循环和变量的声明与应用、以及如何在满足特定条件时生成约束。此外,还强调了在Circom中约束必须是静态的,不能依赖于信号动态改变,但变量可以作为常量参与R1CS运算,并解释了if语句在Circom中的使用限制,着重介绍了 variables 的使用方法,以及 signals 的使用限制。
if
玩转Web3:用Viem库实现以太坊合约部署与交互想一窥Web3开发的奥秘?以太坊智能合约是通往区块链世界的大门,而Viem库让你轻松迈出第一步!本文通过一个TypeScript脚本,带你从连接本地以太坊测试网到部署合约、实现交互,全程手把手实战。不管你是Web3新手还是想探
Ethers.js实战:带你掌握Web3区块链开发Web3时代已来,区块链开发成为技术圈的热门技能。如何快速上手与以太坊交互?Ethers.js作为一款轻量又强大的工具,能帮你轻松搞定查询、交易和智能合约部署。本文通过一个实战脚本,带你一步步掌握Web3区块链开发的核心技能,无论你是
扫一扫 - 使用登链小程序
116 篇文章,450 学分
406 篇文章,424 学分
171 篇文章,328 学分
36 篇文章,280 学分
121 篇文章,276 学分