Method: Klay::Key#personal_sign

Defined in:
lib/klay/key.rb

#personal_sign(message, chain_id = nil) ⇒ String

Prefixes a message with \u0019Klaytn Signed Message: and signs it in the common way used by many web3 wallets. Complies with EIP-191 prefix 0x19 and version byte 0x45 (E). See also Signature#personal_recover. Ref: https://eips.ethereum.org/EIPS/eip-191

Parameters:

  • message (String)

    the message string to be prefixed and signed.

  • chain_id (Integer) (defaults to: nil)

    the chain id the signature should be generated on.

Returns:

  • (String)

    an EIP-191 conform, hexa-decimal signature.



94
95
96
97
98
# File 'lib/klay/key.rb', line 94

def personal_sign(message, chain_id = nil)
  prefixed_message = Signature.prefix_message message
  hashed_message = Util.keccak256 prefixed_message
  sign hashed_message, chain_id
end