EIP-681 定义了什么
EIP-681 是一项以太坊改进提案,发布在 EIPs 仓库中,描述了一种 URI 格式,用来请求别人发送以太币或调用合约函数。该 URI 以 ethereum: 开头,然后是目标地址,可选的 @ 和链 ID,可选的函数名和查询参数。扫描这种码的钱包可以构建出交易,供用户查看。
一个简单的以太币请求形如 ethereum:0x...@1?value=1e18。value 以 wei 为单位,也就是以太币的最小单位,允许使用科学计数法,所以 1e18 表示一个以太币。链 ID 告诉钱包指的是哪个网络,例如 1 表示以太坊主网。
代币转账
EIP-681 还可以描述对代币合约的调用。对于代币转账,目标地址是代币合约,函数是 transfer,参数给出收款方和金额,如 ethereum:0xTokenContract@1/transfer?address=0xRecipient&uint256=1e6。金额以代币的最小单位计,取决于代币的小数位数。
钱包对完整格式的支持各不相同。有些钱包只读取地址,有些会忽略链 ID 或函数调用,所以最好用你的付款人所用的钱包测试一下二维码。付款人在确认之前,应始终核对网络、代币和收款方。