public class Keyring extends java.lang.Object implements Types.KeyringInstance
Keyring management of user accounts Allows generation of keyring pairs from a variety of input combinations, such as json object containing account address or public key, account metadata, and account encoded using addFromJson
, or by providing those values as arguments separately to addFromAddress
, or by providing the mnemonic (seed phrase) and account metadata as arguments to addFromMnemonic
. Stores the keyring pairs in a keyring pair dictionary. Removal of the keyring pairs from the keyring pair dictionary is achieved using removePair
. Retrieval of all the stored pairs via getPairs
or perform lookup of a pair for a given account address or public key using getPair
. JSON metadata associated with an account may be obtained using toJson
accompanied by the account passphrase.
Constructor and Description |
---|
Keyring(Types.KeyringOptions options) |
Modifier and Type | Method and Description |
---|---|
Types.KeyringPair |
addFromAddress(java.lang.String address,
Types.KeyringPairMeta meta,
byte[] encoded,
java.lang.String type,
boolean ignoreChecksum)
Stores an account, given an account address, as a Key/Value (public key, pair) in Keyring Pair Dictionary Allows user to explicitely provide separate inputs including account address or public key, and optionally the associated account metadata, and the default encoded value as arguments (that may be obtained from the json file of an account backup), and then generates a keyring pair from them that it passes to
addPair to stores in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value. |
Types.KeyringPair |
addFromJson(Types.KeyringPairJson pair,
boolean ignoreChecksum)
Stores an account, given JSON data, as a Key/Value (public key, pair) in Keyring Pair Dictionary Allows user to provide a json object argument that contains account information (that may be obtained from the json file of an account backup), and then generates a keyring pair from it that it passes to
addPair to stores in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value. |
Types.KeyringPair |
addFromMnemonic(java.lang.String mnemonic,
Types.KeyringPairMeta meta,
java.lang.String type)
Stores an account, given a mnemonic, as a Key/Value (public key, pair) in Keyring Pair Dictionary Allows user to provide a mnemonic (seed phrase that is provided when account is originally created) argument and a metadata argument that contains account information (that may be obtained from the json file of an account backup), and then generates a keyring pair from it that it passes to
addPair to stores in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value. |
Types.KeyringPair |
addFromSeed(byte[] seed,
Types.KeyringPairMeta meta,
java.lang.String type)
Stores an account, given seed data, as a Key/Value (public key, pair) in Keyring Pair Dictionary Stores in a keyring pair dictionary the public key of the pair as a key and the pair as the associated value.
|
Types.KeyringPair |
addFromUri(java.lang.String suri,
Types.KeyringPairMeta meta,
java.lang.String type)
Creates an account via an suri Extracts the phrase, path and password from a SURI format for specifying secret keys
<secret>/<soft-key>//<hard-key>///<password> (the ///password may be omitted, and /<soft-key> and //<hard-key> maybe repeated and mixed). |
Types.KeyringPair |
addPair(Types.KeyringPair pair)
Stores an account, given a keyring pair, as a Key/Value (public key, pair) in Keyring Pair Dictionary
|
Types.KeyringPair |
createFromUri(java.lang.String _suri,
Types.KeyringPairMeta meta,
java.lang.String type)
Creates a Keypair from an suri This creates a pair from the suri, but does not add it to the keyring
|
byte[] |
decodeAddress(java.lang.Object encoded,
boolean ignoreChecksum) |
java.lang.String |
encodeAddress(byte[] key) |
Types.KeyringPair |
getPair(java.lang.String address)
Retrieves an account keyring pair from the Keyring Pair Dictionary, given an account address Returns a keyring pair value from the keyring pair dictionary by performing a key lookup using the provided account address or public key (after decoding it).
|
java.util.List<Types.KeyringPair> |
getPairs()
Retrieves all account keyring pairs from the Keyring Pair Dictionary Returns an array list of all the keyring pair values that are stored in the keyring pair dictionary.
|
java.util.List<byte[]> |
getPublicKeys()
Retrieves Public Keys of all Keyring Pairs stored in the Keyring Pair Dictionary Returns an array list of all the public keys associated with each of the keyring pair values that are stored in the keyring pair dictionary.
|
java.lang.String |
getType()
Returns the type of the keyring, either ed25519 of sr25519
|
void |
removePair(java.lang.String address)
Deletes the provided input address or public key from the stored Keyring Pair Dictionary.
|
void |
setAddressPrefix(int prefix) |
Types.KeyringPairJson |
toJson(java.lang.String address,
java.lang.String passphrase)
Returns a JSON object associated with the input argument that contains metadata assocated with an account Returns a JSON object containing the metadata associated with an account when valid address or public key and when the account passphrase is provided if the account secret is not already unlocked and available in memory.
|
public Keyring(Types.KeyringOptions options)
public java.util.List<Types.KeyringPair> getPairs()
Retrieves all account keyring pairs from the Keyring Pair Dictionary Returns an array list of all the keyring pair values that are stored in the keyring pair dictionary.
getPairs
in interface Types.KeyringInstance
public java.util.List<byte[]> getPublicKeys()
Retrieves Public Keys of all Keyring Pairs stored in the Keyring Pair Dictionary Returns an array list of all the public keys associated with each of the keyring pair values that are stored in the keyring pair dictionary.
getPublicKeys
in interface Types.KeyringInstance
public java.lang.String getType()
Returns the type of the keyring, either ed25519 of sr25519
getType
in interface Types.KeyringInstance
public byte[] decodeAddress(java.lang.Object encoded, boolean ignoreChecksum)
decodeAddress
in interface Types.KeyringInstance
public java.lang.String encodeAddress(byte[] key)
encodeAddress
in interface Types.KeyringInstance
public void setAddressPrefix(int prefix)
setAddressPrefix
in interface Types.KeyringInstance
public Types.KeyringPair addPair(Types.KeyringPair pair)
Stores an account, given a keyring pair, as a Key/Value (public key, pair) in Keyring Pair Dictionary
addPair
in interface Types.KeyringInstance
public Types.KeyringPair addFromAddress(java.lang.String address, Types.KeyringPairMeta meta, byte[] encoded, java.lang.String type, boolean ignoreChecksum)
Stores an account, given an account address, as a Key/Value (public key, pair) in Keyring Pair Dictionary Allows user to explicitely provide separate inputs including account address or public key, and optionally the associated account metadata, and the default encoded value as arguments (that may be obtained from the json file of an account backup), and then generates a keyring pair from them that it passes to addPair
to stores in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value.
addFromAddress
in interface Types.KeyringInstance
public Types.KeyringPair addFromJson(Types.KeyringPairJson pair, boolean ignoreChecksum)
Stores an account, given JSON data, as a Key/Value (public key, pair) in Keyring Pair Dictionary Allows user to provide a json object argument that contains account information (that may be obtained from the json file of an account backup), and then generates a keyring pair from it that it passes to addPair
to stores in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value.
addFromJson
in interface Types.KeyringInstance
public Types.KeyringPair addFromMnemonic(java.lang.String mnemonic, Types.KeyringPairMeta meta, java.lang.String type)
Stores an account, given a mnemonic, as a Key/Value (public key, pair) in Keyring Pair Dictionary Allows user to provide a mnemonic (seed phrase that is provided when account is originally created) argument and a metadata argument that contains account information (that may be obtained from the json file of an account backup), and then generates a keyring pair from it that it passes to addPair
to stores in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value.
addFromMnemonic
in interface Types.KeyringInstance
public Types.KeyringPair addFromSeed(byte[] seed, Types.KeyringPairMeta meta, java.lang.String type)
Stores an account, given seed data, as a Key/Value (public key, pair) in Keyring Pair Dictionary Stores in a keyring pair dictionary the public key of the pair as a key and the pair as the associated value. Allows user to provide the account seed as an argument, and then generates a keyring pair from it that it passes to addPair
to store in a keyring pair dictionary the public key of the generated pair as a key and the pair as the associated value.
addFromSeed
in interface Types.KeyringInstance
public Types.KeyringPair addFromUri(java.lang.String suri, Types.KeyringPairMeta meta, java.lang.String type)
Creates an account via an suri Extracts the phrase, path and password from a SURI format for specifying secret keys <secret>/<soft-key>//<hard-key>///<password>
(the ///password
may be omitted, and /<soft-key>
and //<hard-key>
maybe repeated and mixed). The secret can be a hex string, mnemonic phrase or a string (to be padded)
addFromUri
in interface Types.KeyringInstance
public Types.KeyringPair createFromUri(java.lang.String _suri, Types.KeyringPairMeta meta, java.lang.String type)
Creates a Keypair from an suri This creates a pair from the suri, but does not add it to the keyring
createFromUri
in interface Types.KeyringInstance
public Types.KeyringPair getPair(java.lang.String address)
Retrieves an account keyring pair from the Keyring Pair Dictionary, given an account address Returns a keyring pair value from the keyring pair dictionary by performing a key lookup using the provided account address or public key (after decoding it).
getPair
in interface Types.KeyringInstance
public void removePair(java.lang.String address)
Deletes the provided input address or public key from the stored Keyring Pair Dictionary.
removePair
in interface Types.KeyringInstance
public Types.KeyringPairJson toJson(java.lang.String address, java.lang.String passphrase)
Returns a JSON object associated with the input argument that contains metadata assocated with an account Returns a JSON object containing the metadata associated with an account when valid address or public key and when the account passphrase is provided if the account secret is not already unlocked and available in memory. Note that in Polkadot-JS Apps the user may backup their account to a JSON file that contains this information.
toJson
in interface Types.KeyringInstance