Class Ed25519KeyPairService

java.lang.Object
org.xrpl.xrpl4j.keypairs.AbstractKeyPairService
org.xrpl.xrpl4j.keypairs.Ed25519KeyPairService
All Implemented Interfaces:
KeyPairService

public class Ed25519KeyPairService extends AbstractKeyPairService
Implementation of KeyPairService which uses the ED25519 algorithm to derive keys and sign/verify signatures.
  • Method Details

    • getInstance

      public static Ed25519KeyPairService getInstance()
    • generateSeed

      public String generateSeed(UnsignedByteArray entropy)
      Description copied from interface: KeyPairService
      Generate a 16 byte seed, which can be used to derive a private key, from a non-encoded value.
      Parameters:
      entropy - An UnsignedByteArray containing the bytes of entropy to encode into a seed.
      Returns:
      A String containing the Base58Check encoded seed value.
    • deriveKeyPair

      public KeyPair deriveKeyPair(String seed)
      Description copied from interface: KeyPairService
      Derive a public/private keypair from a Base58Check encoded 16 byte seed.
      Parameters:
      seed - A Base58Check encoded String containing the seed.
      Returns:
      The KeyPair derived from the seed.
    • sign

      public String sign(UnsignedByteArray message, String privateKey)
      Description copied from interface: KeyPairService
      Sign a message using the given private key.
      Parameters:
      message - An UnsignedByteArray with an arbitrary message.
      privateKey - The hexadecimal encoded private key used to sign the transaction.
      Returns:
      The signed message, in hexadecimal form.
    • verify

      public boolean verify(UnsignedByteArray message, String signature, String publicKey)
      Description copied from interface: KeyPairService
      Verify that the signature is valid, based on the message that was signed and the public key.
      Parameters:
      message - The arbitrary message that was signed with a private key.
      signature - The hexadecimal encoded String containing the signature to verify.
      publicKey - The hexadecimal encoded public key derived from the private key that was used to sign the message.
      Returns:
      true if the signature is valid, false if not.