Skip to content

Commit

Permalink
Merge pull request lightningnetwork#6088 from arshbot/export-backend-…
Browse files Browse the repository at this point in the history
…credentials

Export backend credentials
  • Loading branch information
guggero authored Jan 11, 2022
2 parents fd63301 + baf6977 commit f788f92
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 17 deletions.
39 changes: 22 additions & 17 deletions lntest/bitcoind_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ const logDirPattern = "%s/.backendlogs"
// BitcoindBackendConfig is an implementation of the BackendConfig interface
// backed by a Bitcoind node.
type BitcoindBackendConfig struct {
RpcHost string
RpcUser string
RpcPass string
ZmqBlockPath string
ZmqTxPath string
P2pPort int
rpcHost string
rpcUser string
rpcPass string
zmqBlockPath string
zmqTxPath string
p2pPort int
rpcClient *rpcclient.Client

// minerAddr is the p2p address of the miner to connect to.
Expand All @@ -43,13 +43,13 @@ var _ BackendConfig = (*BitcoindBackendConfig)(nil)
func (b BitcoindBackendConfig) GenArgs() []string {
var args []string
args = append(args, "--bitcoin.node=bitcoind")
args = append(args, fmt.Sprintf("--bitcoind.rpchost=%v", b.RpcHost))
args = append(args, fmt.Sprintf("--bitcoind.rpcuser=%v", b.RpcUser))
args = append(args, fmt.Sprintf("--bitcoind.rpcpass=%v", b.RpcPass))
args = append(args, fmt.Sprintf("--bitcoind.rpchost=%v", b.rpcHost))
args = append(args, fmt.Sprintf("--bitcoind.rpcuser=%v", b.rpcUser))
args = append(args, fmt.Sprintf("--bitcoind.rpcpass=%v", b.rpcPass))
args = append(args, fmt.Sprintf("--bitcoind.zmqpubrawblock=%v",
b.ZmqBlockPath))
b.zmqBlockPath))
args = append(args, fmt.Sprintf("--bitcoind.zmqpubrawtx=%v",
b.ZmqTxPath))
b.zmqTxPath))

return args
}
Expand All @@ -64,6 +64,11 @@ func (b BitcoindBackendConfig) DisconnectMiner() error {
return b.rpcClient.AddNode(b.minerAddr, rpcclient.ANRemove)
}

// Credentials returns the rpc username, password and host for the backend.
func (b BitcoindBackendConfig) Credentials() (string, string, string, error) {
return b.rpcUser, b.rpcPass, b.rpcHost, nil
}

// Name returns the name of the backend type.
func (b BitcoindBackendConfig) Name() string {
return "bitcoind"
Expand Down Expand Up @@ -179,12 +184,12 @@ func newBackend(miner string, netParams *chaincfg.Params, extraArgs []string) (
}

bd := BitcoindBackendConfig{
RpcHost: rpcHost,
RpcUser: rpcUser,
RpcPass: rpcPass,
ZmqBlockPath: zmqBlockAddr,
ZmqTxPath: zmqTxAddr,
P2pPort: p2pPort,
rpcHost: rpcHost,
rpcUser: rpcUser,
rpcPass: rpcPass,
zmqBlockPath: zmqBlockAddr,
zmqTxPath: zmqTxAddr,
p2pPort: p2pPort,
rpcClient: client,
minerAddr: miner,
}
Expand Down
5 changes: 5 additions & 0 deletions lntest/btcd.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ func (b BtcdBackendConfig) DisconnectMiner() error {
return b.harness.Client.Node(btcjson.NDisconnect, b.minerAddr, &temp)
}

// Credentials returns the rpc username, password and host for the backend.
func (b BtcdBackendConfig) Credentials() (string, string, string, error) {
return b.rpcConfig.User, b.rpcConfig.Pass, b.rpcConfig.Host, nil
}

// Name returns the name of the backend type.
func (b BtcdBackendConfig) Name() string {
return "btcd"
Expand Down
4 changes: 4 additions & 0 deletions lntest/harness_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ type BackendConfig interface {

// Name returns the name of the backend type.
Name() string

// Credentials returns the rpc username, password and host for the
// backend.
Credentials() (string, string, string, error)
}

// NodeConfig is the basic interface a node configuration must implement.
Expand Down
6 changes: 6 additions & 0 deletions lntest/neutrino.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ func (b NeutrinoBackendConfig) DisconnectMiner() error {
return fmt.Errorf("unimplemented")
}

// Credentials returns the rpc username, password and host for the backend.
// For neutrino, we return an error because there is no rpc client available.
func (b NeutrinoBackendConfig) Credentials() (string, string, string, error) {
return "", "", "", fmt.Errorf("unimplemented")
}

// Name returns the name of the backend type.
func (b NeutrinoBackendConfig) Name() string {
return NeutrinoBackendName
Expand Down

0 comments on commit f788f92

Please sign in to comment.