EOS的账户管理

一个账户可视为在线的访问凭证。nodeos管理着在区块链上发布账户以及与账户相关联的行为。我们通过cleos与nodeos的交互,来实现账户的管理。

钱包与账户之间没有天然的内在联系。账户并不知道钱包的存在,反之钱包也不知道账户的存在。

在区块链上执行操作,需要使用到账号。我们使用cleos向nodeos发起请求来创建账号并且将账号发布到区块链中。在执行创建账号操作之前,我们必须确保nodeos处于运行状态。

1.创建一个新帐户

帐户需要由其他帐户创建。“eosio”是一个可授权账号。当在区块链上进行操作时必须使用eosio账号进行签名。eosio账号同时还是特殊的账号用来启动EOSIO节点,它的密码对信息信息可以在nodeos的配置文件中找到(默认在 ~/.local/shared/eosio/config/config.ini)。

假设你按照之前钱包管理一文中的说明操作,你现在应该有一个处于解锁状态的钱包,其中包含3个密钥对。

确定你使用的是你生成的公钥,而不是下面显示的公钥。

1
2
3
$cleos --wallet-url http://wallet:5555 -u http://server:7777 create account eosio mynewaccount {MyNewAccount owner Public Key} {MyNewAccount active Public Key}

$cleos --wallet-url http://wallet:5555 -u http://server:7777 create account eosio mynewaccount EOS7EzCEh94uN2k59wznzsZDcFVnpZ3wuiYvPSbb8bXDS6U7twKQF EOS5tJQSKKeiTUZEutPo9SWUoCeovV43kWxGuW21K663frcHw7GnN

命令说明:

1
$ cleos create account ${authorizing_account} ${new_account} ${owner_key} ${active_key}
  • authorizing_account: 授权的账号名称,用来支付账号创建以及后续其他新账号的费用。
  • new_account:希望创建的新账号。
  • owner_key:拥有拥有者权限的账号的公钥(详见账号与权限)。
  • active_key:希望分配给活跃权限公钥。

响应后看起来应该是这样的:

1
2
executed transaction: d4a764ae9c728f9a2c95537613445f059e4833d1cde12504f6d6e88ec10951ab  352 bytes  102400 cycles
# eosio <= eosio::newaccount {"creator":"eosio","name":"mynewaccount","owner":{"threshold":1,"keys":[{"key":"EOS6MRyAjQq8ud7hVNYc...

请注意,帐户名称必须为小写,且应小于13个字符。(仅包含以下符号.12345abcdefghijklmnopqrstuvwxyz)。请注意,不允许使用6,7,8,9,0。

2.账户信息查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$cleos -u http://server:7777 get account mynewaccount -j

{
"account_name": "mynewaccount",
"permissions": [{
"perm_name": "active",
"parent": "owner",
"required_auth": {
"threshold": 1,
"keys": [{
"key": "EOS5tJQSKKeiTUZEutPo9SWUoCeovV43kWxGuW21K663frcHw7GnN",
"weight": 1
}
],
"accounts": []
}
},{
"perm_name": "owner",
"parent": "",
"required_auth": {
"threshold": 1,
"keys": [{
"key": "EOS7EzCEh94uN2k59wznzsZDcFVnpZ3wuiYvPSbb8bXDS6U7twKQF",
"weight": 1
}
],
"accounts": []
}
}
]
}

或者也可以将所有帐户链接到给定的公钥:

1
2
3
4
5
6
7
8
$cleos  -u http://server:7777 get accounts EOS7EzCEh94uN2k59wznzsZDcFVnpZ3wuiYvPSbb8bXDS6U7twKQF

{
"account_names": [
"mynewaccount",
"test1"
]
}

======================================================================

分享一个交互式的在线编程实战,EOS智能合约与DApp开发入门

EOS教程

本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。

  • web3j教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。

汇智网原创翻译,转载请标明出处。这里是原文