module Mnam::Util::Crypto
Public Class Methods
get_address(key, network_address = '17')
click to toggle source
# File lib/mnam/util/crypto.rb, line 20 def self.get_address(key, network_address = '17') BTC::Base58.base58check_from_data([network_address.to_i(16)].pack('c') + Digest::RMD160.digest(key.public_key)) end
get_key(secret)
click to toggle source
# File lib/mnam/util/crypto.rb, line 6 def self.get_key(secret) BTC::Key.new(:private_key => Digest::SHA256.digest(secret), :public_key_compressed => true) end
second_verify(transaction, second_public_key_hex)
click to toggle source
# File lib/mnam/util/crypto.rb, line 15 def self.second_verify(transaction, second_public_key_hex) public_only_key = BTC::Key.new(:public_key => [second_public_key_hex].pack('H*')) public_only_key.verify_ecdsa_signature([transaction.sign_signature].pack('H*'), Digest::SHA256.digest(transaction.to_bytes(false))) end
verify(transaction)
click to toggle source
# File lib/mnam/util/crypto.rb, line 10 def self.verify(transaction) public_only_key = BTC::Key.new(:public_key => [transaction.sender_public_key].pack('H*')) public_only_key.verify_ecdsa_signature([transaction.signature].pack('H*'), Digest::SHA256.digest(transaction.to_bytes)) end