账户地址查询
节点启动挖矿时,系统会为节点用户生自动成存放Paracoin的钱包账户地址,在程序终端hc$提示符输入coin addr可查询节点已创建的账户地址。节点提供命令语法糖,可将Coin命令简写成c命令,方便操作,命令执行结果如下图所示。
提示:如终端输入命令时显示“…internal busying…”而不执行命令,表明主机系统资源被占用影响了节点挖矿进程的执行,这个问题一般是暂时性的。
账户地址助记
用户可以对账户地址命名帮助记忆,地址命名的命令为“coin sacc <账户地址> <账户名>”,例如: coin sacc 1NDHv8DJDHuK9ScicBEGNurzVUa6GLzJdD Lucky将地址命名为Luky。
coin sacc命令执行成功后,可使用命令“coin addr <账户名>”查询账户名所对应的账户地址。
账户余额查询
在程序终端hc$提示符后输入命令“c acc”,可以获得挖矿节点的所有的账户余额,如下图。
“”:表示所有未命名账户的余额总和。
“acc*”:是已命名账户的余额。
账户余额分为两个部分,如图所示
31869.99950000表示账户中已接收到的PARA币总和
30261.99950000表示账户中已被区块链网络固化的PARA币总和。俗称为“已成熟的币”
账户余额存在未成熟的部分是区块链运行特性所决定的。交易打包入区块之后,挖矿产生的区块需要广播给所有的节点,获得超过51%的节点的验证接受之后,区块才有可能被整个网络保留下来成为下一次出块依据的基础数据。经过一段时间后,随着此区块后累积的区块计算难度和块数的增加,如果该区块仍然被超过51%以上的节点所保留并用于后继挖矿,则其被网络抛弃的概率将变得极低。当此概率低到一定程度时节点会自行认定该区块所包含交易已被区块链永久固化,可以放心使用。节点对已固化交易数据统计得出的余额则为已成熟的币余额。
备份账户
账户密钥是用户操作账户地址的唯一途径,密钥一旦丢失将没有任何可行的方法能够找回。所以将账户密钥数据导出并存放于安全的地方是节点用户必须认真考虑和执行的操作,建议将密钥数据存放于没有互联网连接的可靠的多个存储设备中,定期查验数据文件,确保备份数据完整可用。
在程序终端hc$提示符输入命令“coin ekpf <密钥文件名>”,例如:coin ekpf wn.txt。导出密钥数据将被存放为纯文本文件。如下图所示,命令执行成功后wn.txt中存放了107条账户地址和对应密钥的数据。
如果没有指定存放目录路径,默认的数据存放路径为“Paralism程序安装目录\bin\”,进入该目录可获取导出的密钥文件wn.txt文件。
密钥文件内包括了每个导出账户的地址、私钥及公钥。Windows下输入type命令查看,结果如下图
导入账户
需要向节点钱包导入账户密钥时,可使用“coin ikpf <密钥文件名>命令”,例如:coin ikpf wn.txt, 没有指定密钥文件存放路径时,默认路径为“Paralism程序安装目录\bin\”,需要将wn.txt存放于该目录下供节点导入命令读取。如下图所示,导入命令执行成功导入204条账户和密钥。
继续输入c addr或coin addr查询钱包中的账户地址。
账户转账
要完成账户转账一般需要4个步骤来确保执行顺利。
确认余额足够
使用“c acc”命令获得节点钱包余额,已成熟余额的币数量为可转账的数量。
设置转账手续费
转账交易需要向矿工支付交易手续费。矿工节点在收到的交易中会优先选择手续费高的交易打包入区块进行挖矿出块,最大化自己的收益。交易手续费会随着矿工节点之间的竞争情况有所波动。区块链网络交易容量相对空闲时,手续费为0的交易也有机会被打包执行,一般建议手续费设置为0.0001,网络交易繁忙时,建议参考最近的区块中交易费用的情况来设定交易费用,确保发送的交易及时被网络确认。
交易费用设定使用“c sfee <费用数量>”设置,例如c sfee 0.0001。
发送交易转账
设定完交易费用,输入c sendtoaddr <接收方地址> <转账数量>,如下图所示红色框选部分为接收方地址,粉红色框选部分转账数量。
转账交易命令发送,交易的txid将返回给终端程序显示,如黄色框选部分。
确认交易发送成功
在程序终端hc$提示符输入命令“c acc”查询账户余额,余额减少符合预期即可确认。
输入命令“c tx <交易ID>”可查询转账交易数据,如交易数量、手续费及接收地址、已确认区块数、交易时间戳等。
接收转账
查询转账前余额
使用命令“c acc”,获取账户地址余额,可记录下来用于转账前后余额对比。例如:账户名Lucky,已成熟余额921。
查询转账后余额
在交易对方发送交易完成之后,本方使用命令“c acc”余额是否产生相应变动。同样的,输入命令“c tx <交易ID>”可查询转账交易数据。节点会根据交易的confirmations区块确认数来确定接收到的Para币是否成熟,一般,超过1500个区块确认会计入账户已成熟余额,大约为1小时。例如:账户Lucky的成熟余额由921变化为966,余额增加与预期一致,表明转账成功。
当多笔交易发生时,使用命令“c txs”可查询节点账户最近10笔交易信息。 更多交易信息查询需要通过程序调用节点的Restful API来查询获取。
钱包访问控制
区块链节点是24小时在线的设备,除了在节点主机设置防止网络攻击和数据窃取的各种必要的安全措施之外,也需要对节点钱包账户的访问进行控制,并提供数据保护防止窃取。Paralism节点提供命令对钱包设置访问口令,口令用于控制钱包访问权限,并用于加密钱包数据。
注意:设置口令后,请务必保存好自己设置的口令,或将节点钱包账户密钥导出保存于安全可靠的离线存储设备中。一旦丢失,没有任何人可以帮您找回。
钱包口令设置
在程序终端hc$提示符后输入“c encw <口令>”进行口令设置,例如c enew lucky,口令输入支持数字、英文、中文字符。命令回车后返回“ok!”表示设置成功。
口令设置后,钱包将会进入锁定状态,任何访问钱包的操作将会被要求先输入口令才可执行。用户可使用“c wpass <口令> <时间>”设置免口令操作的一段时限,单位为秒,例如 c wpass lucky 10 设置免口令操作时间为10秒。设置成功后,每次操作钱包后10秒内再次操作钱包将不需要输入口令。
更换密码口令,使用“c chwpass <旧口令> <新口令>”,例如c chwpass lucky Lucky。