文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
如何修复“数据位置必须是内存或 calldata” 问题
本文深入探讨了以太坊虚拟机(EVM)的数据存取机制,阐明了不同数据位置(如stack、memory、storage、calldata和transient storage)的性质与用途,及其与Solidity编程的相关性。文章不仅解释了Solidity中常见错误的原因,还提供了丰富的代码示例和图示,帮助开发者理解EVM内部工作原理。
以太坊虚拟机
数据存取
Solidity
Calldata
memory
存储
Cyfrin
发布于 2025-03-17
阅读 ( 582 )
( 15 )
Solidity智能合约中的重入攻击
本文深入探讨了Solidity智能合约中的重入攻击,详细解释了重入攻击的机制、类型及防护策略,并提供了真实案例如DAO黑客事件和Curve Finance攻击的分析,强调了安全审计的重要性。
重入攻击
Solidity
智能合约
Checks-Effects-Interactions
安全审计
DeFi
Cyfrin
发布于 2025-03-14
阅读 ( 716 )
( 15 )
Solidity 0.8.29 发布
Solidity 0.8.29 发布
Solidity
SolidityLang
发布于 2025-03-13
阅读 ( 1462 )
( 15 )
区块链入门:智能合约(第二部分)
in
区块链101
in
区块链101
本文深入探讨了智能合约和Solidity语言的关键细节,包括与区块链交互的方法、合约调用模式、合约部署方式以及合约特性。作者通过实例和详细解释,阐述了如何在安全和有效的基础上构建智能合约,并强调了理解编码信息和合约结构的重要性。整篇文章结构清晰、逻辑性强,非常适合想进一步了解智能合约开发者。
智能合约
Solidity
区块链
合约调用模式
合约部署
交易结构
Frank Mangone
发布于 2025-03-12
阅读 ( 1696 )
( 111 )
扩展合约 - OpenZeppelin 文档
本文档介绍了如何通过继承和重写OpenZeppelin合约来扩展其功能。
OpenZeppelin
合约继承
函数重写
super关键字
Hooks
钩子函数
OpenZeppelin
发布于 2025-03-06
阅读 ( 14 )
合约测试指南:实现第一个智能合约不变性测试
本文详细介绍了如何在Solidity中实现和测试智能合约的不变性,通过定义有效状态、状态转移和变量转移等属性,并使用Echidna、Medusa和Foundry等工具进行模糊测试。文章分为明确的部分,讲解了不变性质的代码实现过程,并提供了丰富的示例和解释,适合对Solidity和智能合约分析有一定了解的开发者阅读。
智能合约
不变性
Echidna
模糊测试
Solidity
ERC4626
Recon
发布于 2025-03-05
阅读 ( 1337 )
( 68 )
通过Ethers.js 库进行合约交互
前言本文通过Ethersjs库实现和智能合约的交互全流程流程;工具前端项目引入ethersjs库给浏览器安装一个钱包插件例如:MetaMaskopenzeppelin库编写合约合约部分合约//SPDX-License-Identifier:MITpragmasolid
木西
发布于 2025-03-05
阅读 ( 833 )
( 10 )
Chainlink预言机中VRF(可验证随机函数)在合约中的使用
前言本文借助Chainlink预言机中的VRF,实现一个链上可验证随机数的合约,以及相关使用场景的介绍;VRF定义:一种用于生成随机数的去中心化服务,广泛应用于需要公平、不可预测随机性的场景;场景1.游戏随机生成游戏道具、角色属性或战斗结果:在游戏开发中,VRF可以用于生成随机的
木西
发布于 2025-03-05
阅读 ( 630 )
( 7 )
Chainlink预言机中的Data Feeds在智能合约中使用场景
前言本文主要介绍使用chainlink预言机中DataFeeds,全文包含了MockV3Aggregator合约和PriceConsumer合约的开发、测试、部署。注意:为了便于测试,在本地区块节点上部署一个MockV3Aggregator。Chainlink(去中心化预言机)Chain
木西
发布于 2025-03-05
阅读 ( 516 )
( 4 )
如何成为区块链开发者-7:复杂数据类型
本文介绍了Solidity中的两种复杂数据类型:结构体(Struct)和映射(Mapping)。结构体用于创建自定义数据类型,类似于面向对象编程中的类,而映射则类似于字典,用于存储键值对。文章通过代码示例详细解释了它们的用法,并结合一个账户管理的智能合约,展示了如何在实际应用中同时使用结构体和映射,最后还简单介绍了storage, memory, calldata。
Solidity
结构体
映射
智能合约
数据类型
storage
memory
Calldata
CoinsBench
发布于 2025-03-04
阅读 ( 392 )
快速实现一个多重调用合约
前言多重调用合约设计在于一次交易中执行多个函数调用,这样可以显著降低交易费用并提高效率。
multicall
木西
发布于 2025-03-04
阅读 ( 562 )
( 3 )
智能合约可升级方式之通用可升级代理合约
前言合约一旦署上链是不可修改,为了解决后续合约的新增功能,本文将介绍智能合约可升级的的方案,实现升级智能合约的方案主要通过使用代理合约来实现合约的升级;通用可升级代理合约作用:因为智能合约一旦部署就不可修改,为了解决合约可升级可修改的,才使用代理合约来实现,一句话总结允许在不更改合约地址
木西
发布于 2025-03-04
阅读 ( 618 )
( 6 )
快速实现一个闪电贷智能合约
前言本文通过开发、测试、部署闪电贷合约,测试闪电贷合约另外需要代币合约、借款人合约,主要借助openzeppelin相关库的使用,简化开发过程,该合约在Defi领用是非常重要的一部分;闪电贷闪电贷:一种特殊的贷款形式,允许用户在同一个交易中借入大量资金,并在交易结束前归还这些资金,如果用户
木西
发布于 2025-03-04
阅读 ( 572 )
( 4 )
如何成为区块链开发者-8:继承
本文介绍了Solidity中的继承概念,包括如何使用`is`关键字实现合约继承。文章详细讲解了`virtual`和`override`关键字在函数重写中的作用,以及`internal`关键字在控制函数可见性方面的应用。最后,通过OpenZeppelin的Ownable合约示例,展示了继承在实际开发中的应用,例如权限控制。
Solidity
继承
智能合约
OpenZeppelin
virtual
override
internal
CoinsBench
发布于 2025-03-04
阅读 ( 493 )
( 2 )
Vyper编程语言指南:特性、安全性与应用场景
本文详细介绍了Vyper编程语言,在智能合约开发中的安全性和简洁性,强调了其设计原则与核心特性。通过比较Vyper和Solidity,指出Vyper在安全优先和易审计性方面的优势,同时提供了安装Vyper的步骤和最佳实践,适合需要高安全性的区块链项目开发者。
Vyper
智能合约
安全性
EVM
区块链
DeFi
Cyfrin
发布于 2025-03-04
阅读 ( 1068 )
( 23 )
实现一个ERC20标准代币的增强版合约之ERC20Permit合约
前言ERC20Permit是对扩展了ERC20标准的扩展,添加了一个permit函数,允许用户通过EIP-712签名修改授权,而不是通过msg.sender;ERC20Permit定义:ERC20Permit是对扩展了ERC20标准的扩展,添加了一个permit函数,
木西
发布于 2025-03-03
阅读 ( 469 )
( 2 )
EIP712 类型化数据签名合约一种更安全、先进的签名方式
前言本文主要实现EIP721类型化数据签名的智能合约的开发、测试、部署、交互,测试过程:涉及到前端通过ethers库和合约以及钱包的交互;EIP712类型化数据签名定义:一种以太坊改进提案,旨在提供一种更高级、更安全的类型化数据签名方法;背景与重要性链下签名,链上验证:EIP712
EIP721
木西
发布于 2025-03-03
阅读 ( 512 )
快速实现一种更先进、安全的签名方法之EIP712 类型化数据签名
前言本文主要实现EIP712类型化数据签名的智能合约的开发、测试、部署、交互,测试过程:涉及到前端通过ethers库和合约以及钱包的交互;EIP712类型化数据签名定义:一种以太坊改进提案,旨在提供一种更高级、更安全的类型化数据签名方法;背景与重要性链下签名,链上验证:EIP712
EIP721
木西
发布于 2025-03-03
阅读 ( 601 )
( 5 )
快速实现一个极简版多签钱包
前言借用维塔利克·布特林的观点:大家对硬件钱包高估了,相对于硬件钱包,多签钱包更加安全.本文快速实现一个简洁版的多签钱包合约。多签钱包定义:一种需要多个私钥签名才能完成交易的加密钱包,需要多个授权方共同签名才能执行交易。这种设计大大提高了钱包的安全性,降低了单点故障和私钥被盗的风险;工作
木西
发布于 2025-03-03
阅读 ( 1167 )
( 29 )
智能合约中的缺失或不当输入验证
本文探讨了在Solidity智能合约中缺失或不当输入验证所可能导致的安全漏洞,强调了适当输入验证的重要性,以及如何通过编写安全代码来降低风险。文章详细介绍了编译时和运行时的输入验证,影响与案例分析,提供最佳实践指导,帮助开发者提高智能合约的安全性。
输入验证
Solidity
智能合约
安全漏洞
最佳实践
运行时验证
Cyfrin
发布于 2025-03-03
阅读 ( 1280 )
( 49 )
‹
1
2
3
4
5
6
7
8
...
50
51
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
console.log
retro funding
整数运算
Nillion
Axiom
BEX
模块化执行环境
初始化
Gasless Wallet SDK
SQL
seal
reorg
IDONTWANT
Fei Protocol
Merkle trees
密钥大小
排队理论
MIPSEVM
OAuth
账户验证
二进制域
计算市场
异步性
FROST签名
开发流程
30天文章收益榜
»
寻月隐君
224 篇文章,611 学分
4pillars
170 篇文章,571 学分
CoinsBench
69 篇文章,399 学分
Helius
138 篇文章,383 学分
QuickNode
418 篇文章,316 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: