bitcoin.conf flags for LND integration
rpcpassword= // make a strong password
rpcuser=bitcoinrpc
server=1
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28332
// Copyright (c) 2017 Alex Bosworth | |
// Copyright (c) 2017 Pieter Wuille | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files (the "Software"), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
// copies of the Software, and to permit persons to whom the Software is | |
// furnished to do so, subject to the following conditions: | |
// |
/** Transaction input | |
*/ | |
struct TransactionInput { | |
/** Final sequence number marking the input as final | |
*/ | |
static let finalSequence = UInt32.max | |
/** Spending output | |
*/ | |
let outpoint: Outpoint |
import Foundation | |
/** Outpoint | |
*/ | |
struct Outpoint { | |
/** Index | |
*/ | |
let index: UInt32 | |
/** Number of bytes for the outpoint index |
import Foundation | |
/** Can be included after this time marker | |
*/ | |
enum Locktime { | |
case date(Date) | |
case height(Int) | |
/** Number of bytes | |
*/ |
/** Compact Size UInt | |
*/ | |
enum CompactSizeUInt { | |
case uint8(UInt8), uint16(UInt16), uint32(UInt32), uint64(UInt64) | |
// MARK: - Init | |
/** Create from hex string | |
*/ | |
init(from hex: String) throws { |
/** Compact size uint marker byte | |
*/ | |
enum CompactSizeMarker: Byte { | |
case uint8, uint16 = 253, uint32, uint64 | |
/** Byte length of discriminant | |
*/ | |
static let discriminantByteLength = 1 | |
/** Hex byte length |
/** Extensions to Data | |
*/ | |
extension Data { | |
/** Create data from hex string | |
*/ | |
init(hex: String) throws { | |
var bytes = Array<Byte>(repeating: Byte(), count: (hex.unicodeScalars.count + 1) >> 1) | |
try hex.unicodeScalars.enumerated().forEach { index, scalar in | |
var nibble = try scalar.hexNibble() |
/** Extensions to UnicodeScalar | |
*/ | |
extension UnicodeScalar { | |
/** Unicode scalar errors | |
*/ | |
enum UnicodeScalarError: String, Error { | |
case illegalHexValue | |
} | |
/** Get the byte value of a hex nibble |
package main | |
import ( | |
"io" | |
"os" | |
"strings" | |
) | |
type rot13Reader struct { | |
r io.Reader |