class Bitcoin::ChainParams

Network parameter class

Attributes

address_version[R]
bech32_hrp[R]
bip34_height[R]
bip44_coin_type[R]
bip49_privkey_p2wpkh_p2sh_version[R]
bip49_privkey_p2wsh_p2sh_version[R]
bip49_pubkey_p2wpkh_p2sh_version[R]
bip49_pubkey_p2wsh_p2sh_version[R]
bip84_privkey_p2wpkh_version[R]
bip84_privkey_p2wsh_version[R]
bip84_pubkey_p2wpkh_version[R]
bip84_pubkey_p2wsh_version[R]
default_port[R]
dns_seeds[R]
dust_relay_fee[RW]
extended_privkey_version[R]
extended_pubkey_version[R]
genesis[R]
magic_head[R]
max_money[R]
message_magic[R]
network[R]
p2sh_version[R]
privkey_version[R]
proof_of_work_limit[R]
protocol_version[R]
retarget_interval[R]
retarget_time[R]
target_spacing[R]

Public Class Methods

mainnet() click to toggle source

mainnet genesis

# File lib/bitcoin/chain_params.rb, line 40
def self.mainnet
  init('mainnet')
end
regtest() click to toggle source

regtest genesis

# File lib/bitcoin/chain_params.rb, line 50
def self.regtest
  init('regtest')
end
signet() click to toggle source

signet genesis

# File lib/bitcoin/chain_params.rb, line 55
def self.signet
  init('signet')
end
testnet() click to toggle source

testnet genesis

# File lib/bitcoin/chain_params.rb, line 45
def self.testnet
  init('testnet')
end

Private Class Methods

init(name) click to toggle source
# File lib/bitcoin/chain_params.rb, line 82
def self.init(name)
  i = YAML.load(File.open("#{__dir__}/chainparams/#{name}.yml"))
  i.dust_relay_fee ||= Bitcoin::DUST_RELAY_TX_FEE
  i
end

Public Instance Methods

genesis_block() click to toggle source
# File lib/bitcoin/chain_params.rb, line 75
def genesis_block
  header = Bitcoin::BlockHeader.new(
      genesis['version'], genesis['prev_hash'].rhex, genesis['merkle_root'].rhex,
      genesis['time'], genesis['bits'], genesis['nonce'])
  Bitcoin::Block.new(header)
end
mainnet?() click to toggle source
# File lib/bitcoin/chain_params.rb, line 59
def mainnet?
  network == 'mainnet'
end
regtest?() click to toggle source
# File lib/bitcoin/chain_params.rb, line 67
def regtest?
  network == 'regtest'
end
signet?() click to toggle source
# File lib/bitcoin/chain_params.rb, line 71
def signet?
  network == 'signet'
end
testnet?() click to toggle source
# File lib/bitcoin/chain_params.rb, line 63
def testnet?
  network == 'testnet'
end