Mixin Messenger 的批量转账功能

Viewed 439

Mixin Messenger 新增加了批量转账功能,允许开发者生成一个支付票据来向某个用户同时收取多个不同币种的付款,这能为很多应用场景提供极大的便利,比如 Pando 添加流动性时就可以一次收取两个币种了。

Mixin Invoice

Mixin Messenger 不能直接构造批量转账,需要开发者生成一个 Mixin Invoice 链接,类似下面这样:

https://mixin.one/pay/MIN...base64

这个 MIN 开头的 base64 字符串是如下格式:

version | recipient | R(trace | asset | amount | memo | references) | R...

相关字段要注意的是:

  • version 版本是 0,后续有版本更新可以升级。
  • recipient 是一个 MIX 开头的地址,也就是这个 Mixin Invoice 版本批量转账只能有一个收款方,这个收款方可以是个人、多签等任何 MIX 地址支持的格式。
  • R 是代表的一笔具体的转账,包含了普通转账使用的所有信息,然后有多个 R 就是多笔转账了。

具体细节可以查看我们的 Go 语言实现 https://github.com/MixinNetwork/bot-api-go-client/blob/master/invoice.go

References

MIN 票据里面的 references 是 Mixin 主网内置的引用功能,方便一个交易引用其他交易来确保交易的执行顺序和分级,每个 R 里都可以有 references,最多 16 个。

这个 reference 可以是一个主网交易 hash,还可以是一个 Invoice 内的 R 的从 0 开始的 index,这样方便用一个交易引用同一个票据里的还没发起的交易。

应用场景

这可以给很多应用提供便利,比如 Pando 这种添加流动性需要同时支付两种币,又比如有一项业务开发者希望收取 USDT 的同时再收取一笔 XIN 作为手续费,这样就可以一笔交易完成了。

也可以做一些之前不太可能做的产品,比如一键兑换钱包里所有小额币种为 XIN 等等。

新功能已经在 Mixin Messenger 2.2 版本开始正式上线全面支持。

6 Answers

这个功能厉害了!

一键兑换钱包里所有小额币种为 XIN 是刚需

确实牛逼,越来越完善,期待金融云

用户有时候根本不知道有没有需求

可能用着用着就有需求了吧

功能先做出来再看用户反馈吧

没理解 References 这个参数该怎么用。能举个应用场景吗?

留空是不是也可以?