class Equestreum::Block

Attributes

data[RW]
difficulty[RW]
hash[R]
nonce[R]
prev[RW]
time[R]

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/equestreum/block.rb, line 6
def initialize
  @difficulty = 4

  yield self if block_given?
end

Public Instance Methods

mine() click to toggle source
# File lib/equestreum/block.rb, line 12
def mine
  @time = Time.now.to_i
  @nonce = 0
  loop do
    @hash = Equestreum.hash @nonce, @time, @difficulty, @prev, @data
    if Equestreum.difficulty_attained hash, @difficulty
      break
    else
      @nonce += 1
    end
  end
end
to_h() click to toggle source
# File lib/equestreum/block.rb, line 25
def to_h
  h = {}
  [
    :data,
    :time,
    :hash,
    :prev,
    :nonce,
    :difficulty
  ].each do |key|
    h[key] = self.send(key)
  end
  h
end