Keypair
KeypairType
¶
Type of cryptography, used in Keypair
instance to encrypt and sign data
- ED25519 = 0
- SR25519 = 1
- ECDSA = 2
MnemonicLanguageCode
¶
Available language codes to generate mnemonics
- ENGLISH = 'en'
- CHINESE_SIMPLIFIED = 'zh-hans'
- CHINESE_TRADITIONAL = 'zh-hant'
- FRENCH = 'fr'
- ITALIAN = 'it'
- JAPANESE = 'ja'
- KOREAN = 'ko'
- SPANISH = 'es'
Keypair
¶
__init__(ss58_address: str = None, public_key: Union[bytes, str] = None, private_key: Union[bytes, str] = None, ss58_format: int = None, seed_hex: Union[str, bytes] = None, crypto_type: int = KeypairType.SR25519)
¶
Allows generation of Keypairs from a variety of input combination, such as a public/private key combination, mnemonic or URI containing soft and hard derivation paths. With these Keypairs data can be signed and verified
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ss58_address
|
str
|
|
None
|
public_key
|
Union[bytes, str]
|
|
None
|
private_key
|
Union[bytes, str]
|
|
None
|
ss58_format
|
int
|
|
None
|
seed_hex
|
Union[str, bytes]
|
|
None
|
crypto_type
|
int
|
|
SR25519
|
generate_mnemonic(words: int = 12, language_code: str = MnemonicLanguageCode.ENGLISH) -> str
classmethod
¶
Generates a new seed phrase with given amount of words (default 12)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
words
|
int
|
|
12
|
language_code
|
str
|
|
ENGLISH
|
Returns:
Name | Type | Description |
---|---|---|
str |
Seed phrase
|
|
validate_mnemonic(mnemonic: str, language_code: str = MnemonicLanguageCode.ENGLISH) -> bool
classmethod
¶
Verify if specified mnemonic is valid
Parameters:
Name | Type | Description | Default |
---|---|---|---|
mnemonic
|
str
|
|
required |
language_code
|
str
|
|
ENGLISH
|
Returns:
Type | Description |
---|---|
bool
|
|
create_from_mnemonic(mnemonic: str, ss58_format=42, crypto_type=KeypairType.SR25519, language_code: str = MnemonicLanguageCode.ENGLISH) -> Keypair
classmethod
¶
Create a Keypair for given memonic
Parameters:
Name | Type | Description | Default |
---|---|---|---|
mnemonic
|
str
|
|
required |
ss58_format
|
|
42
|
|
crypto_type
|
|
SR25519
|
|
language_code
|
str
|
|
ENGLISH
|
Returns:
Type | Description |
---|---|
Keypair
|
|
create_from_seed(seed_hex: Union[bytes, str], ss58_format: Optional[int] = 42, crypto_type=KeypairType.SR25519) -> Keypair
classmethod
¶
Create a Keypair for given seed
Parameters:
Name | Type | Description | Default |
---|---|---|---|
seed_hex
|
Union[bytes, str]
|
|
required |
ss58_format
|
Optional[int]
|
|
42
|
crypto_type
|
|
SR25519
|
Returns:
Type | Description |
---|---|
Keypair
|
|
create_from_uri(suri: str, ss58_format: Optional[int] = 42, crypto_type=KeypairType.SR25519, language_code: str = MnemonicLanguageCode.ENGLISH) -> Keypair
classmethod
¶
Creates Keypair for specified suri in following format: [mnemonic]/[soft-path]//[hard-path]
Parameters:
Name | Type | Description | Default |
---|---|---|---|
suri
|
str
|
|
required |
ss58_format
|
Optional[int]
|
|
42
|
crypto_type
|
|
SR25519
|
|
language_code
|
str
|
|
ENGLISH
|
Returns:
Type | Description |
---|---|
Keypair
|
|
create_from_private_key(private_key: Union[bytes, str], public_key: Union[bytes, str] = None, ss58_address: str = None, ss58_format: int = None, crypto_type: int = KeypairType.SR25519) -> Keypair
classmethod
¶
Creates Keypair for specified public/private keys
Parameters:
Name | Type | Description | Default |
---|---|---|---|
private_key
|
Union[bytes, str]
|
|
required |
public_key
|
Union[bytes, str]
|
|
None
|
ss58_address
|
str
|
|
None
|
ss58_format
|
int
|
|
None
|
crypto_type
|
int
|
|
SR25519
|
Returns:
Type | Description |
---|---|
Keypair
|
|
create_from_encrypted_json(json_data: Union[str, dict], passphrase: str, ss58_format: int = None) -> Keypair
classmethod
¶
Create a Keypair from a PolkadotJS format encrypted JSON file
Parameters:
Name | Type | Description | Default |
---|---|---|---|
json_data
|
Union[str, dict]
|
|
required |
passphrase
|
str
|
|
required |
ss58_format
|
int
|
|
None
|
Returns:
Type | Description |
---|---|
Keypair
|
|
export_to_encrypted_json(passphrase: str, name: str = None) -> dict
¶
Export Keypair to PolkadotJS format encrypted JSON file
Parameters:
Name | Type | Description | Default |
---|---|---|---|
passphrase
|
str
|
|
required |
name
|
str
|
|
None
|
Returns:
Type | Description |
---|---|
dict
|
|
sign(data: Union[ScaleBytes, bytes, str]) -> bytes
¶
Creates a signature for given data
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data
|
Union[ScaleBytes, bytes, str]
|
|
required |
Returns:
Type | Description |
---|---|
signature in bytes
|
|
verify(data: Union[ScaleBytes, bytes, str], signature: Union[bytes, str]) -> bool
¶
Verifies data with specified signature
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data
|
Union[ScaleBytes, bytes, str]
|
|
required |
signature
|
Union[bytes, str]
|
|
required |
Returns:
Type | Description |
---|---|
True if data is signed with this Keypair, otherwise False
|
|
encrypt_message(message: Union[bytes, str], recipient_public_key: bytes, nonce: bytes = secrets.token_bytes(24)) -> bytes
¶
Encrypts message with for specified recipient
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
Union[bytes, str]
|
|
required |
recipient_public_key
|
bytes
|
|
required |
nonce
|
bytes
|
|
token_bytes(24)
|
Returns:
Type | Description |
---|---|
Encrypted message
|
|
decrypt_message(encrypted_message_with_nonce: bytes, sender_public_key: bytes) -> bytes
¶
Decrypts message from a specified sender
Parameters:
Name | Type | Description | Default |
---|---|---|---|
encrypted_message_with_nonce
|
bytes
|
|
required |
sender_public_key
|
bytes
|
|
required |
Returns:
Type | Description |
---|---|
Decrypted message
|
|