第三章 kuosd
概述
UOS钱包与UOS账号
UOS钱包,是专门负责保管钥匙的软件,就像你为了安全起见,把家里的保险柜钥匙放在一个专用的钱包里一样。
UOS账号,代表你在UOS网络里的身份,相当于你在某个银行的卡号,你的朋友要转钱给你,就只认这个卡号。你在UOS网络上转币、抵押、领糖果等,都用这个账号进行。
UOS账号与UOS钱包的关系是,UOS账号进行任何操作,都需要UOS钱包里存放的钥匙来授权,不然这个账号就干不了活。
UOS账号名,由12位字符组成,包含数字1-5和小写字母a-z,这是不需要花钱购买的。但是,你想要简短一点的、个性化的名字,比如“money”,就需要花UOS购买了。
Owner Key和Active Key
UOS的账户,通常有两种权限的密钥,即:Owner Key、Active Key。
Owner Key和Active Key之间的关系,可以看作是领导和下属的关系。平时,都是员工Active Key先生来处理日常事务,比如转账、投票等,而领导Owner Key很少露面。只有当Active Key搞不定时,他才会出来解决问题,比如,Active Key忘记了自己的密钥,领导Owner Key就可以帮他重新设置。
专业一点的解释是:Owner Key的权限表示所有权,它不但具有Active Key的所有权限,还有重置Owner Key、Active Key等权限,要注意离线妥善保存。
kuosd介绍
kuosd 是一个轻客户端钱包,负责管理钱包,以便在广播到网络之前保护密钥和签署交易,在本地计算机上运行并在本地存储您的公私钥。
首先运行一次kuosd,然后停掉kuosd,就会自动建立目录和文件。
找到文件并打开~/uosio-wallet/config.ini。
将第一行的服务地址设置为:http-server-address = 127.0.0.1:1677
这时配置的钱包的端口是1677 ,以后用命令行连接钱包时使用的url配置为 --wallet-url http://127.0.0.1:1677
钱包常用RPC
启动kuosd
可以直接输入命令kuosd即可启动kuosd。
停止kuosd
使用cluos创建钱包
下面我们使用命令行进行操作,需要使用到cluos,它是一个命令行工具,可以与noduos公开的REST API进行交互,前提是noduos需要配置uosio :: chain_api_plugin插件。
创建钱包
钱包是授权私钥的存储库,与区块链交互所必需的。通过如下命令创建钱包,可以通过-n参数指定创建的钱包名称。如果不指定钱包名称,则会创建一个名为default的默认钱包。
创建指定名称的钱包
返回如下:(注意备份钱包秘钥)
成功后将会生成钱包的解锁密码,钱包15分钟不用将会自动锁定,注意一定要保存最后一行的密码,需要使用它解锁这个钱包。
解锁钱包
可以通过两种方式解锁钱包,推荐使用第二种方式解锁。
直接在命令行上添加密码参数,可以通过-n参数指定钱包名称
在交互模式下解锁
接着提示password:,然后输入密码即可
两种方式解锁成功后都会输出Unlocked: default。
注意:直接在命令行上使用您的密码并将其记录到您的bash历史记录中通常是不安全的,因此最好在交互模式下解锁。出于安全考虑,最好在不使用钱包时使用命令cluos wallet lock将钱包锁定。
查看钱包列表
使用命令cluos wallet lock查看钱包列表,在列表中解锁后的钱包将在钱包名后面有*标记。
返回如下:
导入密钥到钱包
上述步骤中启动的私有区块链是使用默认初始密钥创建的,必须将其加载到钱包中。
使用命令cluos wallet import --private-key ******。可以通过-n参数指定钱包名称
返回提示导入成功:
注意:此时导入的私钥并不是创建钱包时生成的密码。
在钱包内部创建密钥
使用钱包,比如在钱包里面创建账户
注意 http://10.186.11.227:9008 为你自己noduos 启动时配置的节点。
kuosd常用api
create
创建具有给定名称的新钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/create
参数:
string类型
open
打开给定名称的现有钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/open
参数:
string类型
lock
锁定给定名称的现有钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/lock
参数:
string类型
lock_all
锁定所有现有钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/lock_all
参数:
无
unlock
使用给定的名称和密码解锁钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/unlock
参数:
string类型,钱包名
string类型,钱包秘钥
import_key
将私钥导入给定名称的钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/import_key
参数:
string类型,钱包名
string类型,私钥
list_wallets
列出所有钱包。
URL:https://rpc1.uosio.org:8250/v1/wallet/list_wallets
参数:
无
get_public_keys
列出所有钱包中的所有公钥。
URL:https://rpc1.uosio.org:8250/v1/wallet/get_public_keys
参数:
无
set_timeout
设置钱包自动锁定超时(以秒为单位)。
URL:https://rpc1.uosio.org:8250/v1/wallet/set_timeout
参数:
int64类型
sign_transaction
签署事务。
URL:https://rpc1.uosio.org:8250/v1/wallet/sign_transaction
参数:
txn : string类型,事务
signatures : string类型,签名
id : string类型,链的ID
Last updated
Was this helpful?