找到约 13 条结果

文章 ABI 编码深入解析

GM fam,欢迎来到我的第一篇 Medium 博客文章。 昨晚我看到 chad [z0age](https://twitter.com/z0age) 的一条推文,意识到自己对 ABI 编码的工作原理了解不够,因此在阅读了 [solidity docs](https://learnblockchain.cn/docs/solidity/abi-spec.html) 后,这是...

文章 NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?

我们都知道,在加密领域进行二级市场交易的时候,大家通常使用 USDT 本位进行价格换算,以至于像 USDT\USDC 这种中心化担保的美元稳定币成为了行业内最具影响力的加密资产交易结算单位。但是当我们来到 NFT 资产相关的二级...

文章 ERC20授权的更优方案 - ERC20Permit 签名授权

## ERC20Permit 是什么 允许用户通过链下离线签名授权,链上直接处理交易。而不像传统的 `ERC20` 需要先链上 `approve`,然后再执行交易逻辑,简化交易的流程及拥有 `gas` 费代付的能力。 在许多场景下,我们可以认为 `ERC20Permit` ...

文章 给人惊吓的代码

![](https://img.learnblockchain.cn/2021/08/20/16294429354192.jpg) 如果你也是软件工程师,你应该听过一些软件工程的格言。虽然我并不主张严格遵守每一句格言,但有一些值得你放在心上。 今天我想讲的是 “ *最少惊吓原理* ”。名字挺...

文章 ethscriptions铭文链和哑合约

# ethscriptions 铭文链和哑合约 ## 备注 时间:2023 年 12 月 9 日 作者:[33357](https://github.com/33357) ## evm 上的铭文 以 brc20 为代表的 btc 铭文从一开始就只是用来发行资产,功能非常有限。也许是受到了 L2 在 eth 上大火的启...

文章 涨知识—使用imToken钱包还能调用合约!

# 一、imToken能调合约? 今天在看以太坊多重签名时,发现都是通过智能合约来实现的(类似投票合约),那么就有一个问题,主流的钱包如imToken,怎么调用智能合约呢。 以前使用imToken钱包都是直接转账,从未想过使用imToken...

文章 安全审计中WETH的transferFrom问题

```javascript contract WETH_TEST{ IWETH public immutable WETH; constructor(address _wethAddress){ WETH = IWETH(_wethAddress); } function transferWETH(address to, uint256 amount) public onlyOwner{ require(to!=address(0), "Invalid address"); require(amount > 0,"Invalid amount "); ...

文章 web3E(用于单片机的以太坊框架)编译环境说明

最近在弄IOT上链的方案,基于树莓派的还好一些,原生支持web3j,单片机就比较麻烦了。我大概搜了一下,2018年有人做了一个web3-arduino,2020年有人做了一个web3e,但这两个都有起码一年没再继续做维护了。 而且网上的相关资料...

文章 OpenZeppelin:安全高效智能合约的秘密武器

![](https://img.learnblockchain.cn/2025/04/24/0GPuTj_0OnFybvV63.png) OpenZeppelin 是一家公司和一个开源平台,在区块链和智能合约开发生态系统中广受尊敬。以下是一个全面的概述: ## 概述 OpenZeppelin 为 Ethereum 和其他区块链平台提供了一个安...

文章 探讨 Huff :对比Solidity、Yul和原始EVM能力——第二部分

## 引言 在 [**第 1 部分:精通 Huff:从零开始构建 Gas 优化的智能合约**](https://learnblockchain.cn/article/16800) 中,我们探索了 Huff 的语法、结构和初始用例。现在,在 **第 2 部分** 中,我们将 Huff 与 **Solidity** 和 **Yul** 进行比较,完...

文章 发现Compound的第二个严重漏洞

# 发现Compound的第二个严重漏洞 ## 前置条件 1. 开通了多个代币的市场 2. 代币市场中有ERC777 ## 利用过程 1. 攻击者在多个市场中存入资产,获得份额凭证。 2. 攻击者向ERC777的代币市场发起借款,并在借款转账时,触发事...

文章 使用 Foundry 命令和脚本,快速部署与开源一个合约

# cast命令初步使用 cast 与 forge 不同,是用于与以太坊合约进行交互的工具。 而 forge 侧重于合约的开发和测试,两者配合使用。 ## 常用钱包命令 + `cast wallet -h` 查看帮助 + `cast wallet new/new-mnemonic` 生成一个私钥或助记词 + `ca...

文章 Solidity 构造函数

回到我们的滚动 ERC20 示例,我们做了一些奇怪的事情,我们直接在合约中设置了 banker 变量。 ```solidity contract ERC20 { address public banker = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4; mapping(address => uint256) public balances; function se...