在以太坊生态中,除了原生代币 ETH,还有数量庞大的 ERC-20 代币,这些代币的标准化使得它们可以在 DApp(去中心化应用)之间自由流转,当我们谈论 ERC-20 代币转账时,除了基础的 transfer 函数,还有一个至关重要且功能强大的函数——transferFrom,本文将深入浅出地解析 transferFrom 的工作原理、应用场景以及其背后的核心概念——allowance(授权)。

transferFrom 是什么?

transferFrom 是 ERC-20 代币标准中定义的一个核心函数,它的作用是从一个账户中转移代币,而这个转移操作是由第三个账户发起的

换句话说,它允许账户 A 授权账户 B 可以从 A 的账户中提取最多 X 数量的代币,之后,账户 B 就可以调用 transferFrom 函数,从账户 A 的钱包里转走不超过 X 数量的代币到账户 C。

函数签名如下:随机配图