以太坊:ETH、Gas 费与 ERC-20 代币详解
What Ethereum is, how gas fees and ERC-20 tokens work, and how the Chaingateway API sends and receives both without running a node.
以太坊是一条运行智能合约的公链——链上存储的代码,执行结果与代码本身完全一致——并在此基础上结算两类价值:原生货币 ETH,以及按照 ERC-20 等标准、在以 ETH 计价的合约内构建的代币。本页说明这在实践中意味着什么:谁支付 gas、代币转账与 ETH 转账有何不同、权益证明下的终局性如何运作。至于具体的技术集成,Chaingateway 的 Ethereum API 通过 REST 发送和接收这两者,代码背后无需同步节点,也无需 web3.js 之类的库。
以太坊结算什么:ETH 与代币
以太坊结算 ETH 本身,也结算存在于以 ETH 计价的智能合约内的代币。ERC-20 是 USDT、USDC、DAI 等数千种资产背后的代币标准——一套共享的合约接口(balanceOf、transfer、approve),让任意钱包或交易所都能以同样的方式与任意兼容代币交互。ERC-721 和 ERC-1155 把同一套合约模型扩展到非同质化和多代币资产上。我们的ERC-20 代币标准指南更详细地介绍了该格式,ERC-20 地址指南则说明了地址与代币合约的区别。
Gas:谁支付,付多少
每一笔以太坊交易都需要支付 gas,由发送地址以 ETH 支付——收款方永远不用付。一次普通的 ETH 转账固定消耗 21,000 gas;ERC-20 转账要执行合约代码,消耗量是这个数字的若干倍,具体因代币而异。自伦敦升级(EIP-1559)以来,每单位 gas 的价格分为网络销毁的基础费用和支付给出块者的优先小费,网络繁忙时两者都会上涨。持有代币但没有 ETH 的钱包无法发送代币,因为代币合约本身无法支付自己的执行成本——钱包需要在代币余额之外持有 ETH。接收 ETH 或代币对收款方而言完全免费;只有资金再次转出时才涉及 gas,包括资金库钱包把客户地址的存款归集进来的操作。
在 Chaingateway API 中,gas 限额、gas 价格以及 EIP-1559 的费用上限(maxFeePerGas、maxPriorityFeePerGas)都是交易请求中的可选字段。省略它们,API 会在构建和广播交易时自动填写;需要固定费用时也可以自行传入。
权益证明:出块时间与终局性
自合并(The Merge)以来,以太坊运行在权益证明之上。区块以固定的 12 秒时隙到来,32 个时隙组成一个 6.4 分钟的纪元,当三分之二的质押 ETH 完成验证后,一个区块大约在两个纪元后——约 13 分钟——达到终局(截至 2026 年年中的协议参数)。终局意味着网络若要回滚该区块,就必须摧毁大量质押中的 ETH。一笔转账通常在几秒到一分钟内被打包进区块;此后每多一个时隙都会增加确定性。多数应用在打包完成再加上几个区块之后,就为普通金额的存款入账,把完整的 13 分钟等待留给大额资金——存款 Webhook 会把链上事件告诉你,具体的入账门槛则是你自己代码里的策略决定。
通过 REST 发送和接收以太坊
Webhook
注册一个回调地址,存款确认后就会收到一条带 X-Signature 签名头的 HTTPS 通知。投递没有内置的自动重试——失败的通知会列在 GET /api/v2/ethereum/webhooks/notifications/failed 中,可以用一次调用重新发送。
简单的交易
发送 ETH 和 ERC-20 代币时,gas 限额、gas 价格和 nonce 都是可选的请求字段。只需提供收款地址、代币和金额,其余由 API 补全,需要掌控时也可以自行固定费用字段。
安全的地址管理
每次请求都会校验地址格式,已有的私钥通过 POST /api/v2/ethereum/addresses/import 导入,以密码加密后存储。整体架构是非托管的。
解码后的查询
交易通过 GET /api/v2/ethereum/transactions/{txid}/decoded 以可读 JSON 形式返回,应用程序读取的是结构化字段,无需自行解析原始合约输出。
三步开始使用
注册账户并从控制台复制 API key。7 天试用无需信用卡,也无需 KYC。
调用 GET /api/account 确认 key 可用,然后创建一个地址,或通过 POST /api/v2/ethereum/addresses/import 导入已有地址。
添加请求头 X-Network: testnet,从公共 Sepolia 水龙头给地址充值,发送一笔测试用的 ERC-20 转账。注册 Webhook 后去掉该请求头——同一段代码即可在主网运行。
以太坊、Polygon 与 Arbitrum:同一种请求格式
以太坊所用的 ERC-20 请求格式,在 API 支持的其他 EVM 链上重复出现:/api/v2/polygon/transactions/erc20 和 /api/v2/arbitrum/transactions/erc20 与以太坊自身路由使用相同的字段,BNB Smart Chain 则使用 /api/v2/bsc/transactions/bep20。为以太坊编写的代码只需修改路径,就能移植到 Polygon 或 Arbitrum 上——当主网 gas 费让小额转账不划算时,这一点很重要。完整的链列表见区块链 API 概览。
常见问题
准备好在以太坊上构建了吗?
在 app.chaingateway.io/register 注册账户,在试用期内发送一笔 Sepolia 上的 ERC-20 转账。完整的接口参考见 Ethereum API 文档,方案与速率限制另有单独页面。