blockstackblockstack-Trans

naming-How to use BNS-Register a

2019-08-06  本文已影响0人  空乱木

FROM : https://docs.blockstack.org/core/naming/register.html

本节解释注册BNS名称,并为您可以用来理解命名空间注册成本的方法提供说明。

了解注册
查询名字登记费(参考资料)
获取当前共识散列(引用)
注册一个名字

了解注册

注册一个BNS名称需要使用加密货币。这项费用有两个来源:

-Registration fees:每个BNS名称空间对一个名称的成本收取额外的费用。注册费用在名称空间存在的第一年发送到名称空间创建者,然后发送到burn地址。每个名称的注册费不同,由名称空间本身决定,但是用户可以提前查询。

注册一个名称需要两个事务。它们是:

这个过程需要两个事务的原因是为了防止提前运行。BNS共识规则规定,只有在其匹配的预订交易在过去24小时内发送时,才能注册名称。因为一个名字之前必须收到注册,有人看区块链的对等网络不能种族受害者宣称他们试图注册名称(即攻击者需要先发送NAME_PREORDER事务,并将不得不在24小时前发送它)。

名称以先到先得的方式登记。如果两个不同的人试图同时注册相同的名字,最先完成这两步流程的人将收到这个名字。另一个人的NAME_REGISTRATION事务将被忽略,因为此时它将被认为无效。由NAME_PREORDER支付的注册费将会丢失。然而,这种情况在实践中很少见——截至2018年初,我们只知道该系统在3年多的运行中有一个被证实的实例。

全限定名的长度可以在3到37个字符之间,由字符a-z、0-9、+、-、_和..这是为了防止同伦攻击。不符合此要求的NAME_REGISTRATION事务将被忽略。

查询名字登记费(参考资料)

$ curl -sL https://core.blockstack.org/v1/prices/names/helloworld.id | jq -r ".name_price"
{
"btc": 2.5e-05,
"satoshis": 2500
}

注意使用jq -r选择“name_price”字段。这个API端点可能返回关于交易费用估计的其他辅助数据,但这是该规范保证出现的惟一字段。

获取当前共识散列(引用)

$ curl -sL https://core.blockstack.org/v1/blockchains/bitcoin/consensus
{
"consensus_hash": "98adf31989bd937576aa190cc9f5fa3a"
}

共识散列必须包含在NAME_PREORDER事务中。BNS客户端自动执行此操作。有关如何在事务中包含此内容的详细信息,请参阅事务格式文档。

注册一个名字

注册通过BNS客户端进行,例如Blockstack浏览器或Blockstack .js。参考BNS客户端管理一个本地比特币钱包,动态自动计算交易费用,并在正确的时间广播NAME_PREORDER和NAME_REGISTRATION交易。

如果您想创建自己的注册客户端,您应该看到事务格式文档。

上一篇下一篇

猜你喜欢

热点阅读