[NOD-82] Create docker-composes and aws.yamls for DNS Seeders, Miner Nodes, and Non-Miner Nodes (#238)

* [NOD-82] Added RPC files to the BTCD Docker container.

* [NOD-82] Generated new cert and key files that include *.daglabs.com.

* [NOD-82] Added a dagConfig parameter for accepting unroutable IPs.
This commit is contained in:
stasatdaglabs 2019-04-02 12:26:50 +03:00 committed by Svarog
parent 66fb7513f2
commit 58b427424f
6 changed files with 55 additions and 20 deletions

View File

@ -6,6 +6,7 @@ package addrmgr
import ( import (
"fmt" "fmt"
"github.com/daglabs/btcd/config"
"net" "net"
"github.com/daglabs/btcd/wire" "github.com/daglabs/btcd/wire"
@ -223,6 +224,10 @@ func IsValid(na *wire.NetAddress) bool {
// the public internet. This is true as long as the address is valid and is not // the public internet. This is true as long as the address is valid and is not
// in any reserved ranges. // in any reserved ranges.
func IsRoutable(na *wire.NetAddress) bool { func IsRoutable(na *wire.NetAddress) bool {
if config.ActiveNetParams().AcceptUnroutable {
return true
}
return IsValid(na) && !(IsRFC1918(na) || IsRFC2544(na) || return IsValid(na) && !(IsRFC1918(na) || IsRFC2544(na) ||
IsRFC3927(na) || IsRFC4862(na) || IsRFC3849(na) || IsRFC3927(na) || IsRFC4862(na) || IsRFC3849(na) ||
IsRFC4843(na) || IsRFC5737(na) || IsRFC6598(na) || IsRFC4843(na) || IsRFC5737(na) || IsRFC6598(na) ||

View File

@ -199,6 +199,10 @@ type Params struct {
// Mempool parameters // Mempool parameters
RelayNonStdTxs bool RelayNonStdTxs bool
// AcceptUnroutable specifies whether this network accepts unroutable
// IP addresses, such as 10.0.0.0/8
AcceptUnroutable bool
// Human-readable prefix for Bech32 encoded addresses // Human-readable prefix for Bech32 encoded addresses
Prefix util.Bech32Prefix Prefix util.Bech32Prefix
@ -263,6 +267,10 @@ var MainNetParams = Params{
// Mempool parameters // Mempool parameters
RelayNonStdTxs: false, RelayNonStdTxs: false,
// AcceptUnroutable specifies whether this network accepts unroutable
// IP addresses, such as 10.0.0.0/8
AcceptUnroutable: false,
// Human-readable part for Bech32 encoded addresses // Human-readable part for Bech32 encoded addresses
Prefix: util.Bech32PrefixDAGCoin, Prefix: util.Bech32PrefixDAGCoin,
@ -322,6 +330,10 @@ var RegressionNetParams = Params{
// Mempool parameters // Mempool parameters
RelayNonStdTxs: true, RelayNonStdTxs: true,
// AcceptUnroutable specifies whether this network accepts unroutable
// IP addresses, such as 10.0.0.0/8
AcceptUnroutable: false,
// Human-readable part for Bech32 encoded addresses // Human-readable part for Bech32 encoded addresses
Prefix: util.Bech32PrefixDAGReg, Prefix: util.Bech32PrefixDAGReg,
@ -386,6 +398,10 @@ var TestNet3Params = Params{
// Mempool parameters // Mempool parameters
RelayNonStdTxs: true, RelayNonStdTxs: true,
// AcceptUnroutable specifies whether this network accepts unroutable
// IP addresses, such as 10.0.0.0/8
AcceptUnroutable: false,
// Human-readable part for Bech32 encoded addresses // Human-readable part for Bech32 encoded addresses
Prefix: util.Bech32PrefixDAGTest, Prefix: util.Bech32PrefixDAGTest,
@ -449,6 +465,10 @@ var SimNetParams = Params{
// Mempool parameters // Mempool parameters
RelayNonStdTxs: true, RelayNonStdTxs: true,
// AcceptUnroutable specifies whether this network accepts unroutable
// IP addresses, such as 10.0.0.0/8
AcceptUnroutable: false,
PrivateKeyID: 0x64, // starts with 4 (uncompressed) or F (compressed) PrivateKeyID: 0x64, // starts with 4 (uncompressed) or F (compressed)
// Human-readable part for Bech32 encoded addresses // Human-readable part for Bech32 encoded addresses
Prefix: util.Bech32PrefixDAGSim, Prefix: util.Bech32PrefixDAGSim,
@ -506,6 +526,10 @@ var DevNetParams = Params{
// Mempool parameters // Mempool parameters
RelayNonStdTxs: true, RelayNonStdTxs: true,
// AcceptUnroutable specifies whether this network accepts unroutable
// IP addresses, such as 10.0.0.0/8
AcceptUnroutable: true,
// Human-readable part for Bech32 encoded addresses // Human-readable part for Bech32 encoded addresses
Prefix: util.Bech32PrefixDAGTest, Prefix: util.Bech32PrefixDAGTest,

View File

@ -99,6 +99,10 @@ func ipNet(ip string, ones, bits int) net.IPNet {
} }
func isRoutable(addr net.IP) bool { func isRoutable(addr net.IP) bool {
if activeNetParams.AcceptUnroutable {
return true
}
for _, n := range rfc1918Nets { for _, n := range rfc1918Nets {
if n.Contains(addr) { if n.Contains(addr) {
return false return false

View File

@ -38,6 +38,8 @@ WORKDIR /app
RUN apk add --no-cache ca-certificates tini RUN apk add --no-cache ca-certificates tini
COPY --from=build /go/src/github.com/daglabs/btcd/btcd /app/ COPY --from=build /go/src/github.com/daglabs/btcd/btcd /app/
COPY --from=build /go/src/github.com/daglabs/btcd/docker/rpc.cert /app/
COPY --from=build /go/src/github.com/daglabs/btcd/docker/rpc.key /app/
USER nobody USER nobody
ENTRYPOINT [ "/sbin/tini", "--" ] ENTRYPOINT [ "/sbin/tini", "--" ]

View File

@ -1,17 +1,17 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIICxjCCAiegAwIBAgIRAPJqXxfYxt2SS4zBDePySIcwCgYIKoZIzj0EAwQwNDEg MIICnzCCAgCgAwIBAgIRAMtb0YzwW1FdMNf8T0UNqR8wCgYIKoZIzj0EAwQwLTER
MB4GA1UEChMXYnRjZCBhdXRvZ2VuZXJhdGVkIGNlcnQxEDAOBgNVBAMTB1N0YXMt MA8GA1UEChMIZ2VuY2VydHMxGDAWBgNVBAMTD3VzZXItVmlydHVhbEJveDAeFw0x
UEMwHhcNMTgxMDAzMDkyNjI4WhcNMjgxMDAxMDkyNjI4WjA0MSAwHgYDVQQKExdi OTAzMzAwODQ1MjhaFw0yOTAzMjgwODQ1MjhaMC0xETAPBgNVBAoTCGdlbmNlcnRz
dGNkIGF1dG9nZW5lcmF0ZWQgY2VydDEQMA4GA1UEAxMHU3Rhcy1QQzCBmzAQBgcq MRgwFgYDVQQDEw91c2VyLVZpcnR1YWxCb3gwgZswEAYHKoZIzj0CAQYFK4EEACMD
hkjOPQIBBgUrgQQAIwOBhgAEAdQ6qvceZamb3kxvznD5WS22j+qZjZbFnakE7hmc gYYABAFQTRhFGAfgyfYoxCfTCoaWKYhABQ3h+JScx+oTvGfC8kVc2s7JLckOJN9u
8C9l+7mx110qnGpflvk8kX2YIMeV68S8ZMPQr81zNNiQAc45AfZhKQvGGxeYiUAu tQTHMwrhx2ElTGpuC3vHFsuUlAtBDgF//YJUAF5fv3IQTVkSUECUp4uLYMbmvcLQ
gSEsXyUbKYOZZTRVu3FA5i6fmC8yB0M/2HpVC3AgGViPR/1i/PzxL9olnvYpL2bw gBE1a/jduTT8Dfhjd5SV+sV0TOxqjf+Qkb66oti1ruFvRTiWy+hu26OBvTCBujAO
mS61JUD9o4HWMIHTMA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MIGv BgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB/zCBlgYDVR0RBIGOMIGLgg91
BgNVHREEgacwgaSCB1N0YXMtUEOCCWxvY2FsaG9zdIcEfwAAAYcQAAAAAAAAAAAA c2VyLVZpcnR1YWxCb3iCCWxvY2FsaG9zdIINKi5kYWdsYWJzLmNvbYcEfwAAAYcQ
AAAAAAAAAYcQ/oAAAAAAAADopxgiQ7Ww/YcEwKgQA4cQ/oAAAAAAAABE0sNmcRO4 AAAAAAAAAAAAAAAAAAAAAYcECgACD4cErBEAAYcErBvoNYcQ/oAAAAAAAABT1E8K
G4cEwKg4AYcQ/oAAAAAAAACxJJdG4/zVLIcEqf7VLIcQ/oAAAAAAAACE0Z2jFy6T u3k8v4cQ/oAAAAAAAAAAQtb//ntyVocQ/oAAAAAAAABC3PMbkAyPcjAKBggqhkjO
TYcEqf6TTYcQ/oAAAAAAAAAc1wgMEFA684cEwKgSFDAKBggqhkjOPQQDBAOBjAAw PQQDBAOBjAAwgYgCQgD4aX3+8HCaPkUMLBRFrZ2BLP8CUeoBwSaD77Yw9vOtSEfL
gYgCQgDsBor/CJyCyljrvXTDhWoctL28dsTjb512+KXGjH1Gpr6g+1P1OGKJrVWu Q/RMJKCG7SqDD6KnoJh6suwQwNJ6TelFWz8y2woBBwJCAJXET2Xeh5Ez7mV+geCv
d7M3GzOWT58y4qS63wwVwtL5lSAHhQJCAQZ0HVaGpmrY+S9yMxU1qrFlDyLt1GGA 7yyO7IjaNXMidyIDb+MxonvePSw4twH7uQSMcAJM97LB52tLWMhxidQ1g9ShhNM8
Z+KWzqPj4NBftX6p5lrcw3reS+aOnAsQNKvIVHCrQl/mhzpPvkLLNqjq up7L
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,7 +1,7 @@
-----BEGIN EC PRIVATE KEY----- -----BEGIN EC PRIVATE KEY-----
MIHcAgEBBEIA8VXso04KwmMXkgRkJrVMP2uOuB8zhcxzzFsPYUpYDKHDItEL1XBK MIHcAgEBBEIBaKKSYIpYlc1ERcfWQ7ljkHBLEyQM51JIdhQ1cYJjiMrW9W0FB3zY
Ffa0UXtBxOdOPK7lFtXjoao6iwNvPOxSJSCgBwYFK4EEACOhgYkDgYYABAHUOqr3 1lF6RMIOmE/vXV8B941q7Vyg8TylAMcKPCygBwYFK4EEACOhgYkDgYYABAFQTRhF
HmWpm95Mb85w+Vktto/qmY2WxZ2pBO4ZnPAvZfu5sdddKpxqX5b5PJF9mCDHlevE GAfgyfYoxCfTCoaWKYhABQ3h+JScx+oTvGfC8kVc2s7JLckOJN9utQTHMwrhx2El
vGTD0K/NczTYkAHOOQH2YSkLxhsXmIlALoEhLF8lGymDmWU0VbtxQOYun5gvMgdD TGpuC3vHFsuUlAtBDgF//YJUAF5fv3IQTVkSUECUp4uLYMbmvcLQgBE1a/jduTT8
P9h6VQtwIBlYj0f9Yvz88S/aJZ72KS9m8JkutSVA/Q== Dfhjd5SV+sV0TOxqjf+Qkb66oti1ruFvRTiWy+hu2w==
-----END EC PRIVATE KEY----- -----END EC PRIVATE KEY-----