首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深入浅出区块链技术

    Openzeppelin的三种代理模式

    Openzeppelin[2]: https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/proxy 有三种代理模式 : 透明代理: https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/proxy/transparent UUPS: https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/proxy/utils 信标代理: https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/proxy/beacon UUPS 图如下 用户和代理合约交互

    2.2K20编辑于 2022-11-07
  • 来自专栏深入浅出区块链技术

    探索Openzeppelin 新增的跨链功能

    https://eips.ethereum.org/EIPS/eip-712 [11] CrossChainEnabled.sol: https://github.com/OpenZeppelin/openzeppelin-contracts /crosschain/CrossChainEnabled.sol [12] AccessControlCrossChain.sol: https://github.com/OpenZeppelin/openzeppelin-contracts ://docs.openzeppelin.com/contracts/4.x/api/crosschain [14] 这里的合约代码: https://github.com/OpenZeppelin/openzeppelin-contracts tunnel/FxBaseRootTunnel.sol [17] CrossChainEnabledPolygonChild.sol: https://github.com/OpenZeppelin/openzeppelin-contracts CrossChainEnabledPolygonChild.sol [18] AccessControlCrossChain.sol: https://github.com/OpenZeppelin/openzeppelin-contracts

    70820编辑于 2022-11-07
  • 来自专栏深入浅出区块链技术

    使用Foundry,感受快,rust对写合约的支持

    test 是不会有变化的,需要加参数 -vvvvvvvvvvvvvv v 越多日志越详细,很 unix 如下: 加入依赖 如果需要安装依赖包,像这样 forge install openzeppelin/openzeppelin-contracts src = 'src' out = 'out' libs = ['lib'] remappings = ['ds-test/=lib/ds-test/src/,'@openzeppelin=lib/openzeppelin-contracts /'] 改好后像这样: remappings = ['@ds-test=lib/ds-test/src/','@openzeppelin=lib/openzeppelin-contracts/']

    98420编辑于 2022-02-22
  • 来自专栏深入浅出区块链技术

    安全的处理 ERC20 转账(解决非标准 ERC20 问题)

    怎样安全的处理 ERC20 转账 // 不正确的版本 import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master SafeERC20 的实现基本上就是像上面的 Uniswap 版本一样,你可以像下面这样用它: import "https://github.com/OpenZeppelin/openzeppelin-contracts /blob/master/contracts/token/ERC20/SafeERC20.sol"; import "https://github.com/OpenZeppelin/openzeppelin-contracts etherscan.io/address/0xe41d2489571d322189246dafa5ebde1f4699f498#code [6] 代码: https://github.com/OpenZeppelin/openzeppelin-contracts

    2.1K20发布于 2021-10-13
  • 来自专栏开源服务指南

    开源日报 0825 | 简化开发过程,提升Swift应用性能的扩展工具库

    OpenZeppelin/openzeppelin-contracts[1] Stars: 22.8k License: MIT OpenZeppelin Contracts 是一个用于安全智能合约开发的库 其核心优势和主要功能包括: 提供高质量、支持多语言的正文仿宋解决方案 改刻自民国活字南宋,保留了其独特气质与趣味 削弱笔画对比度,规整了字形结构与版面效果 相关链接 [1] OpenZeppelin/openzeppelin-contracts : https://github.com/OpenZeppelin/openzeppelin-contracts [2] redis/go-redis: https://github.com/redis

    53120编辑于 2023-09-02
  • 来自专栏Ethereum

    使用Foundry开发第一个ERC20合约

    安装依赖编写 ERC20 合约,我们需要借助 OpenZeppelin,使用下面的命令安装依赖: $ forge install OpenZeppelin/openzeppelin-contracts $ forge remappings > remappings.txtforge install 命令会自动安装最新版的 OpenZeppelin/openzeppelin-contracts 库到

    56710编辑于 2025-01-09
  • 来自专栏深入浅出区块链技术

    如何使用 Dapptools | 类似 MakerDAO 使用的代码

    例如,对于 OpenZeppelin,[25],我们将使用: dapp install OpenZeppelin/openzeppelin-contracts 你应该会在 lib 文件夹中看到一个名为 openzeppelin-contracts的新文件夹。 所以我们创建了一个名为 remappings.txt 的文件并添加: @openzeppelin/=lib/openzeppelin-contracts/ ds-test/=lib/ds-test/src 例如在remapping.txt我们看到: @openzeppelin/=lib/openzeppelin-contracts/ 这意味着我们告诉 dapptools,当它编译一个文件时,如果它在 import 语句中看到@openzeppelin/,它应该在lib/openzeppelin-contracts/中查找文件。

    1.2K30编辑于 2022-11-07
  • 来自专栏Ethereum

    在VScode中使用Foundry

    示例目录结构:project├── contracts├── lib│ ├── forge-std│ └── openzeppelin-contracts├── script├── src└── test在这种情况下,你需要在 remappings.txt 文件中添加一行来配置 OpenZeppelin 的重映射:@openzeppelin/=lib/openzeppelin-contracts

    84210编辑于 2025-01-06
  • 来自专栏网络安全攻防

    智能合约安全之笔误安全问题

    参考链接 https://github.com/ethereum/solidity/issues/1760 https://github.com/OpenZeppelin/openzeppelin-contracts

    31520发布于 2021-07-21
  • 来自专栏深入浅出区块链技术

    Foundry 教程: 用Solidity编写ERC-20测试用例

    v4.5.0 $ forge update foundry-rs/forge-std 现在将该库添加到现有的remappings[8]文件中: forge-std/=lib/forge-std/src/ openzeppelin-contracts /=lib/openzeppelin-contracts/contracts/ 现在使用 Openzeppelin 合约来创建一个新的合约,只要把现有的文件重命名为MyERC20.sol: // SPDX-License-Identifier : MIT pragma solidity >=0.8.0; import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol";

    1.8K20编辑于 2022-05-25
  • 来自专栏深入浅出区块链技术

    每周以太坊进展2022/7/23

    blog.premint.xyz/p/july-17-2022-incident-update [39] ERC165Checker: https://github.com/OpenZeppelin/openzeppelin-contracts /security/advisories/GHSA-qh9x-gcfh-pcrw [40] SignatureChecker: https://github.com/OpenZeppelin/openzeppelin-contracts

    55650编辑于 2022-11-07
  • 来自专栏网络安全攻防

    智能合约审计之BurnFrom设计缺陷攻击演示

    依次类推,可知授权用户B可以销毁被授权用户A所有的资产 安全建议 采用OpenZeppelin官方标准 https://github.com/OpenZeppelin/openzeppelin-contracts

    87920发布于 2021-07-21
  • 【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?

    记得是因为fork了OpenZeppelin/openzeppelin-contracts的项目,之后就被GitHub 要求强制开启 2FA 双重身份验证了,一拖再拖,再过几天帐户操作将受到限制了,只能去搞一下了 我是在fork了OpenZeppelin/openzeppelin-contracts的项目,之后就被GitHub 要求强制开启 2FA 双重身份验证了,如下 GitHub users are now

    1.9K00编辑于 2025-04-07
  • 来自专栏网络安全攻防

    ERC-20标准规范

    Approval(owner, spender, value) 接口作用域、接口参数类型、接口返回值类型、参数与返回值个数等具体信息如下: https://github.com/OpenZeppelin/openzeppelin-contracts indexed spender, uint256 value); } ERC-20 ERC-20是对IERC-20接口的实现,具体代码如下所示: https://github.com/OpenZeppelin/openzeppelin-contracts 参考链接 https://docs.openzeppelin.com/contracts/4.x/api/token/erc20 https://github.com/OpenZeppelin/openzeppelin-contracts /blob/master/contracts/token/ERC20/IERC20.sol https://github.com/OpenZeppelin/openzeppelin-contracts/

    2.8K71发布于 2021-03-23
  • 来自专栏深入浅出区块链技术

    深入Solidity数据存储位置 - 存储

    参考资料 深入以太坊 , Part 2[20] Solidity 文档:状态变量在储存中的布局 g[21] openzeppelin-contracts/StorageSlot.sol[22] Solidity protocol/pool/PoolStorage.sol [13] 来源:OpenZeppelin Github代码库,ERC20.sol: https://github.com/OpenZeppelin/openzeppelin-contracts =KDGCQ4OwQ47e2NACgQ8WWg [16] 来源:OpenZeppelin Github资源库中的Timer.sol: https://github.com/OpenZeppelin/openzeppelin-contracts Solidity 文档:状态变量在储存中的布局g: https://learnblockchain.cn/docs/solidity/internals/layout_in_storage.html [22] openzeppelin-contracts /StorageSlot.sol: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/

    2.5K30编辑于 2022-11-07
  • 来自专栏深入浅出区块链技术

    [译]如何利用OpenZeppelin编写可升级的智能合约

    // contracts/Example.sol pragma solidity ^0.6.0; import "github.com/OpenZeppelin/openzeppelin-contracts // contracts/Example.solpragma solidity ^0.6.0; import "github.com/OpenZeppelin/openzeppelin-contracts // contracts/Example.solpragma solidity ^0.6.0; import "github.com/OpenZeppelin/openzeppelin-contracts initializer修饰符,该修饰符可以解决以下问题: // contracts/Example.solpragma solidity ^0.6.0; import "github.com/OpenZeppelin/openzeppelin-contracts 您需要特别注意手动调用所有父合约的初始化函数initializers: // contracts/Example.solpragma solidity ^0.6.0; import "github.com/OpenZeppelin/openzeppelin-contracts

    4K61发布于 2020-03-26
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 1 课:部署你的第一个 Solidity 合约

    .├── foundry.toml # 项目的配置入口├── lib/ # 依赖库目录,用于存放外部依赖(比如 openzeppelin-contracts)├── README.md

    77820编辑于 2025-07-24
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 17 课:合约设计模式实战(二)—— Access Control 与权限管理

    1 ether); }}运行测试:# 如果没有安装 openzepplin ,需要先安装➜ tutorial git:(main) ✗ forge install OpenZeppelin/openzeppelin-contracts

    60810编辑于 2025-08-21
  • 来自专栏深入浅出区块链技术

    像Uniswap一样使用Merkle执行Airdrop

    ——使用了 2 个主要库 前端:https://github.com/miguelmota/merkletreejs Solidity:https://github.com/OpenZeppelin/openzeppelin-contracts

    96330编辑于 2022-11-07
  • 来自专栏Ethereum

    深入了解Foundry配置文件

    auto_detect_remappings = trueremappings = ["@chainlink/=lib/chainlink/"]工作原理:递归扫描 libs 目录生成路径映射(如 @openzeppelin/=lib/openzeppelin-contracts

    62310编辑于 2025-02-05
领券