public Optional<String> getPublicKey() {
    return signatureAlgorithm
        .recoverPublicKeyFromSignature(getOrComputeSenderRecoveryHash(), signature)
        .map(SECPPublicKey::toString);
  }
Returns the public key extracted from the signature.

@return the public key
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java