EOS智能合约开发前准备——账户和权限管理

在说智能合约开发前先说这个,因为所有对智能合约的操作都是建立在账户和权限管理的基础上的。

先说下几个概念:

钱包

钱包是存储密钥的客户端。密钥可以与多个账户权限相关联。钱包本身受密码保护。

cleos 可以使用wallet相关命令。

账户

帐户是存储在区块链中的可读名称,需要账户才能将交易转移或以其他方式推送到区块链。而对它的各种操作取决于具体的权限配置。

同样的,cleos可以使用account相关命令。

权限

原生权限:

owner  可以对账户进行任何操作,包括变更账户所有权。只有少数交易需要用到这个权限。

active  用于转移资金,投票或别的高等级更改。

自定义权限:

开发过程中有原生权限就能满足需求了,不深入展开。

操作智能合约的流程:

EOS智能合约开发前准备——账户和权限管理_第1张图片

详细操作:

1.启动单节点测试网络

nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin


EOS智能合约开发前准备——账户和权限管理_第2张图片

2.创建钱包

cleos wallet create

创建默认钱包default ,加-n参数 可以指定钱包名称  密码注意保存


3.打开钱包

cleos wallet open

刚创建的钱包是默认已打开,下次启动nodeos时需要打开指定钱包  加-n参数 可以指定钱包名称


可以使用 cleos wallet list 查看钱包列表。


4.解锁钱包

cleos wallet unlock --password xxxxx

刚创建的钱包是默认已解锁,下次启动nodeos时需要解锁。

生产环境不建议添加--password xxxxx,等提示输入时再手动输入。因为密码会留在命令行的历史记录增加隐患

5.创建公钥和私钥

cleos create key(刚创建的钱包默认生成一个公钥和私钥,你也可以直接使用)



6.导入公钥和私钥到钱包

cleos wallet import 你的私钥


可以使用 cleos wallet keys 查看已解锁的钱包中的公钥和私钥列表。


EOS智能合约开发前准备——账户和权限管理_第3张图片

7.创建指定账户,并用公钥进行权限关联

cleos create account 创建者账户名 生成的新账户名 Owner权限公钥 Active权限公钥 (系统内置了一个特殊账户eosio,当没有一个账户时,可以用它当作创建者账户名)


可以使用 cleos get accounts 你指定的公钥  查看指定公钥对应的账户列表。


以上便是账户和权限管理的部分了,相关的命令你可以封装成shell脚本,方便以后的开发。用账户来操作智能合约将在下一章展开。

你可能感兴趣的:(EOS智能合约开发前准备——账户和权限管理)