如何在IMX用户之间直接转账ETH 无需绑定其他代币转移
IMX纯ETH转账操作完整流程
思路正确性确认
普通ETH转账和其他代币转账均走你找到的两个接口的流程,和是否绑定代币售卖无关,你的实现方向是正确的。
第一步:post_v1-signable-transfer-details接口参数填写规范
你存疑的token字段针对ETH场景按如下规则配置即可:
token.type固定填ETHtoken.data仅保留decimals:18即可,不需要传入token_address和token_id两个字段,这两个参数是ERC20/ERC721类代币专属配置,原生ETH不需要
其余字段填写规则:
amount:要转账的ETH数量乘以10^18后转换为字符串格式(例:转0.1ETH对应值为"100000000000000000")sender:发送方的以太坊公钥地址receiver:接收方的以太坊公钥地址
第二步:从接口返回结果获取缺失字段
你调用转账接口需要的所有字段都在该接口的返回体中,可以直接取值:
- 收发双方对应的vault字段:取返回结果的
sender_vault_id、receiver_vault_id receiver_start_key:取返回结果的receiver_stark_key- 签名原始数据:取返回结果的
payload_hash
第三步:生成签名并完成转账
- 用发送方的Stark Layer2私钥对上述
payload_hash进行签名,得到的结果就是stark_signature - 把所有字段拼接完成后调用
post_v1-transfers接口即可完成纯ETH转账
简化实现方案
如果不想手动处理签名、参数拼接逻辑,可以直接使用Immutable官方的JS/Python SDK,调用内置的transfer方法,传入转账金额、收款地址、代币类型为ETH即可,所有底层参数会自动生成。
内容的提问来源于stack exchange,提问作者vinibol12
相关产品推荐
相关产品推荐

