-
Notifications
You must be signed in to change notification settings - Fork 16
Remote Signer Info
Schema for the remote signer operations:
src/lib_signer_services/signer_services.ml
src/lib_crypto/base58.ml
- contains the prefixes for public key hashs, signatures, etc. - prefix = p2sig(98)
Make a signing request:
POST /tz1....
request : "abcdef..."
answer : { "signature" : "p2sig..." }
Get a public key:
GET /tz1....
answer { "public_key" : "p2pk..." }
Launch sandboxed node:
$ ./src/bin_node/tezos-sandboxed-node.sh 7 --connections=1
In another terminal:
$ eval $(./src/bin_client/tezos-init-sandboxed-client.sh 7)
$ which tezos-client
/tmp/tezos-tmp-client.qy3CHpBC/bin/tezos-client
$ ls /tmp/tezos-tmp-client.qy3CHpBC/*
(shows all files including secret keys)
$ tezos-autocomplete
$ tezos-activate-alpha
$ tezos-client bake for bootstrap1
Transfer funds from one bootstrap account to another:
$ tezos-client transfer 10 from bootstrap1 to bootstrap2
Bake a single block for the transaction to be included:
$ tezos-client bake for bootstrap1
Generate a key using tezos-signer:
./tezos-signer gen keys test_keys
Enter passphrase to encrypt your key:
Confirm passphrase:
Launch local signer (UNIX socket, also you can launch remote signer or https signer):
./tezos-signer launch local signer
(enter passphrases)
./tezos-signer list known identities
(shows all identities)
Import a public_key hash into the local wallet, and check the remote signer to see if it holds the secret key for a given public key hash:
tezos-client import secret key remote_test_key 'unix:///home/benjamin/.tezos-signer.sock?pkh=tz1dsDGGq7dCMu4bpL2BNLUdtqv486XF8kso'
Then send funds to that address:
tezos-client transfer 10 from bootstrap2 to remote_test_key
Send funds back:
tezos-client transfer 3 from remote_test_key to bootstrap2
Additional commands:
less
$ tezos-client list signing schemes
$ tezos-client rpc get /chains/main/blocks/head/metadata
{ "protocol": "PrihK96nBAFSxVL1GLJTVhu9YnzkMFiBeuJRPA8NwuZVZCE1L6i",
"next_protocol": "ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im",
"test_chain_status": { "status": "not_running" }, "max_operations_ttl": 0,
"max_operation_data_length": 0, "max_block_header_length": 105,
"max_operation_list_length": [] }