1.前言在区块链开发中,智能合约是链上逻辑的核心,而链下服务则承担着调用合约、读取状态、发起交易等关键角色。对于需要构建后端接口、自动化脚本、监控服务等功能的开发者来说,熟练掌握如何用传统语言与合约交互至关重要。在众多语言中,Go以其性能、稳定性和原生以太坊生态支持(如Geth)成为构建链
本文深入探讨了Solidity的类型系统,重点介绍了值类型和引用类型,分析了常见的安全陷阱及防范措施,并详细讲解了数据存储位置(storage、memory、calldata)对Gas成本的影响以及优化策略。掌握这些概念对于在以太坊平台上开发安全、高效、健壮的智能合约至关重要。
Hardhat 是以太坊软件开发的集成环境,由支持智能合约与去中心化应用(dApp)编辑、编译、调试及部署的多个组件构成,这些组件协同工作形成完整的开发环境。
原链接:https://www.learnblockchain.cn/article/9606ABI基于foundry默认初始化项目Counter为例;项目名test;1.测试1.1测试命令运行所有测试forgetest单独运行匹配前缀为`CounterTest`
本文深入浅出地讲解了Solidity语言中的面向对象编程(OOP)概念,包括类(合约)、实例、继承和封装,通过生动的类比(如汽车蓝图)和代码示例,解释了这些概念在Solidity中的应用,并探讨了如何在实际的Web3场景中使用这些OOP概念来构建模块化、安全、可扩展的智能合约,最后提供了一个练习仓库地址。
Ethers 是一个用于与以太坊区块链进行交互的 JavaScript 库。它提供了一套简洁且功能强大的工具,用于处理以太坊账户、交易、智能合约等诸多方面的操作。无论是开发去中心化应用(DApp),还是进行区块链相关的工具开发如钱包等,Ethers 都扮演着重要的角色。
solidity的数据类型非常重要,这篇文章主要介绍数据类型那些必须知道的知识点,不清楚的同学可以一看究竟。
在以太坊等区块链网络中,Gas是执行智能合约操作所需支付的费用,Gas优化能够降低交易成本并提升合约执行效率。这篇文章主要讲述5个方面总结常用的优化方法。
在以太坊智能合约开发里,低级别调用(Low-levelcalls)和高级别调用(High-levelcalls)是两种不同的合约交互方式,对新手小白来说这可能是一个陌生的概念。这篇文章我们来详细说一下他们的概念及应用。
本文是30天Solidity学习系列的第1天,主要介绍了Solidity是什么,以及为什么要学习Solidity。Solidity是一种用于在以太坊虚拟机(EVM)上编写智能合约的静态类型、高级编程语言。学习Solidity可以用于DeFi、NFT、DAO、游戏等领域的开发,并且Solidity开发者有很高的市场需求。
本文是Solidity入门教程的第二天内容,主要讲解如何搭建Solidity的开发环境,包括安装MetaMask钱包,使用Remix IDE,以及可选的Hardhat本地开发环境。并通过一个简单的Hello Web3合约示例,演示了合约的编写、编译和部署过程,以便读者快速上手Solidity智能合约开发。
本文介绍了如何使用Solidity编写一个简单的智能合约,该合约能够在以太坊区块链上存储和检索数据。文章通过一个SimpleStorage合约的例子,讲解了状态变量的声明、set和get函数的编写,以及如何在Remix IDE中部署和交互该合约。
SimpleStorage
set
get
本文介绍了Solidity中的变量(包括状态变量、局部变量和全局变量)、数据类型(如uint、bool、address、string等)以及函数的概念和常用修饰符(public、private、view、pure等)。并通过一个简单的MyProfile合约示例,演示了如何存储和更新名称,以及如何返回当前名称。文章还提供了一个小挑战,鼓励读者创建一个新的智能合约。
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
扫一扫 - 使用登链小程序
116 篇文章,574 学分
405 篇文章,410 学分
169 篇文章,375 学分
67 篇文章,332 学分
120 篇文章,303 学分