Class: BTC::Network

Inherits:
Object
  • Object
show all
Defined in:
lib/btcruby/network.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#genesis_blockObject

Genesis block for this network



14
15
16
# File 'lib/btcruby/network.rb', line 14

def genesis_block
  @genesis_block
end

#genesis_block_headerObject

Genesis block header for this network



17
18
19
# File 'lib/btcruby/network.rb', line 17

def genesis_block_header
  @genesis_block_header
end

#mainnetObject

Is mainnet (true/false). Alias: mainnet?



11
12
13
# File 'lib/btcruby/network.rb', line 11

def mainnet
  @mainnet
end

#max_targetObject

Maximum target (lowest difficulty) for this network.



20
21
22
# File 'lib/btcruby/network.rb', line 20

def max_target
  @max_target
end

#nameObject

Name of the network (mainnet or testnet3)



5
6
7
# File 'lib/btcruby/network.rb', line 5

def name
  @name
end

#testnetObject

Is testnet (true/false). Alias: testnet?



8
9
10
# File 'lib/btcruby/network.rb', line 8

def testnet
  @testnet
end

Class Method Details

.defaultObject

Default network when it is not explicitly specified.



23
24
25
# File 'lib/btcruby/network.rb', line 23

def self.default
  return (@default ||= self.mainnet)
end

.default=(network) ⇒ Object



27
28
29
# File 'lib/btcruby/network.rb', line 27

def self.default=(network)
  @default = network
end

.mainnetObject



31
32
33
34
35
36
37
38
39
40
# File 'lib/btcruby/network.rb', line 31

def self.mainnet
  @mainnet ||= begin
    network = self.new
    network.name = "mainnet"
    network.genesis_block = Block.genesis_mainnet
    network.genesis_block_header = BlockHeader.genesis_mainnet
    network.max_target = ProofOfWork::MAX_TARGET_MAINNET
    network
  end
end

.testnetObject



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/btcruby/network.rb', line 42

def self.testnet
  @testnet ||= begin
    network = self.new
    network.name = "testnet3"
    network.testnet = true
    network.genesis_block = Block.genesis_testnet
    network.genesis_block_header = BlockHeader.genesis_testnet
    network.max_target = ProofOfWork::MAX_TARGET_TESTNET
    network
  end
end

Instance Method Details

#dupObject



63
64
65
66
67
68
69
70
# File 'lib/btcruby/network.rb', line 63

def dup
  network = Network.new
  network.name = self.name.dup
  network.testnet = self.testnet
  network.genesis_block = self.genesis_block
  network.genesis_block_header = self.genesis_block_header
  network
end

#mainnet?Boolean

Returns:

  • (Boolean)


57
# File 'lib/btcruby/network.rb', line 57

def mainnet?; !testnet?; end

#testnet?Boolean

Returns:

  • (Boolean)


54
# File 'lib/btcruby/network.rb', line 54

def testnet?; @testnet || false; end