Merge pull request #5025 from guggero/signet

Add basic bitcoin signet support
This commit is contained in:
Olaoluwa Osuntokun authored and GitHub committed 2021-05-26 18:19:57 -07:00
commit 0ed72b8c6a
12 files changed
+129 -15

No files matched your search

+45
View File
@@ -5,6 +5,7 @@
package lnd
import (
"encoding/hex"
"errors"
"fmt"
"io/ioutil"
@@ -17,6 +18,7 @@ import (
"strings"
"time"
"github.com/btcsuite/btcd/chaincfg"
"github.com/btcsuite/btcutil"
flags "github.com/jessevdk/go-flags"
"github.com/lightninglabs/neutrino"
@@ -959,6 +961,10 @@ func ValidateConfig(cfg Config, usageMessage string,
numNets++
ltcParams = chainreg.LitecoinSimNetParams
}
if cfg.Litecoin.SigNet {
return nil, fmt.Errorf("%s: litecoin.signet is not "+
"supported", funcName)
}
if numNets > 1 {
str := "%s: The mainnet, testnet, and simnet params " +
@@ -1040,6 +1046,45 @@ func ValidateConfig(cfg Config, usageMessage string,
numNets++
cfg.ActiveNetParams = chainreg.BitcoinSimNetParams
}
if cfg.Bitcoin.SigNet {
numNets++
cfg.ActiveNetParams = chainreg.BitcoinSigNetParams
// Let the user overwrite the default signet parameters.
// The challenge defines the actual signet network to
// join and the seed nodes are needed for network
// discovery.
sigNetChallenge := chaincfg.DefaultSignetChallenge
sigNetSeeds := chaincfg.DefaultSignetDNSSeeds
if cfg.Bitcoin.SigNetChallenge != "" {
challenge, err := hex.DecodeString(
cfg.Bitcoin.SigNetChallenge,
)
if err != nil {
return nil, fmt.Errorf("%s: Invalid "+
"signet challenge, hex decode "+
"failed: %v", funcName, err)
}
sigNetChallenge = challenge
}
if len(cfg.Bitcoin.SigNetSeedNode) > 0 {
sigNetSeeds = make([]chaincfg.DNSSeed, len(
cfg.Bitcoin.SigNetSeedNode,
))
for idx, seed := range cfg.Bitcoin.SigNetSeedNode {
sigNetSeeds[idx] = chaincfg.DNSSeed{
Host: seed,
HasFiltering: false,
}
}
}
chainParams := chaincfg.CustomSignetParams(
sigNetChallenge, sigNetSeeds,
)
cfg.ActiveNetParams.Params = &chainParams
}
if numNets > 1 {
str := "%s: The mainnet, testnet, regtest, and " +
"simnet params can't be used together -- " +