You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取二维码交易备注及生成含钱包地址、金额、备注的二维码?

生成含钱包地址、金额和备注的以太坊二维码及备注读取方案

一、以太坊URI参数的规范说明

你尝试用memo参数设置备注无效,核心原因是以太坊官方的EIP-681 URI规范里并没有定义这个参数,主流钱包仅支持规范内的参数:

  • amount:交易金额(注意单位是wei,若要传递ETH需转换,比如20 ETH对应20000000000000000000)
  • message:交易备注/描述(这才是你需要用的备注参数)
  • label:收款方标识(如商家名称)

正确的URI格式示例:

ethereum:0xYourWalletAddress?amount=20000000000000000000&message=订单编号:20240520001

如果强行用memo,仅部分小众钱包可能支持,兼容性极差,不推荐。

二、生成对应二维码的操作步骤

  1. 严格按照EIP-681规范构造完整的以太坊URI字符串
  2. 将字符串转为二维码:
    • 本地开发可以用语言对应的QR库,比如Python的qrcode库:
      import qrcode
      
      wallet_addr = "0xYourWalletAddress"
      amount_wei = "20000000000000000000"
      transaction_memo = "订单编号:20240520001"
      eth_uri = f"ethereum:{wallet_addr}?amount={amount_wei}&message={transaction_memo}"
      
      qr_img = qrcode.make(eth_uri)
      qr_img.save("eth_payment_qr.png")
      
    • 也可以用在线二维码生成工具,直接粘贴构造好的URI生成即可。

三、读取二维码中的交易备注

  1. 用扫码工具(手机钱包扫码功能、本地QR解码工具)扫描二维码,获取完整的URI字符串
  2. 解析URI的查询参数提取备注:
    • 手动解析:拆分URI的?之后部分,找到message=对应的值
    • 代码解析(以Python为例):
      from urllib.parse import urlparse, parse_qs
      
      scanned_uri = "ethereum:0xYourWalletAddress?amount=20000000000000000000&message=订单编号:20240520001"
      parsed_uri = urlparse(scanned_uri)
      params = parse_qs(parsed_uri.query)
      memo_content = params.get("message", [""])[0]
      print(memo_content)  # 输出:订单编号:20240520001
      
  3. 主流以太坊钱包扫码后,会自动识别message参数并在交易确认界面展示备注内容,无需手动解析。

内容的提问来源于stack exchange,提问作者Mojtaba Barari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:03:22