case class ExtractStorageCmd(toolConf: ErgoToolConfig, name: String, storageFile: String, storagePass: Array[Char], prop: String, network: NetworkType) extends Cmd with Product with Serializable

Extracts secret data from encrypted storage file (e.g. created by CreateStorageCmd).

Steps:
1) request storage password (storagePass)
2) load encrypted data from storageFile into SecretStorage instance
3) unlock the instance using storagePass and retrieve secret data from storage
4) depending on the parameter prop:

  • "address" => get master key address for the given network (see BIP-32)
  • "masterKey" => serialize org.ergoplatform.wallet.secrets.ExtendedSecretKey into bytes
    and encode as base16
  • "secretKey" => get bytes of the secret key and encode as base16
  • "publicKey" => get bytes of the public key and encode as base16

5) print obtained secret string to the console output

Note, a storage file doesn't contain network type information, this the same storage can be used to obtain address both from mainnet and from testnet.

storageFile

path to encrypted storage file

storagePass

encryption password necessary to access storage file content

prop

name of the secret data stored in the file (e.g. PropAddress)

network

network type

Linear Supertypes
Serializable, Serializable, Product, Equals, Cmd, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExtractStorageCmd
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Cmd
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExtractStorageCmd(toolConf: ErgoToolConfig, name: String, storageFile: String, storagePass: Array[Char], prop: String, network: NetworkType)

    storageFile

    path to encrypted storage file

    storagePass

    encryption password necessary to access storage file content

    prop

    name of the secret data stored in the file (e.g. PropAddress)

    network

    network type

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apiKey: String

    ApiKey which is used for Ergo node API authentication.

    ApiKey which is used for Ergo node API authentication. This is a secret key whose hash was used in Ergo node config. This is only necessary to communicate to the protected parts of node API.

    Definition Classes
    Cmd
  5. def apiUrl: String

    Returns the url of the Ergo blockchain node used to communicate with the network.

    Returns the url of the Ergo blockchain node used to communicate with the network.

    Definition Classes
    Cmd
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def error(msg: String): Nothing

    Helper method to throw a new CmdException from this command.

    Helper method to throw a new CmdException from this command.

    Definition Classes
    Cmd
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val name: String

    Returns the name of this command (Example: send, mnemonic etc.)

    Returns the name of this command (Example: send, mnemonic etc.)

    Definition Classes
    ExtractStorageCmdCmd
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. val network: NetworkType
  16. def networkType: NetworkType

    Returns the network type (MAINNET or TESTNET) ErgoTool is expected to communicate.

    Returns the network type (MAINNET or TESTNET) ErgoTool is expected to communicate. This parameter should correspond to the real network type of the node pointed to by apiUrl.

    Definition Classes
    Cmd
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. val prop: String
  20. def run(ctx: AppContext): Unit

    Runs this command using given AppContext.

    Runs this command using given AppContext.

    ctx

    context information of this command execution collected from command line, configuration file etc.

    Definition Classes
    ExtractStorageCmdCmd
    Exceptions thrown

    CmdException when command execution fails

  21. val storageFile: String
  22. val storagePass: Array[Char]
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. val toolConf: ErgoToolConfig

    Returns current tool configuration parameters

    Returns current tool configuration parameters

    Definition Classes
    ExtractStorageCmdCmd
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Cmd

Inherited from AnyRef

Inherited from Any

Ungrouped