Files
pezkuwi-subxt/substrate/subkey
Bastian Köcher 394eff6c2f Update to schnorrkel 0.8.0 (#3267)
* Update to schnorrkel `0.8.0`

* Increase `spec_version`

* Bump schnorrkel to 0.8.3 (#3283)

* Schnorrkel 0.8.1 (builds on bkchr upgrade branch)

* Add tests for known hard/soft derivation values

* Bump all schnorrkel versions

* Flatten for easier inspection

* 0.8.2

* 0.8.3

* Update subkey/Cargo.toml

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update `Cargo.lock`

* 0.8.4

* Fix cargo lock file.

* Adding an error message for `NotMarkedSchnorrkel` as that was missing.
Also fixing a typo, strage -> stage.
2019-08-07 12:59:54 +02:00
..
2019-08-06 19:36:23 +02:00
2019-08-07 12:59:54 +02:00

= 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 <msg> | subkey sign <seed,mnemonic>

OUTPUT:
a69da4a6ccbf81dbbbfad235fa12cf8528c18012b991ae89214de8d20d29c1280576ced6eb38b7406d1b7e03231df6dd4a5257546ddad13259356e1c3adfb509
```

=== Verifying a signature

```bash
echo <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.