文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
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
阅读 ( 515 )
( 15 )
Solidity智能合约中的重入攻击
本文深入探讨了Solidity智能合约中的重入攻击,详细解释了重入攻击的机制、类型及防护策略,并提供了真实案例如DAO黑客事件和Curve Finance攻击的分析,强调了安全审计的重要性。
重入攻击
Solidity
智能合约
Checks-Effects-Interactions
安全审计
DeFi
cyfrin
发布于 2025-03-14
阅读 ( 601 )
( 15 )
Solidity 0.8.29 发布
Solidity 0.8.29 发布
Solidity
SolidityLang
发布于 2025-03-13
阅读 ( 1363 )
( 15 )
区块链入门:智能合约(第二部分)
in
区块链101
in
区块链101
本文深入探讨了智能合约和Solidity语言的关键细节,包括与区块链交互的方法、合约调用模式、合约部署方式以及合约特性。作者通过实例和详细解释,阐述了如何在安全和有效的基础上构建智能合约,并强调了理解编码信息和合约结构的重要性。整篇文章结构清晰、逻辑性强,非常适合想进一步了解智能合约开发者。
智能合约
Solidity
区块链
合约调用模式
合约部署
交易结构
Frank Mangone
发布于 2025-03-12
阅读 ( 1584 )
( 111 )
合约测试指南:实现第一个智能合约不变性测试
本文详细介绍了如何在Solidity中实现和测试智能合约的不变性,通过定义有效状态、状态转移和变量转移等属性,并使用Echidna、Medusa和Foundry等工具进行模糊测试。文章分为明确的部分,讲解了不变性质的代码实现过程,并提供了丰富的示例和解释,适合对Solidity和智能合约分析有一定了解的开发者阅读。
智能合约
不变性
Echidna
模糊测试
Solidity
ERC4626
Recon
发布于 2025-03-05
阅读 ( 1263 )
( 68 )
通过Ethers.js 库进行合约交互
前言本文通过Ethersjs库实现和智能合约的交互全流程流程;工具前端项目引入ethersjs库给浏览器安装一个钱包插件例如:MetaMaskopenzeppelin库编写合约合约部分合约//SPDX-License-Identifier:MITpragmasolid
木西
发布于 2025-03-05
阅读 ( 770 )
( 10 )
如何成为区块链开发者-7:复杂数据类型
本文介绍了Solidity中的两种复杂数据类型:结构体(Struct)和映射(Mapping)。结构体用于创建自定义数据类型,类似于面向对象编程中的类,而映射则类似于字典,用于存储键值对。文章通过代码示例详细解释了它们的用法,并结合一个账户管理的智能合约,展示了如何在实际应用中同时使用结构体和映射,最后还简单介绍了storage, memory, calldata。
Solidity
结构体
映射
智能合约
数据类型
storage
memory
Calldata
CoinsBench
发布于 2025-03-04
阅读 ( 338 )
如何成为区块链开发者-8:继承
本文介绍了Solidity中的继承概念,包括如何使用`is`关键字实现合约继承。文章详细讲解了`virtual`和`override`关键字在函数重写中的作用,以及`internal`关键字在控制函数可见性方面的应用。最后,通过OpenZeppelin的Ownable合约示例,展示了继承在实际开发中的应用,例如权限控制。
Solidity
继承
智能合约
OpenZeppelin
virtual
override
internal
CoinsBench
发布于 2025-03-04
阅读 ( 415 )
( 2 )
Vyper编程语言指南:特性、安全性与应用场景
本文详细介绍了Vyper编程语言,在智能合约开发中的安全性和简洁性,强调了其设计原则与核心特性。通过比较Vyper和Solidity,指出Vyper在安全优先和易审计性方面的优势,同时提供了安装Vyper的步骤和最佳实践,适合需要高安全性的区块链项目开发者。
Vyper
智能合约
安全性
EVM
区块链
DeFi
cyfrin
发布于 2025-03-04
阅读 ( 967 )
( 23 )
快速实现一个极简版多签钱包
前言借用维塔利克·布特林的观点:大家对硬件钱包高估了,相对于硬件钱包,多签钱包更加安全.本文快速实现一个简洁版的多签钱包合约。多签钱包定义:一种需要多个私钥签名才能完成交易的加密钱包,需要多个授权方共同签名才能执行交易。这种设计大大提高了钱包的安全性,降低了单点故障和私钥被盗的风险;工作
木西
发布于 2025-03-03
阅读 ( 1042 )
( 29 )
智能合约中的缺失或不当输入验证
本文探讨了在Solidity智能合约中缺失或不当输入验证所可能导致的安全漏洞,强调了适当输入验证的重要性,以及如何通过编写安全代码来降低风险。文章详细介绍了编译时和运行时的输入验证,影响与案例分析,提供最佳实践指导,帮助开发者提高智能合约的安全性。
输入验证
Solidity
智能合约
安全漏洞
最佳实践
运行时验证
cyfrin
发布于 2025-03-03
阅读 ( 1182 )
( 49 )
DeFi基石ERC4626标准实现一个金库合约
前言ERC4626标准是对ERC20标准的扩展,旨在提供统一的API标准,本文通过对ERC4626标准的实现一个保险金库的智能合约;ERC4626标准定义:ERC4626是ERC20的扩展,提供了一个标准API,用于表示单个底层ERC-20代币的收益保险库份额;举例说明:用
ERC4626
木西
发布于 2025-03-01
阅读 ( 723 )
( 8 )
分别使用默克尔树和数字签名两种方式给NFT合约添加白名单
前言本文分别采用默克默克尔树和数字签名两种方式给nft合约添加白名单,对比两者的优缺点,本文包含了合约的开发,测试,部署全流程。基础概念默克尔树:也称为哈希树,是一种树形数据结构,主要用于数据验证和同步,默克尔树的特点是每个非叶子节点是其子节点的哈希值,而叶子节点存储的是数据或数据的哈希
木西
发布于 2025-02-28
阅读 ( 661 )
( 6 )
快速实现一个去中心交易所的智能合约
前言本文借鉴uniswapv2实现一个简化版的去中心化交易所的智能合约,交易所的核心恒定乘积自动做市商(CPAMM)去中心化交易概念以及特征去中心化交易:在没有中心化中介机构的情况下进行的交易活动;特征:去中心化控制:所有交易都是通过区块链上的智能合约自动执行,避免了中央机构的操控
木西
发布于 2025-02-27
阅读 ( 768 )
( 9 )
基于ERC1155标准实现一个代币合约
前言本文主要依托于openzeppelin库实现一个ERC1155标准的代币,包含了合约的开发,测试,部署以及和ERC20标准,ERC721标准的区别和使用场景分析。ERC20、ERC721、ERC1155标准特点ERC20标准:同质化、可分割性、标准化、兼容性、流通性;ERC721
木西
发布于 2025-02-27
阅读 ( 727 )
( 8 )
实现一个简洁版的NFT交易所
前言本文实现一个简单版的NFT交易所,主要包含上架、下架、更新价格、购买NFT等相关功能NFT合约说明关于NFT合约的开发、测试、部署具体实现,可以查看另一篇:快速实现一个标准的NFT合约(实操篇)NFT交易所合约合约说明具备上架、下架、更新价格、购买NFT//SPDX-Licen
NFT
Solidity
Hardhat
木西
发布于 2025-02-26
阅读 ( 817 )
( 12 )
快速实现一个标准的NFT合约(实操篇)
前言本文借助openzeppelin库编写一个标准的NFT合约,从开发,测试,到部署上链全部流程。注意:ERC20标准的同质化代币和ERC721标准的非同质化代币的区别需要metadata,要把信息上传到ipfs上,文中会有详细操作的步骤;同质化代币和非同质化代币程序层面的区别ERC2
木西
发布于 2025-02-26
阅读 ( 850 )
( 14 )
发行一个ERC20标准代币以及实现空投和水龙头相关使用场景
前言本文主要实现标准代币的空投合约和代币水龙头相关业务场景的实现,包含合约的编写,测试,部署全流程。概念以及相关场景说明空头合约:币圈中一种营销策略,项目方将代币免费发放给特定用户群体;代币水龙头:一种为用户提供小额加密货币的机制;标准代币说明:本合约基于openzeppelin库实
木西
发布于 2025-02-25
阅读 ( 890 )
( 13 )
如何从你的 Solidity 代码中调用另一个智能合约
本文介绍了如何在Solidity中调用另一个智能合约的函数,通过部署两个合约(Counter.sol和Interface.sol)并演示它们之间的交互,展示了智能合约的复用性和交互方式。
Solidity
智能合约
Ethereum
goerli
Remix
接口
QuickNode
发布于 2025-02-24
阅读 ( 770 )
( 14 )
Q 数字格式 - Solidity 编程
本文详细介绍了在Solidity中使用Q格式表示定点数的方法,包括Q数的定义、表示方式、转换方法以及在Solidity中的实际应用示例。文章还对比了Q数与以太坊中的十进制表示,指出了Q数在乘除运算中的高效性。
Q格式
定点数
Solidity
EVM
移位操作
精度
RareSkills
发布于 2025-02-21
阅读 ( 666 )
( 10 )
‹
1
2
3
4
5
6
7
8
...
47
48
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
以太坊
区块链
智能合约
Solana
DeFi
Solidity
NFT
Web3
零知识证明
区块链安全
EVM
Move
去中心化
Rust
比特币
每周以太坊
DApp
加密货币
Sui
Rollup
Layer2
预言机
MEV
Uniswap
OpenZeppelin
30天文章收益榜
»
寻月隐君
208 篇文章,857 学分
CoinsBench
67 篇文章,712 学分
Helius
133 篇文章,607 学分
QuickNode
413 篇文章,535 学分
OpenZeppelin
132 篇文章,390 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: