在DCore创建账户

创建新账户

账户对于区块链来说必不可少。它是由唯一的 账户名 以及一连串的密钥组成。

为了避免随意创建账户,DCore的新账户由现有账户注册,注册费用由现有账户承担。用户可以通过 网络钱包 和其他工具(如CLI_wallet)创建账户。

网络钱包 可免费为新用户创建账户,用户也无需知道是谁承担了注册费用。这是Decent用新用户注册账户提供的一种服务。

创建您的第一个账户

如上所述,为创建新账户(也就是您的第一个账户),您需要通过一个已经在DCore区块链注册的现有账户来帮您完成注册。为此,您只需要向为您注册的现有账户/注册者提供 账户名 公钥。为保证您的账户安全,请不要向任何人提供您的 助记词 私钥 。通过以下方法操作来获取您的 助记词 私钥 公钥,这些与用户名一起共同确定您的 账户名

密钥生成

提醒
若您忘记了登录信息,助记词是您找回账户的唯一凭证。

具体操作:
钱包API函式 suggest_brain_key 生成新的 助记词 以及对应的 私钥 公钥,用于创建新的账户。

  • 助记词 - 一长串16个随机组成的单词,其足够生成一个 私钥
  • 建议的助记词 - 一串容易且方便记忆的字符。
brain_key_info suggest_brain_key();

返回值

  • 建议的 助记词 私钥 (WIF/钱包导入格式)和 公钥

调用 - 助记词

suggest_brain_key

回应

suggest_brain_key
{
  "brain_priv_key": "SMUG NAPHTHA OCHER WHELM SOVCERY PIGLY GUDGET LOTA SELF LATEX GNOSTIC GIFT IDANT THEYLL SPLOTCH FIXATE",
  "wif_priv_key": "9JBQVbjNkjRqT4GZJpdmbt7AS5ji8VfN42cfFQ9v5PZpRyVub8f",
  "pub_key": "DCT9SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc"
}

另一个生成新密钥的方法是利用密钥生成器程序,该程序支持线下生成密钥。以上的两种方法都可以生成密钥。

可通过返回的 公钥 在DCore创建账户。关于 注册账户 的方法,在接下来的部分会介绍。

通过wif_priv_key向钱包导入新创建的账户信息,接下来如何向CLI钱包导入账户信息也会在这部分介绍。

利用已生成的公钥注册账户

重要提示
请您依照RFC 1035文法为您的账户设置账户名(例如:长度至少5个字符,以字母开头,所有字母必须小写,非字母和数字的字符只能包括小数点和连字符等)

友情提示,以下方法可供注册者使用。

方法说明:

注册账户 - 在DCore区块链上注册第三方账户。这个功能适用于您(作为注册者)在注册新账户,但您不拥有该账户的私钥,且该账户不存于DCore区块链上。作为注册者,最终用户会生成他们自己的个人密钥,并将公钥发送给您。注册者会通过这个方法代表最终用户注册账户。

signed_transaction register_account(string name,
                                    public_key_type owner,
                                    public_key_type active,
                                    string registrar_account,
                                    bool broadcast = false);

参数:

  • name - 账户名, 账户名在DCore区块链是唯一的。
  • owner - owner - 新账户的所有者密钥。此密钥代表对该账户的绝对控制权。通常情况下,更新账户密钥时才会用到该密钥。
  • active - 新账户的活跃密钥。活跃密钥代表着账户的常用密钥。此密钥可以控制该几乎该账户所有的操作。
  • registrar_account - 该账户支付注册费并且为交易签名。
  • broadcast - 当该数值为真时,交易就会在全网广播。

重要提示
除所有者密钥和活跃密钥外,账户也需要 备忘密钥(memo_key) ,可用于加密/解密交易备忘。运用此种方法, 备忘密钥(memo_key)等同于 活跃密钥(active_key)
为了操作更简便,我们在以下示例中使用相同的所有者密钥和活跃密钥。虽然这样的设置是有效的,但却会降低账户的安全性。
另外,需要提到的是,账户密钥可以随后变更。

返回值:
注册账户的签名交易

调用 - registrar_account

register_account accountname DCT8SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc \
DCT8SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc decent true

回应:

register_account accountname DCT9SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc DCT9SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc decent true
{
  "ref_block_num": 24034,
  "ref_block_prefix": 2856729761,
  "expiration": "2017-11-13T13:11:10",
  "operations": [[
      1,{
        "fee": {
          "amount": 500000,
          "asset_id": "1.3.0"
          },
        "registrar": "1.2.15",
          "name": "accountname",
          "owner": {
            "weight_threshold": 1,
            "account_auths": [],
            "key_auths": [[
                "DCT9SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc",
                1
              ]
            ]
          },
        "active": {
              "weight_threshold": 1,
              "account_auths": [],
              "key_auths": [[
                  "DCT9SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc",
                  1
                ]
              ]
            },
            "options": {
              "memo_key": "DCT9SFcioQFYXnNHNSAEcLb5o5EovrhjPk4SMbYnag6t6VhwuvMAc",
              "voting_account": "1.2.3",
              "num_miner": 0,
              "votes": [],
              "extensions": [],
              "allow_subscription": false,
              "price_per_subscribe": {
                "amount": 0,
                "asset_id": "1.3.0"
              },
              "subscription_period": 0
            },
            "extensions": {}
          }
        ]
      ],
      "extensions": [],
      "signatures": [
        "1f4d1caa9fffa8c7723169bcce6de18ca1acc306b60e07e9efd0906e8fdb02f5cc69961f59271c89b900917d764462157110ac4092e0f767233db9fd31ea69aaae"
      ]
  }
向CLI钱包导入账户

如果您已经在区块链平台上注册了账户,您需要导入账户信息以使用CLI钱包。下面会为您展示具体操作:

方法说明:
import_key - 输入账户的个人密钥。

bool import_key(string account_name_or_id,
                string wif_key);

参数:

  • account_name_or_id - 密钥所有者账户
  • wif_key WIF格式下的个人密钥

返回值:

  • 密钥与账户相符,返回值为 true

调用 - import_key :

import_key decent 9JBQVbjNkjRqT4GZJpdmbt7AS5ji8VfN42cfFQ9v5PZpRyVub8f

回应:

import_key decent 9JBQVbjNkjRqT4GZJpdmbt7AS5ji8VfN42cfFQ9v5PZpRyVub8f
true
创建可自动导入CLI钱包的新账户

在这一部分,我们会展示如何通过您已有的账户创建另一个账户。以下方法既包括如何创建账户,也包括向CLI钱包导入账户信息。

方法说明:

  • create_account_with_brain_key - 需要您指定一个 brain key
signed_transaction
create_account_with_brain_key(string brain_key,
                              string account_name,
                              string registrar_account,
                              bool broadcast = false);

参数:

  • string brain_key - 用于生成账户密钥的助记词。
  • string account_name - 账户名,在区块链上具有唯一性并且最少包含5个字符。
  • string registrar_account - 为用户支付费用的账户。
  • broadcast - 当数值为真,交易信息会在全网络公布。

调用 - create_account_with_brain_key :

create_account_with_brain_key \
"SMUG NAPHTHA OCHER WHELM SOVCERY PIGLY GUDGET LOTA SELF LATEX GNOSTIC GIFT IDANT THEYLL SPLOTCH FIXATE" \
accountname decent true

回复:

create_account_with_brain_key "SMUG NAPHTHA OCHER WHELM SOVCERY PIGLY GUDGET LOTA SELF LATEX GNOSTIC GIFT IDANT THEYLL SPLOTCH FIXATE" accountname decent true
{
  "ref_block_num": 32575,
  "ref_block_prefix": 1149709988,
  "expiration": "2017-12-21T14:50:25",
  "operations": [[
      1,{
        "fee": {
          "amount": 500000,
          "asset_id": "1.3.0"
        },
        "registrar": "1.2.15",
        "name": "accountname",
        "owner": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [[
              "DCT8NC1kNjEeqRp8SnEPQWtpeCLoJRuquH5jHtE78NNTthSi6t2uX",
              1
            ]
          ]
        },
        "active": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [[
              "DCT71c3ord9nDJuVipGgZMcALLzya9DRqu2ms9dpyn4pv5wTMMNRx",
              1
            ]
          ]
        },
        "options": {
          "memo_key": "DCT7ZdBtDtrAXCidXHPNrMyagegBLN8ruv6EmJ5EYdq6rYJLPztuH",
          "voting_account": "1.2.3",
          "num_miner": 0,
          "votes": [],
          "extensions": [],
          "allow_subscription": false,
          "price_per_subscribe": {
            "amount": 0,
            "asset_id": "1.3.0"
          },
          "subscription_period": 0
        },
        "extensions": {}
      }
    ]
  ],
  "extensions": [],
  "signatures": [
    "20124f6d942d7eaf555c7c3bc420d35b877123ef63d1440edc904b5ae46c17df1d53dc433a3a1785ae8f9dba7a366639be140ecf0278a369100744189eaadb5989"
  ]
}

信息
如上面的示例,此方法确定可以从 所有者密钥(owner_key)中生成不同的 活跃密钥(active_key) 备忘密钥(memo_key)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值