-
Notifications
You must be signed in to change notification settings - Fork 3
KeyChain sample commands
This is a shortcut to the commands that help you interact with KeyChain. You can find full comprehensive descriptions of all the commands in the Protocol.
// I have removed "cipher' parameter as a user does not need to state it explicitly as the parameter, keychain will decide it for the user, so that if someone writes an instruction how to use this parameter when creating key, another user would read the instruction when it gets outdated and choose an outdated cipher for securing her keys.
{
"command": "create",
"params":
{
"keyname": "test1",
"encrypted": true,
"curve": "secp256k1",
"cipher": "aes256"
}
}
Params curve
and cipher
are saved in the key file during creation. So later when the key file is used compatibility of curve
with kind
is compared during sign
, public_key
commands, etc.
List values of blockchain_type: bitshares
, array
, ethereum
, bitcoin
.
{
"command": "sign_hex",
"params":
{
"chainid": "de5f4d8974715e20f47c8bb609547c9e66b0b9e31d521199b3d8d6af6da74cb1",
"transaction": "871689d060721b5cec5a010080841e00000000000011130065cd1d0000000000000000",
"blockchain_type": "array",
"keyname": "test1@be5f6e75878b84ba"
}
}
{
"command": "sign_hash",
"params":
{
"sign_type": "VRS_canonical",//default RSV_noncanonical
"hash": "fe5e4a8974715e20f47c8bb609547c9e66b0b9e31d521199b3d8d6af6da74cb1",
"keyname": "test1@be5f6e75878b84ba"
}
}
Parameter sign_type determines signature struct and whether the signature is canonical.
List of values sign_type:
VRS_canonical
,
RSV_noncanonical
- default value.
Prefix RSV
/VRS
means signature struct:
[R, S, v]
or [v, R, S]
{
"command": "list"
}
{
"command": "remove",
"params":
{
"keyname": "test1@be5f6e75878b84ba"
}
}
{
"command": "public_key",
"params":
{
"keyname": "test1@be5f6e75878b84ba"
}
}
{
"command": "set_unlock_time",
"params":
{
"seconds": 100
}
}
This command set unlock time for unlocked keys. After passphrase entry the decrypted private key stored in memory during this time. Default unlock time = 0.
{
"command": "unlock",
"params":
{
"keyname": "test1@e08a1dee52cc68ee"
}
}
Unlock private key. This allow sing transaction without passphrase entry. For this, you must first perform command set_unlock_time command to set nonzero unlock time. Also, implicit unlock will be performed after commands sign_hex and sign_hash.
{
"command": "lock"
}
Locking all unlocked keys.