本文探讨了区块链基础设施安全的重要性,解释了它与智能合约安全的不同之处,并提供了一些针对区块链基础设施进行安全审计的实用方法。文章强调了基础设施审计需要关注的组件及其潜在风险,例如验证节点、数据可用性层、执行客户端和P2P网络,以及如何采用系统性的方法来识别和缓解这些风险,确保区块链网络的整体安全。
本文介绍了如何在以太坊网络上部署和交互智能合约。首先,文章讲解了如何设置本地区块链环境,然后演示了如何使用 Hardhat 部署智能合约。接着,文章展示了如何通过 Hardhat console 和 JavaScript 代码与已部署的合约进行交互,包括发送交易和查询状态。最后,文章说明了下一步学习的方向,包括自动化测试、连接公共测试网络以及为主网做准备。
本文档介绍了OpenZeppelin Contracts库在不同版本之间的向后兼容性保证,包括API和存储布局的兼容性。文章解释了在patch和minor版本更新中通常会保持向后兼容,但某些情况下可能会有例外,特别是涉及到安全问题或draft状态的ERC标准时。同时提醒了override函数、struct结构体以及错误处理等方面需要注意的问题,并强调了major版本更新通常不保证兼容性。
该文档介绍了如何使用Contracts Wizard Deploy Plugin将智能合约直接部署到OpenZeppelin Defender账户。内容涵盖API密钥的生成、在Contracts Wizard中的配置、网络选择、审批流程设置以及合约的部署过程,包括确定性部署的配置。还介绍了完成部署后的后续步骤,并提供了反馈渠道。
本文档介绍了如何在Solidity中使用OpenZeppelin Contracts进行合约扩展。主要讨论了通过继承进行功能扩展和通过重写(override)改变父合约行为的方法,包括如何调用super来扩展父合约的行为。同时强调了自定义重写可能带来的安全风险,并建议开发者在更新OpenZeppelin Contracts版本时重新验证其假设。
super
本文介绍了如何使用 Hardhat 设置 Solidity 项目,编译 Solidity 源代码,添加更多合约,以及如何使用 OpenZeppelin Contracts。内容涵盖了Solidity 语言的基础知识,并提供了以太坊和智能合约的工作原理,包括使用Hardhat进行智能合约的开发、测试和部署。
本文介绍了如何使用@openzeppelin/truffle-upgrades 插件在 Truffle 迁移和测试中部署和升级合约的代理。 包括使用 deployProxy 和 upgradeProxy 函数部署和升级普通代理,以及使用 deployBeacon、deployBeaconProxy 和 upgradeBeacon 函数来部署和升级信标代理。
deployProxy
upgradeProxy
deployBeacon
deployBeaconProxy
upgradeBeacon
本文介绍了如何搭建一个Node.js项目,Node.js被广泛应用于以太坊生态系统。文章详细介绍了如何安装Node.js、创建项目、以及如何使用npm管理包。同时,还提到了使用npx运行本地安装的可执行文件,并建议使用Git进行版本控制。
本文深入探讨了在DeFi协议中集成ERC-4626代币时存在的风险,特别是通过捐赠方式操纵汇率导致的通货膨胀攻击。文章分析了包括Venus协议事件在内的真实案例,阐述了这些风险。并通过介绍相关资产价格预言机(CAPO)和快速响应终止开关等防御措施,为协议提供安全集成策略,以降低操纵风险并提高DeFi生态系统的安全性和稳定性。
本文介绍了如何使用@amxx/graphprotocol-utils包中的graph-compile工具,为应用程序自动生成定制的 schema 和 manifest 文件。文章通过一个配置示例,演示了如何索引以太坊主网上的多个合约,并使用 OpenZeppelin Subgraphs 提供的模块来简化开发流程,最后介绍了如何使用graph-cli工具部署 subgraph。
@amxx/graphprotocol-utils
graph-compile
graph-cli