EOS命令总结
1、在一个终端中启动节点服务器
nodeos
2、配置文件中进行配置,默认路径
~/.local/share/eosio/nodeos/config/config.ini
3、启动钱包服务器
keosd
4、配置文件中进行配置,默认路径
~/eosio-wallet/config.ini
5、查看区块链统计信息
cleos get info
6、创建一个默认钱包(名称为default)
cleos wallet create
返回密码:
PW5JH8zaBkDXm3gnGq5kY9rXt9Z6sNDuYoo3QhpVYoJ9tPpAEbUBh
需要记住这个密码,因为后面还要用它来解锁钱包 —— 只有解锁的钱包,才可以 用来签名交易。
7、上面命令创建的默认钱包,其对应文件default.wallet在linux下的目录为~/eosio-wallet/default.wallet,如果你希望重新创建默认钱包,需要先删除这个文件。
8、创建钱包mytest
cleos wallet create -n mytest
返回密码:
PW5K1FRdRHxvvKLTJxTw42GK9ssge7Hyp1aVvKsSHerjTaUiQYXVA
eosio-wallet目录下也多了一个mytest.wallet文件。
9、创建钱包game
cleos wallet create -n game
返回密码:
PW5JL1oW9iLsJ4QLCt4B5TU8r8M6sXEX6YwmLaYzPWW1pxVjTPZRK
10、查看当前kesod管理的所有钱包
cleos wallet list
钱包新创建后,自动处于解锁状态,因此你可以看到钱包名后面的*符号。
11、出于安全考虑,如果在15分钟(900秒)内没有操作钱包,EOS也会锁住之前解锁的钱包,也就是说钱包进入锁定状态。可以在keosd的配置文件中修改默认时间unlock-timeout。
12、锁定所有钱包
cleos wallet lock_all
也可以重启keosd来关闭所有钱包。
13、查看所有钱包
cleos wallet list
14、解锁默认钱包
cleos wallet unlock
15、解锁非默认钱包,使用-n选项指定钱包名:
cleos wallet unlock -n mytest
16、关掉keosd,两种方式:
1)在另一个终端使用pkill keosd
2) Ctrl + C
17、查看钱包信息,发现报错
这说明在钱包服务器(即keosd)关闭时不能使用cleos wallet list命令。
18、启动keosd
19、查看钱包信息
发现这是显示的钱包信息为空,之前创建的三个钱包都没显示出来。说明在keosd重启时会关闭并隐藏所有钱包。
20、分别执行以下命令并配合对应密码解锁这三个钱包账号:
1)cleos wallet unlock
2)cleos wallet unlock -n mytest
3)cleos wallet unlock -n game
21、创建一对**
cleos create key
界面输出私钥和公钥:
Private key: 5KC9DAdCpVpJu5bX55CwAv87eBnZFETAoeY3qxDyaN5LdfUWazz
Public key: EOS6fs2hSSmkKAaSyxchtMFtPFaEgEPi7in1Ky4rSz2zhdPndyEHM
22、将私钥存入钱包里(由于从私钥可以推算出公钥,因此只需要把私钥导入钱包就可以了)
cleos wallet import 5KC9DAdCpVpJu5bX55CwAv87eBnZFETAoeY3qxDyaN5LdfUWazz
23、创建一对**
Private key: 5KgApeDEGgGPtNvJJ6u3bH95Muh9XJcJQnee9Apap6csacczFDd
Public key: EOS62i9cgHqR7KfqBEji4dWfH2Q9yrPEPwqWf96x8KSPjmCeq2VyX
24、再创建一对**
Private key: 5JS1jaRpDGLrenqmKKmesrrmHS3RgRVtztM1Yqz3D2u8cVFR11b
Public key: EOS8ZtS7aHDutv7mU8TuFd3zMcfH1SpYiGfvRvhA5sa21j9fbk39V
25、将上面创建的两个私钥分别导入game钱包
cleos wallet import -n game 5KgApeDEGgGPtNvJJ6u3bH95Muh9XJcJQnee9Apap6csacczFDd
cleos wallet import -n game 5JS1jaRpDGLrenqmKKmesrrmHS3RgRVtztM1Yqz3D2u8cVFR11b
26、核对钱包中的**
cleos wallet keys
注意,该命令显示的是公钥。但是有个疑问:怎么看出哪个公钥对应哪个钱包????
27、创建一对**
Private key: 5JwnwLYCDrVvKn1fPU3fYF5BcnrK9F6d8FeM9gWrnHLvxe8ggeD
Public key: EOS75mzNQBfUQUzkutJbGqFrq6FxjxmqtSPbTmhHEma5bHXT8Xp2g
28、将上面的私钥导入到默认钱包
这时默认钱包有两对秘钥了:
Private key: 5KC9DAdCpVpJu5bX55CwAv87eBnZFETAoeY3qxDyaN5LdfUWazz
Public key: EOS6fs2hSSmkKAaSyxchtMFtPFaEgEPi7in1Ky4rSz2zhdPndyEHM
Private key: 5JwnwLYCDrVvKn1fPU3fYF5BcnrK9F6d8FeM9gWrnHLvxe8ggeD
Public key: EOS75mzNQBfUQUzkutJbGqFrq6FxjxmqtSPbTmhHEma5bHXT8Xp2g
29、创建一个新账号mary,并依次输入默认钱包的两个公钥
cleos create account eosio mary \
EOS6fs2hSSmkKAaSyxchtMFtPFaEgEPi7in1Ky4rSz2zhdPndyEHM \
EOS75mzNQBfUQUzkutJbGqFrq6FxjxmqtSPbTmhHEma5bHXT8Xp2g
30、在上一步执行完后,发现报如下错误:
这是因为在创建账户前,需要先导入系统账号eosio的私钥到钱包里
31、导入系统账号eosio的私钥
cleos wallet import 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
注意:
1)该私钥是教程给的,可以在第二步中的config.ini中指定?
2)eosio是系统合约代码托管账户,现在可以简单地理解为,在账户eosio那里存放着用来创建账户的系统代码,因此在执行create account命令时,
始终需要首先 指定该账户。
3)在公链上,该私钥是由eos官方负责