在恒星网络上,为什么必须先激活一个帐户才能收到它?

问题描述

Stellar 支付网络的文档表明地址在激活之前无效,并且激活需要特殊操作和 1 个 XLM。

Stellar Docs 这样说:

为了防止未使用的帐户膨胀分类帐,Stellar 要求账户持有至少 1 XLM 的余额 实际存在。在获得一些资金之前,您的密钥对不会 保证账本上的空间。

为什么简单地将 XLM 从一个活跃账户发送到新地址,从而为其提供资金是不够的? 实际上,从一个地址发送资金到另一个具有新/零余额的地址 正在资助它。与此相关的是,为什么地址在收到第一笔交易之前会在分类帐中占用任何空间?

在比特币世界中,如果您想出售物品并接收比特币,您通常会生成一个新地址并告诉客户向该新地址付款。只要您将新地址与客户订单一起保存,您就始终知道客户是否/何时付款。

但是对于 Stellar,如果您必须“激活”一个地址才能接收到它,这需要额外的努力和额外的资金,只是为了使新地址真正可用。如果您在很短的时间内有大量订单,则您必须手头有相当多的 XLM 才能激活所有订单支付地址。如果订单很小,这是一笔相当大的临时前期费用。然后,您必须决定让订单保持多长时间,然后再取消订单并合并帐户以收回您的激活资金,如果客户一直没有时间付款。

Stellar 确实有备忘录字段,可用于将特定销售/客户与交易相关联,但人们经常忘记或以其他方式无法提供备忘录。那么他们的付款与他们的订单无关。由于所有客户都向同一个地址付款,这种方法还会泄露有关您已完成多少业务的信息。

解决方法

如有疑问,请进行测试和实验。

发送 1+ XLM 到新创建的地址(发送到新公共/秘密对的公共地址)有效,交易出现在公共分类账中。

不需要“激活”步骤。

Stellar 文档似乎不正确、过时或具有误导性。

,

付款是您在上面写的以及文档中解释的激活。无论付款来自谁,无论是客户还是创建者,都是如此。它们之间没有区别。但是您不需要为每笔付款创建新帐户,有 URI Scheme with callbackAPI enables you to see how much was sent and who it was from。结合这两者,您应该能够确定付款人是谁。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...