From d2a83351f036b731ed19d967bdc76d0c07f0e591 Mon Sep 17 00:00:00 2001 From: Jakub Matys Date: Tue, 24 Jul 2018 16:16:09 +0200 Subject: [PATCH] Added templates for backend package --- build/templates/backend/Makefile | 29 +++ build/templates/backend/config/bitcoin.conf | 30 +++ build/templates/backend/debian/changelog | 7 + build/templates/backend/debian/compat | 3 + build/templates/backend/debian/conffiles | 3 + build/templates/backend/debian/control | 13 + build/templates/backend/debian/dirs | 3 + build/templates/backend/debian/install | 5 + build/templates/backend/debian/logrotate | 11 + build/templates/backend/debian/postinst | 27 ++ build/templates/backend/debian/rules | 16 ++ build/templates/backend/debian/service | 46 ++++ build/templates/generate.go | 257 ++++++++++++++++++++ configs/bcash.json | 14 -- configs/bcash_testnet.json | 14 -- configs/bgold.json | 13 - configs/bitcoin.json | 12 - configs/bitcoin_testnet.json | 42 ---- configs/coins/bcash.json | 55 +++++ configs/coins/bcash_testnet.json | 55 +++++ configs/coins/bgold.json | 249 +++++++++++++++++++ configs/coins/bitcoin.json | 56 +++++ configs/coins/bitcoin_testnet.json | 56 +++++ configs/coins/dash.json | 57 +++++ configs/coins/dash_testnet.json | 57 +++++ configs/coins/dogecoin.json | 57 +++++ configs/coins/ethereum.json | 51 ++++ configs/coins/ethereum_testnet_ropsten.json | 51 ++++ configs/coins/litecoin.json | 56 +++++ configs/coins/litecoin_testnet.json | 56 +++++ configs/coins/namecoin.json | 63 +++++ configs/coins/vertcoin.json | 54 ++++ configs/coins/vertcoin_testnet.json | 54 ++++ configs/coins/zcash.json | 56 +++++ configs/coins/zcash_testnet.json | 56 +++++ configs/dash.json | 13 - configs/dash_testnet.json | 13 - configs/dogecoin.json | 12 - configs/environ.json | 7 + configs/ethereum.json | 5 - configs/ethereum_testnet_ropsten.json | 5 - configs/litecoin.json | 12 - configs/litecoin_testnet.json | 12 - configs/namecoin.json | 12 - configs/vertcoin.json | 12 - configs/vertcoin_testnet.json | 12 - configs/zcash.json | 12 - configs/zcash_testnet.json | 12 - 48 files changed, 1596 insertions(+), 227 deletions(-) create mode 100644 build/templates/backend/Makefile create mode 100644 build/templates/backend/config/bitcoin.conf create mode 100644 build/templates/backend/debian/changelog create mode 100644 build/templates/backend/debian/compat create mode 100644 build/templates/backend/debian/conffiles create mode 100644 build/templates/backend/debian/control create mode 100644 build/templates/backend/debian/dirs create mode 100755 build/templates/backend/debian/install create mode 100644 build/templates/backend/debian/logrotate create mode 100644 build/templates/backend/debian/postinst create mode 100755 build/templates/backend/debian/rules create mode 100644 build/templates/backend/debian/service create mode 100644 build/templates/generate.go delete mode 100644 configs/bcash.json delete mode 100644 configs/bcash_testnet.json delete mode 100644 configs/bgold.json delete mode 100644 configs/bitcoin.json delete mode 100644 configs/bitcoin_testnet.json create mode 100644 configs/coins/bcash.json create mode 100644 configs/coins/bcash_testnet.json create mode 100644 configs/coins/bgold.json create mode 100644 configs/coins/bitcoin.json create mode 100644 configs/coins/bitcoin_testnet.json create mode 100644 configs/coins/dash.json create mode 100644 configs/coins/dash_testnet.json create mode 100644 configs/coins/dogecoin.json create mode 100644 configs/coins/ethereum.json create mode 100644 configs/coins/ethereum_testnet_ropsten.json create mode 100644 configs/coins/litecoin.json create mode 100644 configs/coins/litecoin_testnet.json create mode 100644 configs/coins/namecoin.json create mode 100644 configs/coins/vertcoin.json create mode 100644 configs/coins/vertcoin_testnet.json create mode 100644 configs/coins/zcash.json create mode 100644 configs/coins/zcash_testnet.json delete mode 100644 configs/dash.json delete mode 100644 configs/dash_testnet.json delete mode 100644 configs/dogecoin.json create mode 100644 configs/environ.json delete mode 100644 configs/ethereum.json delete mode 100644 configs/ethereum_testnet_ropsten.json delete mode 100644 configs/litecoin.json delete mode 100644 configs/litecoin_testnet.json delete mode 100644 configs/namecoin.json delete mode 100644 configs/vertcoin.json delete mode 100644 configs/vertcoin_testnet.json delete mode 100644 configs/zcash.json delete mode 100644 configs/zcash_testnet.json diff --git a/build/templates/backend/Makefile b/build/templates/backend/Makefile new file mode 100644 index 00000000..5b9e0bd4 --- /dev/null +++ b/build/templates/backend/Makefile @@ -0,0 +1,29 @@ +{{define "main" -}} +ARCHIVE := $(shell basename {{.Backend.BinaryURL}}) + +all: + wget {{.Backend.BinaryURL}} +{{- if eq .Backend.VerificationType "gpg"}} + wget {{.Backend.VerificationSource}} -O checksum + gpg --verify checksum ${ARCHIVE} +{{- else if eq .Backend.VerificationType "gpg-sha256"}} + wget {{.Backend.VerificationSource}} -O checksum + gpg --verify checksum + sha256sum -c --ignore-missing checksum +{{- else if eq .Backend.VerificationType "sha256"}} + [ "$$(sha256sum ${ARCHIVE} | cut -d ' ' -f 1)" = "{{.Backend.VerificationSource}}" ] +{{- end}} + mkdir backend + {{.Backend.ExtractCommand}} ${ARCHIVE} +{{- if .Backend.ExcludeFiles}} + # generated from exclude_files +{{- range $index, $name := .Backend.ExcludeFiles}} + rm backend/{{$name}} +{{- end}} +{{- end}} + +clean: + rm -rf backend + rm -f ${ARCHIVE} + rm -f checksum +{{end}} diff --git a/build/templates/backend/config/bitcoin.conf b/build/templates/backend/config/bitcoin.conf new file mode 100644 index 00000000..e3877184 --- /dev/null +++ b/build/templates/backend/config/bitcoin.conf @@ -0,0 +1,30 @@ +{{define "main" -}} +daemon=1 +server=1 +{{if .Backend.Mainnet}}mainnet=1{{else}}testnet=1{{end}} +nolisten=1 +rpcuser={{.RPC.RPCUser}} +rpcpassword={{.RPC.RPCPass}} +rpcport={{.Ports.BackendRPC}} +txindex=1 + +zmqpubhashtx={{template "MessageQueueBindingTemplate" .}} +zmqpubhashblock={{template "MessageQueueBindingTemplate" .}} + +rpcworkqueue=1100 +maxmempool=2000 +dbcache=1000 + +{{- if .Backend.AdditionalParams}} +# generated from additional_params +{{- range $name, $value := .Backend.AdditionalParams}} +{{- if eq $name "addnode"}} +{{- range $index, $node := $value}} +addnode={{$node}} +{{- end}} +{{- else}} +{{$name}}={{$value}} +{{- end}} +{{- end}} +{{- end}} +{{end}} diff --git a/build/templates/backend/debian/changelog b/build/templates/backend/debian/changelog new file mode 100644 index 00000000..c467b795 --- /dev/null +++ b/build/templates/backend/debian/changelog @@ -0,0 +1,7 @@ +{{define "main" -}} +backend ({{.Backend.Version}}{{if .Backend.PackageRevision}}-{{.Backend.PackageRevision}}{{end}}) unstable; urgency=medium + + * {{.Coin.Name}} backend daemon version {{.Backend.Version}} + + -- {{.Backend.PackageMaintainer}} <{{.Backend.PackageMaintainerEmail}}> {{.Meta.BuildDatetime}} +{{end}} diff --git a/build/templates/backend/debian/compat b/build/templates/backend/debian/compat new file mode 100644 index 00000000..2bbd4a85 --- /dev/null +++ b/build/templates/backend/debian/compat @@ -0,0 +1,3 @@ +{{define "main" -}} +9 +{{end}} diff --git a/build/templates/backend/debian/conffiles b/build/templates/backend/debian/conffiles new file mode 100644 index 00000000..d1d3266b --- /dev/null +++ b/build/templates/backend/debian/conffiles @@ -0,0 +1,3 @@ +{{define "main" -}} +{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf +{{end}} diff --git a/build/templates/backend/debian/control b/build/templates/backend/debian/control new file mode 100644 index 00000000..7034a8e8 --- /dev/null +++ b/build/templates/backend/debian/control @@ -0,0 +1,13 @@ +{{define "main" -}} +Source: backend +Section: satoshilabs +Priority: optional +Maintainer: {{.Backend.PackageMaintainerEmail}} +Build-Depends: debhelper, wget, tar, gzip, make, dh-systemd, dh-exec +Standards-Version: 3.9.5 + +Package: {{.Backend.PackageName}} +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, logrotate +Description: {{.Coin.Name}} backend daemon +{{end}} diff --git a/build/templates/backend/debian/dirs b/build/templates/backend/debian/dirs new file mode 100644 index 00000000..32632c87 --- /dev/null +++ b/build/templates/backend/debian/dirs @@ -0,0 +1,3 @@ +{{define "main" -}} +{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend +{{end}} diff --git a/build/templates/backend/debian/install b/build/templates/backend/debian/install new file mode 100755 index 00000000..e163234c --- /dev/null +++ b/build/templates/backend/debian/install @@ -0,0 +1,5 @@ +{{define "main" -}} +#!/usr/bin/dh-exec +backend/* {{.Env.BackendInstallPath}}/{{.Coin.Alias}} +backend.conf => {{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf +{{end}} diff --git a/build/templates/backend/debian/logrotate b/build/templates/backend/debian/logrotate new file mode 100644 index 00000000..a1987fa3 --- /dev/null +++ b/build/templates/backend/debian/logrotate @@ -0,0 +1,11 @@ +{{define "main" -}} +{{template "LogrotateFilesTemplate" .}} +{ + rotate 7 + daily + compress + missingok + notifempty + copytruncate +} +{{end}} diff --git a/build/templates/backend/debian/postinst b/build/templates/backend/debian/postinst new file mode 100644 index 00000000..81e51070 --- /dev/null +++ b/build/templates/backend/debian/postinst @@ -0,0 +1,27 @@ +{{define "main" -}} +#!/bin/bash +set -e + +case "$1" in + + configure) + if ! id -u {{.Backend.SystemUser}} &> /dev/null + then + useradd --system -M -U {{.Backend.SystemUser}} -s /bin/false + fi + + if [ "$(stat -c '%U' {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend)" != "{{.Backend.SystemUser}}" ] + then + chown -R {{.Backend.SystemUser}}:{{.Backend.SystemUser}} {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend + fi + +{{if .Backend.PostinstScriptTemplate}} + # generated from postinst_template + {{template "PostinstScriptTemplate" .}} +{{end}} + ;; + +esac + +#DEBHELPER# +{{end}} diff --git a/build/templates/backend/debian/rules b/build/templates/backend/debian/rules new file mode 100755 index 00000000..2b091547 --- /dev/null +++ b/build/templates/backend/debian/rules @@ -0,0 +1,16 @@ +{{define "main" -}} +#!/usr/bin/make -f + +DH_VERBOSE = 1 + +%: + dh $@ --with=systemd + +override_dh_systemd_start: + dh_systemd_start --no-start + +override_dh_installinit: + +override_dh_strip: + dh_strip --no-automatic-dbgsym +{{end}} diff --git a/build/templates/backend/debian/service b/build/templates/backend/debian/service new file mode 100644 index 00000000..cdcb905f --- /dev/null +++ b/build/templates/backend/debian/service @@ -0,0 +1,46 @@ +{{define "main" -}} +[Unit] +Description={{.Coin.Name}} backend daemon +After=network.target + +[Service] +ExecStart={{template "ExecCommandTemplate" .}} +User={{.Backend.SystemUser}} +Restart=on-failure +WorkingDirectory={{.Env.BackendInstallPath}}/{{.Coin.Alias}} +{{if eq .Backend.ServiceType "forking" -}} +Type=forking +RuntimeDirectory={{.Coin.Alias}} +PIDFile=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid +{{else -}} +Type=simple +{{end}} + +# Resource limits +LimitNOFILE=500000 + +# Hardening measures +#################### + +# Provide a private /tmp and /var/tmp. +PrivateTmp=true + +# Mount /usr, /boot/ and /etc read-only for the process. +ProtectSystem=full + +# Disallow the process and all of its children to gain +# new privileges through execve(). +NoNewPrivileges=true + +# Use a new /dev namespace only populated with API pseudo devices +# such as /dev/null, /dev/zero and /dev/random. +PrivateDevices=true + +{{if .Backend.ProtectMemory -}} +# Deny the creation of writable and executable memory mappings. +MemoryDenyWriteExecute=true +{{end}} + +[Install] +WantedBy=multi-user.target +{{end}} diff --git a/build/templates/generate.go b/build/templates/generate.go new file mode 100644 index 00000000..39bd6584 --- /dev/null +++ b/build/templates/generate.go @@ -0,0 +1,257 @@ +package main + +import ( + "encoding/json" + "fmt" + "io" + "os" + "path/filepath" + "text/template" + "time" +) + +const ( + inputDir = "build/templates" + outputDir = "build/pkg-defs" +) + +type Config struct { + Meta struct { + BuildDatetime string + } + Env struct { + Version string `json:"version"` + BackendInstallPath string `json:"backend_install_path"` + BackendDataPath string `json:"backend_data_path"` + BlockbookInstallPath string `json:"blockbook_install_path"` + BlockbookDataPath string `json:"blockbook_data_path"` + } `json:"env"` + Coin struct { + Name string `json:"name"` + Shortcut string `json:"shortcut"` + Label string `json:"label"` + Alias string `json:"alias"` + } `json:"coin"` + Ports struct { + BackendRPC int `json:"backend_rpc"` + BackendMessageQueue int `json:"backend_message_queue"` + BlockbookInternal int `json:"blockbook_internal"` + BlockbookPublic int `json:"blockbook_public"` + } `json:"ports"` + RPC struct { + RPCURLTemplate string `json:"rpc_url_template"` + RPCUser string `json:"rpc_user"` + RPCPass string `json:"rpc_pass"` + RPCTimeout int `json:"rpc_timeout"` + Parse bool `json:"parse"` + MessageQueueBindingTemplate string `json:"message_queue_binding_template"` + Subversion string `json:"subversion"` + AddressFormat string `json:"address_format"` + MempoolWorkers int `json:"mempool_workers"` + MempoolSubWorkers int `json:"mempool_sub_workers"` + BlockAddressesToKeep int `json:"block_addresses_to_keep"` + } `json:"rpc"` + Backend struct { + PackageName string `json:"package_name"` + PackageRevision string `json:"package_revision"` + PackageMaintainer string `json:"package_maintainer"` + PackageMaintainerEmail string `json:"package_maintainer_email"` + SystemUser string `json:"system_user"` + Version string `json:"version"` + BinaryURL string `json:"binary_url"` + VerificationType string `json:"verification_type"` + VerificationSource string `json:"verification_source"` + ExtractCommand string `json:"extract_command"` + ExcludeFiles []string `json:"exclude_files"` + ExecCommandTemplate string `json:"exec_command_template"` + LogrotateFilesTemplate string `json:"logrotate_files_template"` + PostinstScriptTemplate string `json:"postinst_script_template"` + ServiceType string `json:"service_type"` + ProtectMemory bool `json:"protect_memory"` + Mainnet bool `json:"mainnet"` + ConfigFile string `json:"config_file"` + AdditionalParams interface{} `json:"additional_params"` + } `json:"backend"` + Blockbook struct { + PackageName string `json:"package_name"` + SystemUser string `json:"system_user"` + Explorer string `json:"explorer"` + AdditionalParams string `json:"additional_params"` + } `json:"blockbook"` +} + +func (c *Config) ParseTemplate() *template.Template { + templates := map[string]string{ + "RPCURLTemplate": c.RPC.RPCURLTemplate, + "MessageQueueBindingTemplate": c.RPC.MessageQueueBindingTemplate, + "ExecCommandTemplate": c.Backend.ExecCommandTemplate, + "LogrotateFilesTemplate": c.Backend.LogrotateFilesTemplate, + "PostinstScriptTemplate": c.Backend.PostinstScriptTemplate, + } + + t := template.New("") + + for name, def := range templates { + t = template.Must(t.Parse(fmt.Sprintf(`{{define "%s"}}%s{{end}}`, name, def))) + } + + return t +} + +func main() { + if len(os.Args) < 2 { + fmt.Fprintf(os.Stderr, "Usage: %s coin_alias [...]\n", filepath.Base(os.Args[0])) + os.Exit(1) + } + + for _, coin := range os.Args[1:] { + config := loadConfig(coin) + generatePackageDefinitions(config) + } +} + +func loadConfig(coin string) *Config { + dir := "configs" + config := new(Config) + + f, err := os.Open(filepath.Join(dir, "coins", coin+".json")) + if err != nil { + panic(err) + } + d := json.NewDecoder(f) + err = d.Decode(config) + if err != nil { + panic(err) + } + + f, err = os.Open(filepath.Join(dir, "environ.json")) + if err != nil { + panic(err) + } + d = json.NewDecoder(f) + err = d.Decode(&config.Env) + if err != nil { + panic(err) + } + + config.Meta.BuildDatetime = time.Now().Format("Mon, 02 Jan 2006 15:04:05 -0700") + + switch config.Backend.ServiceType { + case "forking": + case "simple": + default: + panic("Invalid service type: " + config.Backend.ServiceType) + } + + switch config.Backend.VerificationType { + case "": + case "gpg": + case "sha256": + case "gpg-sha256": + default: + panic("Invalid verification type: " + config.Backend.VerificationType) + } + + return config +} + +func generatePackageDefinitions(config *Config) { + templ := config.ParseTemplate() + + makeOutputDir(outputDir) + + for _, subdir := range []string{"backend"} { + root := filepath.Join(inputDir, subdir) + + err := os.Mkdir(filepath.Join(outputDir, subdir), 0755) + if err != nil { + panic(err) + } + + err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + if err != nil { + return fmt.Errorf("%s: %s", path, err) + } + + if path == root { + return nil + } + if filepath.Base(path)[0] == '.' { + return nil + } + + subpath := path[len(root)-len(subdir):] + + if info.IsDir() { + err = os.Mkdir(filepath.Join(outputDir, subpath), info.Mode()) + if err != nil { + return fmt.Errorf("%s: %s", path, err) + } + return nil + } + + t := template.Must(templ.Clone()) + t = template.Must(t.ParseFiles(path)) + + err = writeTemplate(filepath.Join(outputDir, subpath), info, t, config) + if err != nil { + return fmt.Errorf("%s: %s", path, err) + } + + return nil + }) + if err != nil { + panic(err) + } + } + + writeBackendConfigFile(config) +} + +func makeOutputDir(path string) { + err := os.RemoveAll(path) + if err == nil { + err = os.Mkdir(path, 0755) + } + if err != nil { + panic(err) + } +} + +func writeTemplate(path string, info os.FileInfo, templ *template.Template, config *Config) error { + f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, info.Mode()) + if err != nil { + return err + } + defer f.Close() + + err = templ.ExecuteTemplate(f, "main", config) + if err != nil { + return err + } + + return nil +} + +func writeBackendConfigFile(config *Config) { + out, err := os.OpenFile(filepath.Join(outputDir, "backend/backend.conf"), os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + panic(err) + } + defer out.Close() + + if config.Backend.ConfigFile == "" { + return + } else { + in, err := os.Open(filepath.Join(outputDir, "backend/config", config.Backend.ConfigFile)) + if err != nil { + panic(err) + } + defer in.Close() + + _, err = io.Copy(out, in) + if err != nil { + panic(err) + } + } +} diff --git a/configs/bcash.json b/configs/bcash.json deleted file mode 100644 index 7782bb76..00000000 --- a/configs/bcash.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "coin_name": "Bcash", - "rpcURL": "http://127.0.0.1:8031", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38331", - "subversion": "/Bitcoin ABC:0.17.1/", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300, - "addressFormat": "legacy" -} \ No newline at end of file diff --git a/configs/bcash_testnet.json b/configs/bcash_testnet.json deleted file mode 100644 index ebe41a9d..00000000 --- a/configs/bcash_testnet.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "coin_name": "Bcash Testnet", - "rpcURL": "http://localhost:18031", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:48331", - "subversion": "/Bitcoin ABC:0.17.1/", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300, - "addressFormat": "legacy" -} \ No newline at end of file diff --git a/configs/bgold.json b/configs/bgold.json deleted file mode 100644 index b77bd7e0..00000000 --- a/configs/bgold.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "coin_name": "Bgold", - "rpcURL": "http://127.0.0.1:8035", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38335", - "subversion": "/Bitcoin Gold:0.15.1/", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/bitcoin.json b/configs/bitcoin.json deleted file mode 100644 index 97534f9c..00000000 --- a/configs/bitcoin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Bitcoin", - "rpcURL": "http://127.0.0.1:8030", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38330", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} \ No newline at end of file diff --git a/configs/bitcoin_testnet.json b/configs/bitcoin_testnet.json deleted file mode 100644 index 41e9cd2a..00000000 --- a/configs/bitcoin_testnet.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "coin_name": "Testnet", - "coin_shortcut": "TEST", - "coin_folder": "bitcoin_testnet", - "ports": { - "backendRPC": 18030, - "backendMessageQueue": 48330, - "blockbookInternal": 19030, - "blockbookPublic": 19130 - }, - "rpc": { - "rpcURLTemplate": "http://localhost:{{.ports.backendRPC}}", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "messageQueueBindingTemplate": "tcp://127.0.0.1:{{.ports.backendMessageQueue}}", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 - }, - "backend": { - "package_name": "backend-bitcoin-testnet", - "system_user": "bitcoin", - "version": "0.16.1", - "binaryURL": "https://bitcoin.org/bin/bitcoin-core-0.16.1/bitcoin-0.16.1-x86_64-linux-gnu.tar.gz", - "verificationType": "asc/sha256/...", - "verificationSourceURL": "https://bitcoin.org/bin/bitcoin-core-0.16.1/SHA256SUMS.asc", - "verificationSignature": "eccf8b61ba0549f6839e586c7dc6fc4bf6d7591ac432aaea8a7df0266b113d27", - "executableTemplate": "{{.env.BackendInstallPath}}/bin/bitcoind -datadir={{.env.BackendDataPath}}/{{.coin.coin_folder}}/backend -conf={{.env.BackendInstallPath}}/{{.coin.coin_folder}}/{{.coin.coin_folder}}.conf -pid=/run/{{.coin.coin_folder}}/{{.coin.coin_folder}}.pid", - "postinstScriptTemplate": "HOME=/opt/coins/data/{{.coin.coin_folder}}/backend /opt/coins/nodes/zcash_testnet/bin/zcash-fetch-params --testnet", - "serviceType": "forking/simple", - "hardeningMemory": true, - "coin_specific_config_template reminder": null - }, - "blockbook": { - "package_name": "blockbook-bitcoin-testnet", - "system_user": "blockbook-bitcoin", - "explorer": "/explorer", - "additional_params": "-resyncindexperiod=30011 -resyncmempoolperiod=2011", - } -} \ No newline at end of file diff --git a/configs/coins/bcash.json b/configs/coins/bcash.json new file mode 100644 index 00000000..c497eb6f --- /dev/null +++ b/configs/coins/bcash.json @@ -0,0 +1,55 @@ +{ + "coin": { + "name": "Bcash", + "shortcut": "BCH", + "label": "Bitcoin Cash", + "alias": "bcash" + }, + "ports": { + "backend_rpc": 8031, + "backend_message_queue": 38331, + "blockbook_internal": 9031, + "blockbook_public": 9131 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "subversion": "/Bitcoin ABC:0.17.1/", + "address_format": "legacy", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-bcash", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "bcash", + "version": "0.17.1", + "binary_url": "https://download.bitcoinabc.org/0.17.1/linux/bitcoin-abc-0.17.1-x86_64-linux-gnu.tar.gz", + "verification_type": "sha256", + "verification_source": "eccf8b61ba0549f6839e586c7dc6fc4bf6d7591ac432aaea8a7df0266b113d27", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/bitcoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/bitcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf" + }, + "blockbook": { + "package_name": "blockbook-bcash", + "system_user": "blockbook-bcash", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/bcash_testnet.json b/configs/coins/bcash_testnet.json new file mode 100644 index 00000000..6adf78ed --- /dev/null +++ b/configs/coins/bcash_testnet.json @@ -0,0 +1,55 @@ +{ + "coin": { + "name": "Bcash Testnet", + "shortcut": "TBCH", + "label": "Bitcoin Cash Testnet", + "alias": "bcash_testnet" + }, + "ports": { + "backend_rpc": 18031, + "backend_message_queue": 48331, + "blockbook_internal": 19031, + "blockbook_public": 19131 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "subversion": "/Bitcoin ABC:0.17.1/", + "address_format": "legacy", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-bcash-testnet", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "bcash", + "version": "0.17.1", + "binary_url": "https://download.bitcoinabc.org/0.17.1/linux/bitcoin-abc-0.17.1-x86_64-linux-gnu.tar.gz", + "verification_type": "sha256", + "verification_source": "eccf8b61ba0549f6839e586c7dc6fc4bf6d7591ac432aaea8a7df0266b113d27", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/bitcoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/bitcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/testnet3/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": false, + "config_file": "bitcoin.conf" + }, + "blockbook": { + "package_name": "blockbook-bcash-testnet", + "system_user": "blockbook-bcash", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/bgold.json b/configs/coins/bgold.json new file mode 100644 index 00000000..c49eaea4 --- /dev/null +++ b/configs/coins/bgold.json @@ -0,0 +1,249 @@ +{ + "coin": { + "name": "Bgold", + "shortcut": "BTG", + "label": "Bitcoin Gold", + "alias": "bgold" + }, + "ports": { + "backend_rpc": 18035, + "backend_message_queue": 38335, + "blockbook_internal": 9035, + "blockbook_public": 9135 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "subversion": "/Bitcoin Gold:0.15.1/", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-bgold", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "bgold", + "version": "0.15.1", + "binary_url": "https://github.com/BTCGPU/BTCGPU/releases/download/v0.15.1/bitcoin-gold-0.15.1-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://github.com/BTCGPU/BTCGPU/releases/download/v0.15.1/SHA256SUMS.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/bitcoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/bgoldd -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "mempoolexpiry": 72, + "timeout": 768, + "maxconnections": 250, + "addnode": [ + "188.126.0.134", + "45.56.84.44", + "109.201.133.93:8338", + "178.63.11.246:8338", + "188.120.223.153:8338", + "79.137.64.158:8338", + "78.193.221.106:8338", + "139.59.151.13:8338", + "76.16.12.81:8338", + "172.104.157.62:8338", + "43.207.67.209:8338", + "178.63.11.246:8338", + "79.137.64.158:8338", + "78.193.221.106:8338", + "139.59.151.13:8338", + "172.104.157.62:8338", + "178.158.247.119:8338", + "109.201.133.93:8338", + "178.63.11.246:8338", + "139.59.151.13:8338", + "172.104.157.62:8338", + "188.120.223.153:8338", + "178.158.247.119:8338", + "78.193.221.106:8338", + "79.137.64.158:8338", + "76.16.12.81:8338", + "176.12.32.153:8338", + "178.158.247.122:8338", + "81.37.147.185:8338", + "176.12.32.153:8338", + "79.137.64.158:8338", + "178.158.247.122:8338", + "66.70.247.151:8338", + "89.18.27.165:8338", + "178.63.11.246:8338", + "91.222.17.86:8338", + "37.59.50.143:8338", + "91.50.219.221:8338", + "154.16.63.17:8338", + "213.136.76.42:8338", + "176.99.4.140:8338", + "176.9.48.36:8338", + "78.193.221.106:8338", + "34.236.228.99:8338", + "213.154.230.107:8338", + "111.231.66.252:8338", + "188.120.223.153:8338", + "219.89.122.82:8338", + "109.192.23.101:8338", + "98.114.91.222:8338", + "217.66.156.41:8338", + "172.104.157.62:8338", + "114.44.222.73:8338", + "91.224.140.216:8338", + "149.154.71.96:8338", + "107.181.183.242:8338", + "36.78.96.92:8338", + "46.22.7.74:8338", + "89.110.53.186:8338", + "73.243.220.85:8338", + "109.86.137.8:8338", + "77.78.12.89:8338", + "87.92.116.26:8338", + "93.78.122.48:8338", + "35.195.83.0:8338", + "46.147.75.220:8338", + "212.47.236.104:8338", + "95.220.100.230:8338", + "178.70.142.247:8338", + "45.76.136.149:8338", + "94.155.74.206:8338", + "178.70.142.247:8338", + "128.199.228.97:8338", + "77.171.144.207:8338", + "159.89.192.119:8338", + "136.63.238.170:8338", + "31.27.193.105:8338", + "176.107.192.240:8338", + "94.140.241.96:8338", + "66.108.15.5:8338", + "81.177.127.204:8338", + "88.18.69.174:8338", + "178.70.130.94:8338", + "78.98.162.140:8338", + "95.133.156.224:8338", + "46.188.16.96:8338", + "94.247.16.21:8338", + "eunode.pool.gold:8338", + "asianode.pool.gold:8338", + "45.56.84.44:8338", + "176.9.48.36:8338", + "93.57.253.121:8338", + "172.104.157.62:8338", + "176.12.32.153:8338", + "pool.serverpower.net:8338", + "213.154.229.126:8338", + "213.154.230.106:8338", + "213.154.230.107:8338", + "213.154.229.50:8338", + "145.239.0.50:8338", + "107.181.183.242:8338", + "109.201.133.93:8338", + "120.41.190.109:8338", + "120.41.191.224:8338", + "138.68.249.79:8338", + "13.95.223.202:8338", + "145.239.0.50:8338", + "149.56.95.26:8338", + "158.69.103.228:8338", + "159.89.192.119:8338", + "164.132.207.143:8338", + "171.100.141.106:8338", + "172.104.157.62:8338", + "173.176.95.92:8338", + "176.12.32.153:8338", + "178.239.54.250:8338", + "178.63.11.246:8338", + "185.139.2.140:8338", + "188.120.223.153:8338", + "190.46.2.92:8338", + "192.99.194.113:8338", + "199.229.248.218:8338", + "213.154.229.126:8338", + "213.154.229.50:8338", + "213.154.230.106:8338", + "213.154.230.107:8338", + "217.182.199.21", + "35.189.127.200:8338", + "35.195.83.0:8338", + "35.197.197.166:8338", + "35.200.168.155:8338", + "35.203.167.11:8338", + "37.59.50.143:8338", + "45.27.161.195:8338", + "45.32.234.160:8338", + "45.56.84.44:8338", + "46.188.16.96:8338", + "46.251.19.171:8338", + "5.157.119.109:8338", + "52.28.162.48:8338", + "54.153.140.202:8338", + "54.68.81.2:83388338", + "62.195.190.190:8338", + "62.216.5.136:8338", + "65.110.125.175:8338", + "67.68.226.130:8338", + "73.243.220.85:8338", + "77.78.12.89:8338", + "78.193.221.106:8338", + "78.98.162.140:8338", + "79.137.64.158:8338", + "84.144.177.238:8338", + "87.92.116.26:8338", + "89.115.139.117:8338", + "89.18.27.165:8338", + "91.50.219.221:8338", + "93.88.74.26", + "93.88.74.26:8338", + "94.155.74.206:8338", + "95.154.201.132:8338", + "98.29.248.131:8338", + "u2.my.to:8338", + "[2001:470:b:ce:dc70:83ff:fe7a:1e74]:8338", + "2001:7b8:61d:1:250:56ff:fe90:c89f:8338", + "2001:7b8:63a:1002:213:154:230:106:8338", + "2001:7b8:63a:1002:213:154:230:107:8338", + "45.56.84.44", + "109.201.133.93:8338", + "120.41.191.224:30607", + "138.68.249.79:50992", + "138.68.249.79:51314", + "172.104.157.62", + "178.63.11.246:8338", + "185.139.2.140:8338", + "199.229.248.218:28830", + "35.189.127.200:41220", + "35.189.127.200:48244", + "35.195.83.0:35172", + "35.195.83.0:35576", + "35.195.83.0:35798", + "35.197.197.166:32794", + "35.197.197.166:33112", + "35.197.197.166:33332", + "35.203.167.11:52158", + "37.59.50.143:35254", + "45.27.161.195:33852", + "45.27.161.195:36738", + "45.27.161.195:58628" + ] + } + }, + "blockbook": { + "package_name": "blockbook-bgold", + "system_user": "blockbook-bgold", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/bitcoin.json b/configs/coins/bitcoin.json new file mode 100644 index 00000000..8f9bca85 --- /dev/null +++ b/configs/coins/bitcoin.json @@ -0,0 +1,56 @@ +{ + "coin": { + "name": "Bitcoin", + "shortcut": "BTC", + "label": "Bitcoin", + "alias": "bitcoin" + }, + "ports": { + "backend_rpc": 8030, + "backend_message_queue": 38330, + "blockbook_internal": 9030, + "blockbook_public": 9130 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-bitcoin", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "bitcoin", + "version": "0.16.1", + "binary_url": "https://bitcoin.org/bin/bitcoin-core-0.16.1/bitcoin-0.16.1-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://bitcoin.org/bin/bitcoin-core-0.16.1/SHA256SUMS.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/bitcoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/bitcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "deprecatedrpc": "estimatefee" + } + }, + "blockbook": { + "package_name": "blockbook-bitcoin", + "system_user": "blockbook-bitcoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/bitcoin_testnet.json b/configs/coins/bitcoin_testnet.json new file mode 100644 index 00000000..a57d5744 --- /dev/null +++ b/configs/coins/bitcoin_testnet.json @@ -0,0 +1,56 @@ +{ + "coin": { + "name": "Testnet", + "shortcut": "TEST", + "label": "Testnet", + "alias": "bitcoin_testnet" + }, + "ports": { + "backend_rpc": 18030, + "backend_message_queue": 48330, + "blockbook_internal": 19030, + "blockbook_public": 19130 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-bitcoin-testnet", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "bitcoin", + "version": "0.16.1", + "binary_url": "https://bitcoin.org/bin/bitcoin-core-0.16.1/bitcoin-0.16.1-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://bitcoin.org/bin/bitcoin-core-0.16.1/SHA256SUMS.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/bitcoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/bitcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/testnet3/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": false, + "config_file": "bitcoin.conf", + "additional_params": { + "deprecatedrpc": "estimatefee" + } + }, + "blockbook": { + "package_name": "blockbook-bitcoin-testnet", + "system_user": "blockbook-bitcoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/dash.json b/configs/coins/dash.json new file mode 100644 index 00000000..715ff8f3 --- /dev/null +++ b/configs/coins/dash.json @@ -0,0 +1,57 @@ +{ + "coin": { + "name": "Dash", + "shortcut": "DASH", + "label": "Dash", + "alias": "dash" + }, + "ports": { + "backend_rpc": 8033, + "backend_message_queue": 38333, + "blockbook_internal": 9033, + "blockbook_public": 9133 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "subversion": "/Dash Core:0.12.3.2/", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-dash", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "dash", + "version": "0.12.3", + "binary_url": "https://github.com/dashpay/dash/releases/download/v0.12.3.2/dashcore-0.12.3.2-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://github.com/dashpay/dash/releases/download/v0.12.3.2/SHA256SUMS.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/dash-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/dashd -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "mempoolexpiry": 72 + } + }, + "blockbook": { + "package_name": "blockbook-dash", + "system_user": "blockbook-dash", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/dash_testnet.json b/configs/coins/dash_testnet.json new file mode 100644 index 00000000..bc2a0f5f --- /dev/null +++ b/configs/coins/dash_testnet.json @@ -0,0 +1,57 @@ +{ + "coin": { + "name": "Dash Testnet", + "shortcut": "tDASH", + "label": "Dash Testnet", + "alias": "dash_testnet" + }, + "ports": { + "backend_rpc": 18033, + "backend_message_queue": 48333, + "blockbook_internal": 19033, + "blockbook_public": 19133 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "subversion": "/Dash Core:0.12.3.2/", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-dash-testnet", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "dash", + "version": "0.12.3", + "binary_url": "https://github.com/dashpay/dash/releases/download/v0.12.3.2/dashcore-0.12.3.2-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://github.com/dashpay/dash/releases/download/v0.12.3.2/SHA256SUMS.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/dash-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/dashd -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/testnet3/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": false, + "config_file": "bitcoin.conf", + "additional_params": { + "mempoolexpiry": 72 + } + }, + "blockbook": { + "package_name": "blockbook-dash-testnet", + "system_user": "blockbook-dash", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/dogecoin.json b/configs/coins/dogecoin.json new file mode 100644 index 00000000..c087a16c --- /dev/null +++ b/configs/coins/dogecoin.json @@ -0,0 +1,57 @@ +{ + "coin": { + "name": "Dogecoin", + "shortcut": "DOGE", + "label": "Dogecoin", + "alias": "dogecoin" + }, + "ports": { + "backend_rpc": 8038, + "backend_message_queue": 38338, + "blockbook_internal": 9038, + "blockbook_public": 9138 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-dogecoin", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "dogecoin", + "version": "1.10.0", + "binary_url": "https://github.com/dogecoin/dogecoin/releases/download/v1.10.0/dogecoin-1.10.0-linux64.tar.gz", + "verification_type": "sha256", + "verification_source": "2e5b61842695d74ebcd30f21014cf74b6265f0f7756e9f140f031259bb3cd656", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/dogecoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/dogecoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": false, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "whitelist": "127.0.0.1", + "rpcthreads": 32 + } + }, + "blockbook": { + "package_name": "blockbook-dogecoin", + "system_user": "blockbook-dogecoin", + "explorer": "/explorer", + "additional_params": "-resyncindexperiod=30011 -resyncmempoolperiod=2011" + } +} diff --git a/configs/coins/ethereum.json b/configs/coins/ethereum.json new file mode 100644 index 00000000..91e0eb3d --- /dev/null +++ b/configs/coins/ethereum.json @@ -0,0 +1,51 @@ +{ + "coin": { + "name": "Ethereum", + "shortcut": "ETH", + "label": "Ethereum", + "alias": "ethereum" + }, + "ports": { + "backend_rpc": 8036, + "backend_message_queue": 0, + "blockbook_internal": 9036, + "blockbook_public": 9136 + }, + "rpc": { + "rpc_url_template": "ws://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-ethereum", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "ethereum", + "version": "1.8.10-eae63c51", + "binary_url": "https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.8.10-eae63c51.tar.gz", + "verification_type": "gpg", + "verification_source": "https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.8.10-eae63c51.tar.gz.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [], + "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/geth --ipcdisable --syncmode full --cache 1024 --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --port 38336 --ws --wsaddr 0.0.0.0 --wsport {{.Ports.BackendRPC}} --wsorigins \"*\" --rpc --rpcport 8136 -rpcaddr 0.0.0.0 --rpccorsdomain \"*\" --rpcvhosts \"*\" 2>>{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log'", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", + "postinst_script_template": "", + "service_type": "simple", + "protect_memory": true, + "mainnet": true, + "config_file": "" + }, + "blockbook": { + "package_name": "blockbook-ethereum", + "system_user": "blockbook-ethereum", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/ethereum_testnet_ropsten.json b/configs/coins/ethereum_testnet_ropsten.json new file mode 100644 index 00000000..c6610d1b --- /dev/null +++ b/configs/coins/ethereum_testnet_ropsten.json @@ -0,0 +1,51 @@ +{ + "coin": { + "name": "Ethereum Testnet Ropsten", + "shortcut": "tETH", + "label": "Ethereum Testnet Ropsten", + "alias": "ethereum_testnet_ropsten" + }, + "ports": { + "backend_rpc": 18036, + "backend_message_queue": 0, + "blockbook_internal": 19036, + "blockbook_public": 19136 + }, + "rpc": { + "rpc_url_template": "ws://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-ethereum-testnet-ropsten", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "ethereum", + "version": "1.8.10-eae63c51", + "binary_url": "https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.8.10-eae63c51.tar.gz", + "verification_type": "gpg", + "verification_source": "https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.8.10-eae63c51.tar.gz.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [], + "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/geth --testnet --ipcdisable --cache 1024 --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --port 48336 --ws --wsaddr 0.0.0.0 --wsport {{.Ports.BackendRPC}} --wsorigins \"*\" 2>>{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log'", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", + "postinst_script_template": "", + "service_type": "simple", + "protect_memory": true, + "mainnet": false, + "config_file": "" + }, + "blockbook": { + "package_name": "blockbook-ethereum-testnet-ropsten", + "system_user": "blockbook-ethereum", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/litecoin.json b/configs/coins/litecoin.json new file mode 100644 index 00000000..ab29ea7a --- /dev/null +++ b/configs/coins/litecoin.json @@ -0,0 +1,56 @@ +{ + "coin": { + "name": "Litecoin", + "shortcut": "LTC", + "label": "Litecoin", + "alias": "litecoin" + }, + "ports": { + "backend_rpc": 8034, + "backend_message_queue": 38334, + "blockbook_internal": 9034, + "blockbook_public": 9134 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-litecoin", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "litecoin", + "version": "0.16.0", + "binary_url": "https://download.litecoin.org/litecoin-0.16.0/linux/litecoin-0.16.0-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://download.litecoin.org/litecoin-0.16.0/linux/litecoin-0.16.0-linux-signatures.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/litecoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/litecoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "whitelist": "127.0.0.1" + } + }, + "blockbook": { + "package_name": "blockbook-litecoin", + "system_user": "blockbook-litecoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/litecoin_testnet.json b/configs/coins/litecoin_testnet.json new file mode 100644 index 00000000..741eca7c --- /dev/null +++ b/configs/coins/litecoin_testnet.json @@ -0,0 +1,56 @@ +{ + "coin": { + "name": "Litecoin Testnet", + "shortcut": "TLTC", + "label": "Litecoin Testnet", + "alias": "litecoin_testnet" + }, + "ports": { + "backend_rpc": 18034, + "backend_message_queue": 48334, + "blockbook_internal": 19034, + "blockbook_public": 19134 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-litecoin-testnet", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "litecoin", + "version": "0.16.0", + "binary_url": "https://download.litecoin.org/litecoin-0.16.0/linux/litecoin-0.16.0-x86_64-linux-gnu.tar.gz", + "verification_type": "gpg-sha256", + "verification_source": "https://download.litecoin.org/litecoin-0.16.0/linux/litecoin-0.16.0-linux-signatures.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/litecoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/litecoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/testnet4/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": false, + "config_file": "bitcoin.conf", + "additional_params": { + "whitelist": "127.0.0.1" + } + }, + "blockbook": { + "package_name": "blockbook-litecoin-testnet", + "system_user": "blockbook-litecoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/namecoin.json b/configs/coins/namecoin.json new file mode 100644 index 00000000..60585299 --- /dev/null +++ b/configs/coins/namecoin.json @@ -0,0 +1,63 @@ +{ + "coin": { + "name": "Namecoin", + "shortcut": "NMC", + "label": "Namecoin", + "alias": "namecoin" + }, + "ports": { + "backend_rpc": 8039, + "backend_message_queue": 38339, + "blockbook_internal": 9039, + "blockbook_public": 9139 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-namecoin", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "namecoin", + "version": "0.13.99", + "binary_url": "https://namecoin.org/files/namecoin-core-0.13.99-name-tab-beta1-notreproduced/namecoin-0.13.99-x86_64-linux-gnu.tar.gz", + "verification_type": "sha256", + "verification_source": "294b1106001d6ea2b9d9ee6a655021ef207a24e8f1dec8efd5899728b3849129", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [ + "bin/namecoin-qt" + ], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/namecoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "whitelist": "127.0.0.1", + "upnp": 0, + "discover": 0, + "whitelistrelay": 1, + "listenonion": 0, + "addnode": [ + "45.24.110.177:8334" + ] + } + }, + "blockbook": { + "package_name": "blockbook-namecoin", + "system_user": "blockbook-namecoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/vertcoin.json b/configs/coins/vertcoin.json new file mode 100644 index 00000000..0ef7589e --- /dev/null +++ b/configs/coins/vertcoin.json @@ -0,0 +1,54 @@ +{ + "coin": { + "name": "Vertcoin", + "shortcut": "VTC", + "label": "Vertcoin", + "alias": "vertcoin" + }, + "ports": { + "backend_rpc": 8040, + "backend_message_queue": 38340, + "blockbook_internal": 9040, + "blockbook_public": 9140 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-vertcoin", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "vertcoin", + "version": "0.13.2", + "binary_url": "https://github.com/vertcoin-project/vertcoin-core/releases/download/0.13.2/vertcoind-v0.13.2-linux-amd64.zip", + "verification_type": "gpg", + "verification_source": "https://github.com/vertcoin-project/vertcoin-core/releases/download/0.13.2/vertcoind-v0.13.2-linux-amd64.zip.sig", + "extract_command": "unzip -d backend", + "exclude_files": [], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/vertcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "whitelist": "127.0.0.1" + } + }, + "blockbook": { + "package_name": "blockbook-vertcoin", + "system_user": "blockbook-vertcoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/vertcoin_testnet.json b/configs/coins/vertcoin_testnet.json new file mode 100644 index 00000000..6a2af857 --- /dev/null +++ b/configs/coins/vertcoin_testnet.json @@ -0,0 +1,54 @@ +{ + "coin": { + "name": "Vertcoin Testnet", + "shortcut": "TVTC", + "label": "Vertcoin Testnet", + "alias": "vertcoin_testnet" + }, + "ports": { + "backend_rpc": 18040, + "backend_message_queue": 48340, + "blockbook_internal": 19040, + "blockbook_public": 19140 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-vertcoin-testnet", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "vertcoin", + "version": "0.13.2", + "binary_url": "https://github.com/vertcoin-project/vertcoin-core/releases/download/0.13.2/vertcoind-v0.13.2-linux-amd64.zip", + "verification_type": "gpg", + "verification_source": "https://github.com/vertcoin-project/vertcoin-core/releases/download/0.13.2/vertcoind-v0.13.2-linux-amd64.zip.sig", + "extract_command": "unzip -d backend", + "exclude_files": [], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/vertcoind -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/testnet3/*.log", + "postinst_script_template": "", + "service_type": "forking", + "protect_memory": true, + "mainnet": false, + "config_file": "bitcoin.conf", + "additional_params": { + "whitelist": "127.0.0.1" + } + }, + "blockbook": { + "package_name": "blockbook-vertcoin-testnet", + "system_user": "blockbook-vertcoin", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/zcash.json b/configs/coins/zcash.json new file mode 100644 index 00000000..0933fd44 --- /dev/null +++ b/configs/coins/zcash.json @@ -0,0 +1,56 @@ +{ + "coin": { + "name": "Zcash", + "shortcut": "ZEC", + "label": "Zcash", + "alias": "zcash" + }, + "ports": { + "backend_rpc": 8032, + "backend_message_queue": 38332, + "blockbook_internal": 9032, + "blockbook_public": 9132 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 4, + "mempool_sub_workers": 8, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-zcash", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "zcash", + "version": "1.1.1", + "binary_url": "https://z.cash/downloads/zcash-1.1.1-linux64.tar.gz", + "verification_type": "gpg", + "verification_source": "https://z.cash/downloads/zcash-1.1.1-linux64.tar.gz.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/zcashd -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "HOME={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend {{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/zcash-fetch-params", + "service_type": "forking", + "protect_memory": false, + "mainnet": true, + "config_file": "bitcoin.conf", + "additional_params": { + "addnode": [ + "mainnet.z.cash" + ] + } + }, + "blockbook": { + "package_name": "blockbook-zcash", + "system_user": "blockbook-zcash", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/coins/zcash_testnet.json b/configs/coins/zcash_testnet.json new file mode 100644 index 00000000..f4a2dc10 --- /dev/null +++ b/configs/coins/zcash_testnet.json @@ -0,0 +1,56 @@ +{ + "coin": { + "name": "Zcash Testnet", + "shortcut": "TAZ", + "label": "Zcash Testnet", + "alias": "zcash_testnet" + }, + "ports": { + "backend_rpc": 18032, + "backend_message_queue": 48332, + "blockbook_internal": 19032, + "blockbook_public": 19132 + }, + "rpc": { + "rpc_url_template": "http://localhost:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "rpc", + "rpc_timeout": 25, + "parse": true, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}", + "mempool_workers": 4, + "mempool_sub_workers": 8, + "block_addresses_to_keep": 300 + }, + "backend": { + "package_name": "backend-zcash-testnet", + "package_revision": "satoshilabs-1", + "package_maintainer": "Jakub Matys", + "package_maintainer_email": "jakub.matys@satoshilabs.com", + "system_user": "zcash", + "version": "1.1.1", + "binary_url": "https://z.cash/downloads/zcash-1.1.1-linux64.tar.gz", + "verification_type": "gpg", + "verification_source": "https://z.cash/downloads/zcash-1.1.1-linux64.tar.gz.asc", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": [], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/zcashd -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/testnet3/*.log", + "postinst_script_template": "HOME={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend {{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/zcash-fetch-params --testnet", + "service_type": "forking", + "protect_memory": false, + "mainnet": false, + "config_file": "bitcoin.conf", + "additional_params": { + "addnode": [ + "testnet.z.cash" + ] + } + }, + "blockbook": { + "package_name": "blockbook-zcash-testnet", + "system_user": "blockbook-zcash", + "explorer": "/explorer", + "additional_params": "" + } +} diff --git a/configs/dash.json b/configs/dash.json deleted file mode 100644 index 8ecf4818..00000000 --- a/configs/dash.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "coin_name": "Dash", - "rpcURL": "http://127.0.0.1:8033", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38333", - "subversion": "/Dash Core:0.12.2.3/", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/dash_testnet.json b/configs/dash_testnet.json deleted file mode 100644 index 7a613a4d..00000000 --- a/configs/dash_testnet.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "coin_name": "Dash Testnet", - "rpcURL": "http://localhost:18033", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:48333", - "subversion": "/Dash Core:0.12.2.3/", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/dogecoin.json b/configs/dogecoin.json deleted file mode 100644 index c16fdc3a..00000000 --- a/configs/dogecoin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Dogecoin", - "rpcURL": "http://127.0.0.1:8038", - "rpcUser": "rpc", - "rpcPass": "rpcp", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38338", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/environ.json b/configs/environ.json new file mode 100644 index 00000000..1f293514 --- /dev/null +++ b/configs/environ.json @@ -0,0 +1,7 @@ +{ + "version": "0.0.6", + "backend_install_path": "/opt/coins/nodes", + "backend_data_path": "/opt/coins/data", + "blockbook_install_path": "/opt/coins/blockbook", + "blockbook_data_path": "/opt/coins/data" +} diff --git a/configs/ethereum.json b/configs/ethereum.json deleted file mode 100644 index 1a3ec103..00000000 --- a/configs/ethereum.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "coin_name": "Ethereum", - "rpcURL": "ws://localhost:8036", - "rpcTimeout": 25 -} diff --git a/configs/ethereum_testnet_ropsten.json b/configs/ethereum_testnet_ropsten.json deleted file mode 100644 index d89fc039..00000000 --- a/configs/ethereum_testnet_ropsten.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "coin_name": "Ethereum Testnet Ropsten", - "rpcURL": "ws://localhost:18036", - "rpcTimeout": 25 -} diff --git a/configs/litecoin.json b/configs/litecoin.json deleted file mode 100644 index 2a351101..00000000 --- a/configs/litecoin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Litecoin", - "rpcURL": "http://localhost:8034", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://localhost:38334", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/litecoin_testnet.json b/configs/litecoin_testnet.json deleted file mode 100644 index 67232ebb..00000000 --- a/configs/litecoin_testnet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Litecoin Testnet", - "rpcURL": "http://localhost:18034", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://localhost:48334", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/namecoin.json b/configs/namecoin.json deleted file mode 100644 index 8fadb00d..00000000 --- a/configs/namecoin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Namecoin", - "rpcURL": "http://127.0.0.1:8039", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38339", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/vertcoin.json b/configs/vertcoin.json deleted file mode 100644 index b1dec1d5..00000000 --- a/configs/vertcoin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Vertcoin", - "rpcURL": "http://localhost:8040", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://localhost:38340", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/vertcoin_testnet.json b/configs/vertcoin_testnet.json deleted file mode 100644 index 45bead82..00000000 --- a/configs/vertcoin_testnet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Vertcoin Testnet", - "rpcURL": "http://localhost:18040", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://localhost:48340", - "mempoolWorkers": 8, - "mempoolSubWorkers": 2, - "blockAddressesToKeep": 300 -} diff --git a/configs/zcash.json b/configs/zcash.json deleted file mode 100644 index e9f0126f..00000000 --- a/configs/zcash.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Zcash", - "rpcURL": "http://127.0.0.1:8032", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:38332", - "mempoolWorkers": 4, - "mempoolSubWorkers": 8, - "blockAddressesToKeep": 300 -} \ No newline at end of file diff --git a/configs/zcash_testnet.json b/configs/zcash_testnet.json deleted file mode 100644 index 6196bb76..00000000 --- a/configs/zcash_testnet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "coin_name": "Zcash Testnet", - "rpcURL": "http://127.0.0.1:18032", - "rpcUser": "rpc", - "rpcPass": "rpc", - "rpcTimeout": 25, - "parse": true, - "zeroMQBinding": "tcp://127.0.0.1:48332", - "mempoolWorkers": 4, - "mempoolSubWorkers": 8, - "blockAddressesToKeep": 300 -} \ No newline at end of file