温故而知新:再聊自己创建账户

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@oflyhigh·
0.000 HBD
温故而知新:再聊自己创建账户
HIVE作为用户生成内容的区块链社交媒体,吸引了世界上很多用户的目光,但是新人想加入到HIVE大家庭里来,首先面临的一个问题就是如何注册账户的问题。

![image.png](https://images.hive.blog/DQmeXqRS5YJFSDQ58ztLeryhT52MbvKxjvkBDU8VqHCDuhX/image.png)
(图源 :[pixabay](https://pixabay.com/))

回想起当年注册时,还要先注册一个脸书账户(facebook),然后才有资格注册,麻烦得不得了。

# HIVE注册方式

好在经过了多年的发展,HIVE上已经有了很多方便快捷的注册方式,新人们加入再也不会遇到O哥刚加入时的麻烦啦。


![1710826188569.png](https://images.hive.blog/DQmap1rbYct9ZTzMn7ouQ8eNAP6TX2f3VKoxSvCoHYqazgt/1710826188569.png)
(HIVE注册方式:https://signup.hive.io/)

但是你知道嘛?上图列出的注册服务提供者只不过是对HIVE上创建账户进行了一些包装,提供网页入口,优化流程方便用户操作。

除了这些注册方式外,你也可以为大家注册账户,甚至,你也可以成为专业的注册服务提供者,这一切都要从创建账户这个基本操作说起。



# 两种账户创建方式

HIVE区块链上有两种账户创建方式(***注意:之后我们讨论的账户创建方式,特指的是HIVE区块链上的创建账户这个基本操作,而非包装后的注册账户操作***),分别为:
>* ***正常的账户创建操作(create_account)***
>* ***创建申领账户操作(create_claimed_account)***

这两者的区别在于`create_account`需要支付账户创建费,当前为3个HIVE,而`create_claimed_account`并不需要消耗账户创建费,而是消耗待申领账户(`pending_claimed_accounts`)的数额(可以简单粗暴地理解为门票?)

两者的消耗操作在代码中分别对应:
>`_db.adjust_balance( creator, -o.fee );`
>`a.pending_claimed_accounts--;`

通过上边介绍可知,第一种创建方式要消耗3个HIVE,现在HIVE比较便宜,看起来问题不到,但是如果HIVE涨到10美元一枚,你还愿意消耗HIVE为其它人创建账户嘛?

所以自从HF20引入RC(Resource Credits)系统以及创建申领账户操作(`create_claimed_account`)操作后,估计没人傻到使用`create_account`创建账户啦。

(补充:***还有一种`account_create_with_delegation`方式,和`create_account`区别在于创建账户的同时delegation一些HP给新用户***)


# 疑问之:***票***从哪里来?

好了,现在我们只需探讨***创建申领账户操作(create_claimed_account)***,前边说过这个操作消耗待申领账户(`pending_claimed_accounts`)的数额。

我们管它叫做门票,那么票从哪里来呢?这又不得不提下RC(Resource Credits)系统,RC可以简单地理解成用户可用的资源,转账、发帖、点赞都耗费资源,并且资源按时间线性恢复,有效HP越多,可用资源越多。

除了上边提到的操作,我们还可以用RC来申领创建账户用的门票,这就是`claim account`操作,每成功执行一次这个操作,你创建账户的可用门票`pending_claimed_accounts`就会多一张,然后需要的时候,就可以用`create_claimed_account`来创建申领账户啦。

以下就是O哥每天申领的门票哦
![1710829164077.png](https://images.hive.blog/DQmUXXEs7KB9nHX1y2a3pHXMeYEZZeqPX5U3UpEhpn9VR56/1710829164077.png)

O哥目前已经积攒了9,766张门票,这可是个不小的数目啦。

# 疑问之:如何创建?

好,现在我们解决了票从哪里来的问题,也说了可以用`create_claimed_account`来创建申领账户。那么问题来来,具体又是如何创建的呢?

其实创建申领账户,就是对以下结构体的填充:
![image.png](https://images.hive.blog/DQmUYgpHNZ9PvyqpqwjRhkhzDKBu65CkLwoho8pj4ikFU1Y/image.png)

其中`owner`、`active`、`posting`代表相应的权限。

完成相应的填充后,然后将操作追加到transaction中,签名交易并广播将其广播出去即可。需要注意的是,创建申领账户,需要使用创建者的ActiveKEY/Owner KEY来对transaction进行签名哦。

***这事听起来很复杂,实际上也很复杂***(咦,这么说话会不会挨打),需要借助于编程或者他人编好的工具来进行操作。

所以,这时候就会明白,***那些提供账户创建(注册)服务的服务商,是有多么了不起呀,感谢他们!***

# 相关链接
* https://signup.hive.io/
* https://developers.hive.io/apidefinitions/#broadcast_ops_account_create
* https://developers.hive.io/apidefinitions/#broadcast_ops_claim_account
* https://developers.hive.io/apidefinitions/#broadcast_ops_create_claimed_account
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,