Files
pezkuwi-subxt/substrate/subkey/README.adoc
T
Marcio Diaz a643ac6c6f Fix subkey does not verify with pubkey (#3547)
* Decode hex

* Remove log

* Some refactoring to help with testing

* Add own functions for sign and verify.

* Add sign test

* Sign-verify test

* Generate-sign-verify test for both cryptos

* Add aliases

* Print signature

* More refactoring

* Update sign-transaction as transfer

* Simplify transfer and sign-transaction

* main to top file

* rename read_input_message to read_message_from_stdin

* More refactoring

* Add read_required_parameter

* Add format seed

* More refactoring

* format code

* add print_extrinsic

* Remove 0x from print

* fix naming

* Fix readme

* Remove rustfmt

* Remove commented test

* Fix import nits
2019-09-12 15:42:35 +02:00

71 lines
2.0 KiB
Plaintext

= Subkey
Subkey is a commandline utility included with Substrate that generates or restores Substrate keys.
`subkey` will use the http://wiki.polkadot.network/en/latest/polkadot/learn/cryptography/#keypairs-and-signing[sr25519] cryptography by default. If you need to use the older ed25519 cryptography to generate or restore your key pass the `--ed25519` flag to any of the commands.
== Usage
=== Generate a random account
```bash
subkey generate
```
Will output a mnemonic phrase and give you the seed, public key, and address of a new account. DO NOT SHARE your mnemonic or seed with ANYONE it will give them access to your funds. If someone is making a transfer to you they will only need your **Address**.
=== Inspecting a key
You can inspect a given URI (mnemonic, seed, public key, or address) and recover the public key and the address.
```bash
subkey inspect <mnemonic,seed,pubkey,address>
OUTPUT:
Public key (hex): 0x461edcf1ba99e43f50dec4bdeb3d1a2cf521ad7c3cd0eeee5cd3314e50fd424c
Address (SS58): 5DeeNqcAcaHDSed2HYnqMDK7JHcvxZ5QUE9EKmjc5snvU6wF
```
=== Signing
`subkey` expects a message to come in on STDIN, one way to sign a message would look like this:
```bash
echo -n <msg> | subkey sign <seed,mnemonic>
OUTPUT:
a69da4a6ccbf81dbbbfad235fa12cf8528c18012b991ae89214de8d20d29c1280576ced6eb38b7406d1b7e03231df6dd4a5257546ddad13259356e1c3adfb509
```
=== Verifying a signature
```bash
echo -n <msg> | subkey verify <sig> <address>
OUTPUT:
Signature verifies correctly.
```
=== Using the vanity generator
You can use the included vanity generator to find a seed that provides an address which includes the desired pattern. Be warned, depending on your hardware this may take a while.
```bash
subkey vanity 1337
```
=== Signing a transaction
Sign a transaction from an encoded `Call`.
```bash
subkey sign-transaction \
--call <call-as-hex> \
--nonce 0 \
--suri <secret-uri> \
--password <password> \
--prior-block-hash <prior-block-hash-as-hex>
```
Will output a signed and encoded `UncheckedMortalCompactExtrinsic` as hex.