feature: using backend env vars for builds and integration tests

Closes #1391
This commit is contained in:
pragmaxim
2026-01-15 12:12:12 +01:00
parent d76f7c5137
commit cf2fb62447
43 changed files with 155 additions and 72 deletions

3
.gitignore vendored
View File

@@ -15,4 +15,5 @@ build/*.deb
.bin-image .bin-image
.deb-image .deb-image
\.idea/ \.idea/
__debug* __debug*
.gocache/

View File

@@ -7,34 +7,36 @@ NO_CACHE = false
TCMALLOC = TCMALLOC =
PORTABLE = 0 PORTABLE = 0
ARGS ?= ARGS ?=
# Forward BB_RPC_* overrides into Docker so template generation sees desired endpoints/binds/allow lists.
BB_RPC_ENV := $(shell env | awk -F= '/^BB_RPC_(URL|BIND_HOST|ALLOW_IP)_/ {print "-e " $$1}')
TARGETS=$(subst .json,, $(shell ls configs/coins)) TARGETS=$(subst .json,, $(shell ls configs/coins))
.PHONY: build build-debug test deb .PHONY: build build-debug test deb
build: .bin-image build: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(BIN_IMAGE) make build ARGS="$(ARGS)" docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(BIN_IMAGE) make build ARGS="$(ARGS)"
build-debug: .bin-image build-debug: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(BIN_IMAGE) make build-debug ARGS="$(ARGS)" docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(BIN_IMAGE) make build-debug ARGS="$(ARGS)"
test: .bin-image test: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v "$(CURDIR):/src" --network="host" $(BIN_IMAGE) make test ARGS="$(ARGS)" docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v "$(CURDIR):/src" --network="host" $(BIN_IMAGE) make test ARGS="$(ARGS)"
test-integration: .bin-image test-integration: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v "$(CURDIR):/src" --network="host" $(BIN_IMAGE) make test-integration ARGS="$(ARGS)" docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v "$(CURDIR):/src" --network="host" $(BIN_IMAGE) make test-integration ARGS="$(ARGS)"
test-all: .bin-image test-all: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v "$(CURDIR):/src" --network="host" $(BIN_IMAGE) make test-all ARGS="$(ARGS)" docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v "$(CURDIR):/src" --network="host" $(BIN_IMAGE) make test-all ARGS="$(ARGS)"
deb-backend-%: .deb-image deb-backend-%: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v /var/run/docker.sock:/var/run/docker.sock -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(DEB_IMAGE) /build/build-deb.sh backend $* $(ARGS) docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v /var/run/docker.sock:/var/run/docker.sock -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(DEB_IMAGE) /build/build-deb.sh backend $* $(ARGS)
deb-blockbook-%: .deb-image deb-blockbook-%: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(DEB_IMAGE) /build/build-deb.sh blockbook $* $(ARGS) docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(DEB_IMAGE) /build/build-deb.sh blockbook $* $(ARGS)
deb-%: .deb-image deb-%: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v /var/run/docker.sock:/var/run/docker.sock -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(DEB_IMAGE) /build/build-deb.sh all $* $(ARGS) docker run -t --rm -e PACKAGER=$(PACKAGER) $(BB_RPC_ENV) -v /var/run/docker.sock:/var/run/docker.sock -v "$(CURDIR):/src" -v "$(CURDIR)/build:/out" $(DEB_IMAGE) /build/build-deb.sh all $* $(ARGS)
deb-blockbook-all: clean-deb $(addprefix deb-blockbook-, $(TARGETS)) deb-blockbook-all: clean-deb $(addprefix deb-blockbook-, $(TARGETS))

View File

@@ -6,6 +6,9 @@ nolisten=1
rpcuser={{.IPC.RPCUser}} rpcuser={{.IPC.RPCUser}}
rpcpassword={{.IPC.RPCPass}} rpcpassword={{.IPC.RPCPass}}
rpcport={{.Ports.BackendRPC}} rpcport={{.Ports.BackendRPC}}
# Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind={{.Env.RPCBindHost}}
rpcallowip={{.Env.RPCAllowIP}}
txindex=1 txindex=1
zmqpubhashtx={{template "IPC.MessageQueueBindingTemplate" .}} zmqpubhashtx={{template "IPC.MessageQueueBindingTemplate" .}}

View File

@@ -34,5 +34,8 @@ addnode={{$node}}
{{if .Backend.Mainnet}}[main]{{else}}[test]{{end}} {{if .Backend.Mainnet}}[main]{{else}}[test]{{end}}
{{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}} {{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}}
rpcport={{.Ports.BackendRPC}} rpcport={{.Ports.BackendRPC}}
# Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind={{.Env.RPCBindHost}}
rpcallowip={{.Env.RPCAllowIP}}
{{end}} {{end}}

View File

@@ -5,6 +5,9 @@ server=1
nolisten=1 nolisten=1
rpcuser={{.IPC.RPCUser}} rpcuser={{.IPC.RPCUser}}
rpcpassword={{.IPC.RPCPass}} rpcpassword={{.IPC.RPCPass}}
# Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind={{.Env.RPCBindHost}}
rpcallowip={{.Env.RPCAllowIP}}
{{if .Backend.Mainnet}}rpcport={{.Ports.BackendRPC}}{{end}} {{if .Backend.Mainnet}}rpcport={{.Ports.BackendRPC}}{{end}}
txindex=1 txindex=1

View File

@@ -30,8 +30,9 @@ addnode={{$node}}
regtest=1 regtest=1
{{if .Backend.Mainnet}}[main]{{else}}[regtest]{{end}} {{if .Backend.Mainnet}}[main]{{else}}[regtest]{{end}}
rpcallowip=0.0.0.0/0 # Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind=0.0.0.0 rpcallowip={{.Env.RPCAllowIP}}
rpcbind={{.Env.RPCBindHost}}
{{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}} {{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}}
rpcport={{.Ports.BackendRPC}} rpcport={{.Ports.BackendRPC}}

View File

@@ -31,5 +31,8 @@ addnode={{$node}}
{{if .Backend.Mainnet}}[main]{{else}}[signet]{{end}} {{if .Backend.Mainnet}}[main]{{else}}[signet]{{end}}
{{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}} {{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}}
rpcport={{.Ports.BackendRPC}} rpcport={{.Ports.BackendRPC}}
# Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind={{.Env.RPCBindHost}}
rpcallowip={{.Env.RPCAllowIP}}
{{end}} {{end}}

View File

@@ -34,5 +34,8 @@ addnode={{$node}}
{{if .Backend.Mainnet}}[main]{{else}}[testnet4]{{end}} {{if .Backend.Mainnet}}[main]{{else}}[testnet4]{{end}}
{{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}} {{generateRPCAuth .IPC.RPCUser .IPC.RPCPass -}}
rpcport={{.Ports.BackendRPC}} rpcport={{.Ports.BackendRPC}}
# Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind={{.Env.RPCBindHost}}
rpcallowip={{.Env.RPCAllowIP}}
{{end}} {{end}}

View File

@@ -6,5 +6,6 @@ txindex=1
addrindex=1 addrindex=1
rpcuser={{.IPC.RPCUser}} rpcuser={{.IPC.RPCUser}}
rpcpass={{.IPC.RPCPass}} rpcpass={{.IPC.RPCPass}}
rpclisten=[127.0.0.1]:{{.Ports.BackendRPC}} # Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpclisten=[{{.Env.RPCBindHost}}]:{{.Ports.BackendRPC}}
{{ end }} {{ end }}

View File

@@ -5,6 +5,9 @@ server=1
rpcuser={{.IPC.RPCUser}} rpcuser={{.IPC.RPCUser}}
rpcpassword={{.IPC.RPCPass}} rpcpassword={{.IPC.RPCPass}}
rpcport={{.Ports.BackendRPC}} rpcport={{.Ports.BackendRPC}}
# Bind RPC based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
rpcbind={{.Env.RPCBindHost}}
rpcallowip={{.Env.RPCAllowIP}}
txindex=1 txindex=1
zmqpubhashtx={{template "IPC.MessageQueueBindingTemplate" .}} zmqpubhashtx={{template "IPC.MessageQueueBindingTemplate" .}}

View File

@@ -9,6 +9,7 @@ DATA_DIR={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
NITRO_BIN=$INSTALL_DIR/nitro NITRO_BIN=$INSTALL_DIR/nitro
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$NITRO_BIN \ $NITRO_BIN \
--chain.name arb1 \ --chain.name arb1 \
--init.latest pruned \ --init.latest pruned \
@@ -17,12 +18,12 @@ $NITRO_BIN \
--persistent.chain $DATA_DIR \ --persistent.chain $DATA_DIR \
--parent-chain.connection.url http://127.0.0.1:8136 \ --parent-chain.connection.url http://127.0.0.1:8136 \
--parent-chain.blob-client.beacon-url http://127.0.0.1:7536 \ --parent-chain.blob-client.beacon-url http://127.0.0.1:7536 \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool,arb \ --http.api eth,net,web3,debug,txpool,arb \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,arb \ --ws.api eth,net,web3,debug,txpool,arb \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.origins '*' \ --ws.origins '*' \
@@ -31,4 +32,4 @@ $NITRO_BIN \
--execution.tx-lookup-limit 0 \ --execution.tx-lookup-limit 0 \
--validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines" --validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines"
{{end}} {{end}}

View File

@@ -9,6 +9,7 @@ DATA_DIR={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
NITRO_BIN=$INSTALL_DIR/nitro NITRO_BIN=$INSTALL_DIR/nitro
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$NITRO_BIN \ $NITRO_BIN \
--chain.name arb1 \ --chain.name arb1 \
--init.latest archive \ --init.latest archive \
@@ -17,12 +18,12 @@ $NITRO_BIN \
--persistent.chain $DATA_DIR \ --persistent.chain $DATA_DIR \
--parent-chain.connection.url http://127.0.0.1:8116 \ --parent-chain.connection.url http://127.0.0.1:8116 \
--parent-chain.blob-client.beacon-url http://127.0.0.1:7516 \ --parent-chain.blob-client.beacon-url http://127.0.0.1:7516 \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool,arb \ --http.api eth,net,web3,debug,txpool,arb \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,arb \ --ws.api eth,net,web3,debug,txpool,arb \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.origins '*' \ --ws.origins '*' \
@@ -32,4 +33,4 @@ $NITRO_BIN \
--execution.tx-lookup-limit 0 \ --execution.tx-lookup-limit 0 \
--validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines" --validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines"
{{end}} {{end}}

View File

@@ -9,6 +9,7 @@ DATA_DIR={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
NITRO_BIN=$INSTALL_DIR/nitro NITRO_BIN=$INSTALL_DIR/nitro
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$NITRO_BIN \ $NITRO_BIN \
--chain.name nova \ --chain.name nova \
--init.latest pruned \ --init.latest pruned \
@@ -17,12 +18,12 @@ $NITRO_BIN \
--persistent.chain $DATA_DIR \ --persistent.chain $DATA_DIR \
--parent-chain.connection.url http://127.0.0.1:8136 \ --parent-chain.connection.url http://127.0.0.1:8136 \
--parent-chain.blob-client.beacon-url http://127.0.0.1:7536 \ --parent-chain.blob-client.beacon-url http://127.0.0.1:7536 \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool,arb \ --http.api eth,net,web3,debug,txpool,arb \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,arb \ --ws.api eth,net,web3,debug,txpool,arb \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.origins '*' \ --ws.origins '*' \
@@ -31,4 +32,4 @@ $NITRO_BIN \
--execution.tx-lookup-limit 0 \ --execution.tx-lookup-limit 0 \
--validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines" --validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines"
{{end}} {{end}}

View File

@@ -9,6 +9,7 @@ DATA_DIR={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
NITRO_BIN=$INSTALL_DIR/nitro NITRO_BIN=$INSTALL_DIR/nitro
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$NITRO_BIN \ $NITRO_BIN \
--chain.name nova \ --chain.name nova \
--init.latest archive \ --init.latest archive \
@@ -17,12 +18,12 @@ $NITRO_BIN \
--persistent.chain $DATA_DIR \ --persistent.chain $DATA_DIR \
--parent-chain.connection.url http://127.0.0.1:8116 \ --parent-chain.connection.url http://127.0.0.1:8116 \
--parent-chain.blob-client.beacon-url http://127.0.0.1:7516 \ --parent-chain.blob-client.beacon-url http://127.0.0.1:7516 \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool,arb \ --http.api eth,net,web3,debug,txpool,arb \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,arb \ --ws.api eth,net,web3,debug,txpool,arb \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.origins '*' \ --ws.origins '*' \
@@ -32,4 +33,4 @@ $NITRO_BIN \
--execution.tx-lookup-limit 0 \ --execution.tx-lookup-limit 0 \
--validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines" --validation.wasm.allowed-wasm-module-roots "$INSTALL_DIR/nitro-legacy/machines,$INSTALL_DIR/target/machines"
{{end}} {{end}}

View File

@@ -14,6 +14,7 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
wget -c $SNAPSHOT -O - | zstd -cd | tar xf - --strip-components=1 -C $DATA_DIR wget -c $SNAPSHOT -O - | zstd -cd | tar xf - --strip-components=1 -C $DATA_DIR
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--op-network base-mainnet \ --op-network base-mainnet \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
@@ -24,13 +25,13 @@ $GETH_BIN \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.api eth,net,web3,debug,txpool,engine \ --http.api eth,net,web3,debug,txpool,engine \
--http.vhosts "*" \ --http.vhosts "*" \
--http.corsdomain "*" \ --http.corsdomain "*" \
--ws \ --ws \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,engine \ --ws.api eth,net,web3,debug,txpool,engine \
--ws.origins "*" \ --ws.origins "*" \
--rollup.disabletxpoolgossip=true \ --rollup.disabletxpoolgossip=true \

View File

@@ -14,6 +14,7 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
wget -c $SNAPSHOT -O - | zstd -cd | tar xf - --strip-components=1 -C $DATA_DIR wget -c $SNAPSHOT -O - | zstd -cd | tar xf - --strip-components=1 -C $DATA_DIR
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--op-network base-mainnet \ --op-network base-mainnet \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
@@ -24,13 +25,13 @@ $GETH_BIN \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.api eth,net,web3,debug,txpool,engine \ --http.api eth,net,web3,debug,txpool,engine \
--http.vhosts "*" \ --http.vhosts "*" \
--http.corsdomain "*" \ --http.corsdomain "*" \
--ws \ --ws \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,engine \ --ws.api eth,net,web3,debug,txpool,engine \
--ws.origins "*" \ --ws.origins "*" \
--rollup.disabletxpoolgossip=true \ --rollup.disabletxpoolgossip=true \

View File

@@ -6,6 +6,7 @@ set -e
BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$BIN \ $BIN \
--network base-mainnet \ --network base-mainnet \
--l1 http://127.0.0.1:8116 \ --l1 http://127.0.0.1:8116 \
@@ -13,7 +14,7 @@ $BIN \
--l1.trustrpc \ --l1.trustrpc \
--l1.rpckind=debug_geth \ --l1.rpckind=debug_geth \
--l2 http://127.0.0.1:8411 \ --l2 http://127.0.0.1:8411 \
--rpc.addr 127.0.0.1 \ --rpc.addr {{.Env.RPCBindHost}} \
--rpc.port {{.Ports.BackendRPC}} \ --rpc.port {{.Ports.BackendRPC}} \
--l2.jwt-secret {{.Env.BackendDataPath}}/base_archive/backend/jwtsecret \ --l2.jwt-secret {{.Env.BackendDataPath}}/base_archive/backend/jwtsecret \
--p2p.bootnodes enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG \ --p2p.bootnodes enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG \

View File

@@ -6,6 +6,7 @@ set -e
BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$BIN \ $BIN \
--network base-mainnet \ --network base-mainnet \
--l1 http://127.0.0.1:8136 \ --l1 http://127.0.0.1:8136 \
@@ -13,7 +14,7 @@ $BIN \
--l1.trustrpc \ --l1.trustrpc \
--l1.rpckind debug_geth \ --l1.rpckind debug_geth \
--l2 http://127.0.0.1:8409 \ --l2 http://127.0.0.1:8409 \
--rpc.addr 127.0.0.1 \ --rpc.addr {{.Env.RPCBindHost}} \
--rpc.port {{.Ports.BackendRPC}} \ --rpc.port {{.Ports.BackendRPC}} \
--l2.jwt-secret {{.Env.BackendDataPath}}/base/backend/jwtsecret \ --l2.jwt-secret {{.Env.BackendDataPath}}/base/backend/jwtsecret \
--p2p.bootnodes enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG \ --p2p.bootnodes enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG \

View File

@@ -14,18 +14,19 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
$GETH_BIN init --datadir $DATA_DIR $INSTALL_DIR/genesis.json $GETH_BIN init --datadir $DATA_DIR $INSTALL_DIR/genesis.json
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--config $INSTALL_DIR/config.toml \ --config $INSTALL_DIR/config.toml \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool \ --http.api eth,net,web3,debug,txpool \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws \ --ws \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.api eth,net,web3,debug,txpool \ --ws.api eth,net,web3,debug,txpool \
--ws.origins '*' \ --ws.origins '*' \
@@ -37,4 +38,4 @@ $GETH_BIN \
--ipcdisable \ --ipcdisable \
--nat none --nat none
{{end}} {{end}}

View File

@@ -14,18 +14,19 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
$GETH_BIN init --datadir $DATA_DIR $INSTALL_DIR/genesis.json $GETH_BIN init --datadir $DATA_DIR $INSTALL_DIR/genesis.json
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--config $INSTALL_DIR/config.toml \ --config $INSTALL_DIR/config.toml \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool \ --http.api eth,net,web3,debug,txpool \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws \ --ws \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.api eth,net,web3,debug,txpool \ --ws.api eth,net,web3,debug,txpool \
--ws.origins '*' \ --ws.origins '*' \
@@ -40,4 +41,4 @@ $GETH_BIN \
--ipcdisable \ --ipcdisable \
--nat none --nat none
{{end}} {{end}}

View File

@@ -14,6 +14,7 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
wget -c $SNAPSHOT -O - | lz4 -cd | tar xf - -C $DATA_DIR wget -c $SNAPSHOT -O - | lz4 -cd | tar xf - -C $DATA_DIR
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--op-network op-mainnet \ --op-network op-mainnet \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
@@ -24,13 +25,13 @@ $GETH_BIN \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.api eth,net,web3,debug,txpool,engine \ --http.api eth,net,web3,debug,txpool,engine \
--http.vhosts "*" \ --http.vhosts "*" \
--http.corsdomain "*" \ --http.corsdomain "*" \
--ws \ --ws \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,engine \ --ws.api eth,net,web3,debug,txpool,engine \
--ws.origins "*" \ --ws.origins "*" \
--rollup.disabletxpoolgossip=true \ --rollup.disabletxpoolgossip=true \

View File

@@ -14,6 +14,7 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
wget -c $(curl -sL $SNAPSHOT | grep -oP '(?<=url=)[^"]*') -O - | zstd -cd | tar xf - -C $DATA_DIR wget -c $(curl -sL $SNAPSHOT | grep -oP '(?<=url=)[^"]*') -O - | zstd -cd | tar xf - -C $DATA_DIR
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--op-network op-mainnet \ --op-network op-mainnet \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
@@ -24,13 +25,13 @@ $GETH_BIN \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.api eth,net,web3,debug,txpool,engine \ --http.api eth,net,web3,debug,txpool,engine \
--http.vhosts "*" \ --http.vhosts "*" \
--http.corsdomain "*" \ --http.corsdomain "*" \
--ws \ --ws \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.api eth,net,web3,debug,txpool,engine \ --ws.api eth,net,web3,debug,txpool,engine \
--ws.origins "*" \ --ws.origins "*" \
--rollup.disabletxpoolgossip=true \ --rollup.disabletxpoolgossip=true \

View File

@@ -17,19 +17,20 @@ if [ ! -d "$CHAINDATA_DIR" ]; then
wget -c $SNAPSHOT -O - | zstd -cd | tar xf - -C $DATA_DIR wget -c $SNAPSHOT -O - | zstd -cd | tar xf - -C $DATA_DIR
fi fi
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$GETH_BIN \ $GETH_BIN \
--networkid 10 \ --networkid 10 \
--datadir $DATA_DIR \ --datadir $DATA_DIR \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--rpc \ --rpc \
--rpcport {{.Ports.BackendHttp}} \ --rpcport {{.Ports.BackendHttp}} \
--rpcaddr 127.0.0.1 \ --rpcaddr {{.Env.RPCBindHost}} \
--rpcapi eth,rollup,net,web3,debug \ --rpcapi eth,rollup,net,web3,debug \
--rpcvhosts "*" \ --rpcvhosts "*" \
--rpccorsdomain "*" \ --rpccorsdomain "*" \
--ws \ --ws \
--wsport {{.Ports.BackendRPC}} \ --wsport {{.Ports.BackendRPC}} \
--wsaddr 0.0.0.0 \ --wsaddr {{.Env.RPCBindHost}} \
--wsapi eth,rollup,net,web3,debug \ --wsapi eth,rollup,net,web3,debug \
--wsorigins "*" \ --wsorigins "*" \
--nousb \ --nousb \
@@ -37,4 +38,4 @@ $GETH_BIN \
--nat=none \ --nat=none \
--nodiscover --nodiscover
{{end}} {{end}}

View File

@@ -7,6 +7,7 @@ set -e
BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node
PATH={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend PATH={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$BIN \ $BIN \
--network op-mainnet \ --network op-mainnet \
--l1 http://127.0.0.1:8116 \ --l1 http://127.0.0.1:8116 \
@@ -14,7 +15,7 @@ $BIN \
--l1.trustrpc \ --l1.trustrpc \
--l1.rpckind=debug_geth \ --l1.rpckind=debug_geth \
--l2 http://127.0.0.1:8402 \ --l2 http://127.0.0.1:8402 \
--rpc.addr 127.0.0.1 \ --rpc.addr {{.Env.RPCBindHost}} \
--rpc.port {{.Ports.BackendRPC}} \ --rpc.port {{.Ports.BackendRPC}} \
--l2.jwt-secret {{.Env.BackendDataPath}}/optimism_archive/backend/jwtsecret \ --l2.jwt-secret {{.Env.BackendDataPath}}/optimism_archive/backend/jwtsecret \
--p2p.priv.path $PATH/opnode_p2p_priv.txt \ --p2p.priv.path $PATH/opnode_p2p_priv.txt \

View File

@@ -7,6 +7,7 @@ set -e
BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node BIN={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/op-node
PATH={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend PATH={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$BIN \ $BIN \
--network op-mainnet \ --network op-mainnet \
--l1 http://127.0.0.1:8136 \ --l1 http://127.0.0.1:8136 \
@@ -14,7 +15,7 @@ $BIN \
--l1.trustrpc \ --l1.trustrpc \
--l1.rpckind=debug_geth \ --l1.rpckind=debug_geth \
--l2 http://127.0.0.1:8400 \ --l2 http://127.0.0.1:8400 \
--rpc.addr 127.0.0.1 \ --rpc.addr {{.Env.RPCBindHost}} \
--rpc.port {{.Ports.BackendRPC}} \ --rpc.port {{.Ports.BackendRPC}} \
--l2.jwt-secret {{.Env.BackendDataPath}}/optimism/backend/jwtsecret \ --l2.jwt-secret {{.Env.BackendDataPath}}/optimism/backend/jwtsecret \
--p2p.priv.path $PATH/opnode_p2p_priv.txt \ --p2p.priv.path $PATH/opnode_p2p_priv.txt \

View File

@@ -16,6 +16,7 @@ else
fi fi
# --bor.heimdall = backend-polygon-heimdall-archive ports.backend_http # --bor.heimdall = backend-polygon-heimdall-archive ports.backend_http
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$BOR_BIN server \ $BOR_BIN server \
--chain $INSTALL_DIR/genesis.json \ --chain $INSTALL_DIR/genesis.json \
--syncmode full \ --syncmode full \
@@ -26,16 +27,16 @@ $BOR_BIN server \
--bootnodes enode://76316d1cb93c8ed407d3332d595233401250d48f8fbb1d9c65bd18c0495eca1b43ec38ee0ea1c257c0abb7d1f25d649d359cdfe5a805842159cfe36c5f66b7e8@52.78.36.216:30303,enode://b8f1cc9c5d4403703fbf377116469667d2b1823c0daf16b7250aa576bacf399e42c3930ccfcb02c5df6879565a2b8931335565f0e8d3f8e72385ecf4a4bf160a@3.36.224.80:30303,enode://8729e0c825f3d9cad382555f3e46dcff21af323e89025a0e6312df541f4a9e73abfa562d64906f5e59c51fe6f0501b3e61b07979606c56329c020ed739910759@54.194.245.5:30303,enode://681ebac58d8dd2d8a6eef15329dfbad0ab960561524cf2dfde40ad646736fe5c244020f20b87e7c1520820bc625cfb487dd71d63a3a3bf0baea2dbb8ec7c79f1@34.240.245.39:30303,enode://93faa5d49ba61fa03f43f7e3c76907a9c72953e8628650eef09f5bddc646d9012916824cdd60da989fd954a852205df9a1fd9661379504c92e103a1ada4c2ceb@148.251.142.52:30314,enode://91f6d9873ee2ceee27b4054ec70844e21fa7c525e8d820d6a09989473f4f883951da75a09ef098d544c0c8a71e9ddd2e649e5b455b137260ba8657b2f96cad2c@178.63.148.12:30308,enode://2776f6f0d1c1e4dfddeb9a4b1c3b1a8777fbb3054b92fc55b405d35603667e974e9cad4408f1036cfc17af03dd1a6270c5cb40f854b94760474516b2d8c0f185@88.198.101.172:30308,enode://157321664e79855ee0f914fd05b21cc29ae3a7e805114d1c26efa1d4d2781f5d5bc4e76ed9d00f26d6138f80cc84ea183894c390fcb0e07100a845aed02f6f40@136.243.210.177:30303,enode://6a5e65c6ef3356bc79a780cf0c7534c299fb8cd7b37db80155830478c1e29d35336fe52a888efdf53c0e9bb9b94e20b5349d68798860f1cf36ae96da2b3826cc@178.63.247.234:30304,enode://d6da5ad18e51d492481b29443bd0f588b59d3f72f0da43a722b07fe2a9223a717c976a1cfe00ad86c557756b2bf297ea56c64a1f3d09bebcb9b81290689d8e33@178.63.197.250:30320,enode://51cbc8b750e28d5a4f250d141c032cf282ea873eb1c533c5156cfc51e6a5117d465b7b39b4e0088ee597ee87b89e06cc6c1ed5e6e050b1c3f638765ee584c4f4@178.63.163.68:30310,enode://6484d4394215c222257c97ac74fdcd6f77ecf00e896c38ef35cc41a44add96da64649139b37cc094e88bb985eb84b04d4c6c78f86bf205c9e112c31254cdc443@54.38.217.112:30303?discport=30346,enode://eb3b67d68daef47badfa683c8b04a1cba6a7c431613b8d7619a013aad38bd8d405eb1d0e41279b4f6fe15b264bd388e88282a77a908247b2d1e0198bd4def57b@148.251.224.230:30315,enode://aa228d96217dd91564e13536f3c2808d2040115c7c50509f26f836275e8e65d1bf9400bce3294760be18c9e00a4bf47026e661ba8d8ce1cf2ced30f0a70e5da8@89.187.163.132:30303?discport=30356,enode://c10ab147ba266a80f34dbc423cd12689434cb2cc1f18ced8f4e5828e23d6943a666c2db0f8464983ccc95666b36099b513d1e45d5df94139e42fbecde25832fa@87.249.137.89:30303?discport=30436,enode://e68049c37b182a36c8913fc0780aea5196c1841c917cbd76f83f1a3a8ae99fcfbd2dfa44e36081668120354439008fe4325ffc0d0176771ec2c1863033d4769e@65.108.199.236:30303,enode://a4c74da28447bacd2b3e8443d0917cca7798bca39dbb48b0e210f0fb6685538ba9d1608a2493424086363f04be5e6a99e6eabb70946ed503448d6b282056f87a@198.244.213.85:30303?discport=30315,enode://e28fce95f52cf3368b7b624c6f83379dec858fcebf6a7ff07e97aa9b9445736a165bf1c51cad7bdf6e3167e2b00b11c7911fc330dabb484998d899a1b01d75cf@148.251.194.252:30303?discport=30892,enode://412fdb01125f6868a188f472cf15f07c8f93d606395b909dd5010f2a4a2702739102cea18abb6437fbacd12e695982a77f28edd9bbdd36635b04e9b3c2948f8d@34.203.27.246:30303?discport=30388,enode://9703d9591cb1013b4fa6ea889e8effe7579aa59c324a6e019d690a13e108ef9b4419698347e4305f05291e644a713518a91b0fc32a3442c1394619e2a9b8251e@79.127.216.33:30303?discport=30349 \ --bootnodes enode://76316d1cb93c8ed407d3332d595233401250d48f8fbb1d9c65bd18c0495eca1b43ec38ee0ea1c257c0abb7d1f25d649d359cdfe5a805842159cfe36c5f66b7e8@52.78.36.216:30303,enode://b8f1cc9c5d4403703fbf377116469667d2b1823c0daf16b7250aa576bacf399e42c3930ccfcb02c5df6879565a2b8931335565f0e8d3f8e72385ecf4a4bf160a@3.36.224.80:30303,enode://8729e0c825f3d9cad382555f3e46dcff21af323e89025a0e6312df541f4a9e73abfa562d64906f5e59c51fe6f0501b3e61b07979606c56329c020ed739910759@54.194.245.5:30303,enode://681ebac58d8dd2d8a6eef15329dfbad0ab960561524cf2dfde40ad646736fe5c244020f20b87e7c1520820bc625cfb487dd71d63a3a3bf0baea2dbb8ec7c79f1@34.240.245.39:30303,enode://93faa5d49ba61fa03f43f7e3c76907a9c72953e8628650eef09f5bddc646d9012916824cdd60da989fd954a852205df9a1fd9661379504c92e103a1ada4c2ceb@148.251.142.52:30314,enode://91f6d9873ee2ceee27b4054ec70844e21fa7c525e8d820d6a09989473f4f883951da75a09ef098d544c0c8a71e9ddd2e649e5b455b137260ba8657b2f96cad2c@178.63.148.12:30308,enode://2776f6f0d1c1e4dfddeb9a4b1c3b1a8777fbb3054b92fc55b405d35603667e974e9cad4408f1036cfc17af03dd1a6270c5cb40f854b94760474516b2d8c0f185@88.198.101.172:30308,enode://157321664e79855ee0f914fd05b21cc29ae3a7e805114d1c26efa1d4d2781f5d5bc4e76ed9d00f26d6138f80cc84ea183894c390fcb0e07100a845aed02f6f40@136.243.210.177:30303,enode://6a5e65c6ef3356bc79a780cf0c7534c299fb8cd7b37db80155830478c1e29d35336fe52a888efdf53c0e9bb9b94e20b5349d68798860f1cf36ae96da2b3826cc@178.63.247.234:30304,enode://d6da5ad18e51d492481b29443bd0f588b59d3f72f0da43a722b07fe2a9223a717c976a1cfe00ad86c557756b2bf297ea56c64a1f3d09bebcb9b81290689d8e33@178.63.197.250:30320,enode://51cbc8b750e28d5a4f250d141c032cf282ea873eb1c533c5156cfc51e6a5117d465b7b39b4e0088ee597ee87b89e06cc6c1ed5e6e050b1c3f638765ee584c4f4@178.63.163.68:30310,enode://6484d4394215c222257c97ac74fdcd6f77ecf00e896c38ef35cc41a44add96da64649139b37cc094e88bb985eb84b04d4c6c78f86bf205c9e112c31254cdc443@54.38.217.112:30303?discport=30346,enode://eb3b67d68daef47badfa683c8b04a1cba6a7c431613b8d7619a013aad38bd8d405eb1d0e41279b4f6fe15b264bd388e88282a77a908247b2d1e0198bd4def57b@148.251.224.230:30315,enode://aa228d96217dd91564e13536f3c2808d2040115c7c50509f26f836275e8e65d1bf9400bce3294760be18c9e00a4bf47026e661ba8d8ce1cf2ced30f0a70e5da8@89.187.163.132:30303?discport=30356,enode://c10ab147ba266a80f34dbc423cd12689434cb2cc1f18ced8f4e5828e23d6943a666c2db0f8464983ccc95666b36099b513d1e45d5df94139e42fbecde25832fa@87.249.137.89:30303?discport=30436,enode://e68049c37b182a36c8913fc0780aea5196c1841c917cbd76f83f1a3a8ae99fcfbd2dfa44e36081668120354439008fe4325ffc0d0176771ec2c1863033d4769e@65.108.199.236:30303,enode://a4c74da28447bacd2b3e8443d0917cca7798bca39dbb48b0e210f0fb6685538ba9d1608a2493424086363f04be5e6a99e6eabb70946ed503448d6b282056f87a@198.244.213.85:30303?discport=30315,enode://e28fce95f52cf3368b7b624c6f83379dec858fcebf6a7ff07e97aa9b9445736a165bf1c51cad7bdf6e3167e2b00b11c7911fc330dabb484998d899a1b01d75cf@148.251.194.252:30303?discport=30892,enode://412fdb01125f6868a188f472cf15f07c8f93d606395b909dd5010f2a4a2702739102cea18abb6437fbacd12e695982a77f28edd9bbdd36635b04e9b3c2948f8d@34.203.27.246:30303?discport=30388,enode://9703d9591cb1013b4fa6ea889e8effe7579aa59c324a6e019d690a13e108ef9b4419698347e4305f05291e644a713518a91b0fc32a3442c1394619e2a9b8251e@79.127.216.33:30303?discport=30349 \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.addr 0.0.0.0 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool,bor \ --http.api eth,net,web3,debug,txpool,bor \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws \ --ws \
--ws.addr 0.0.0.0 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.api eth,net,web3,debug,txpool,bor \ --ws.api eth,net,web3,debug,txpool,bor \
--ws.origins '*' \ --ws.origins '*' \
--txlookuplimit 0 \ --txlookuplimit 0 \
--cache 4096 --cache 4096
{{end}} {{end}}

View File

@@ -10,6 +10,7 @@ DATA_DIR={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend
BOR_BIN=$INSTALL_DIR/bor BOR_BIN=$INSTALL_DIR/bor
# --bor.heimdall = backend-polygon-heimdall ports.backend_http # --bor.heimdall = backend-polygon-heimdall ports.backend_http
# Bind RPC endpoints based on BB_RPC_BIND_HOST_* so defaults remain local unless explicitly overridden.
$BOR_BIN server \ $BOR_BIN server \
--chain $INSTALL_DIR/genesis.json \ --chain $INSTALL_DIR/genesis.json \
--syncmode full \ --syncmode full \
@@ -19,17 +20,17 @@ $BOR_BIN server \
--bootnodes enode://76316d1cb93c8ed407d3332d595233401250d48f8fbb1d9c65bd18c0495eca1b43ec38ee0ea1c257c0abb7d1f25d649d359cdfe5a805842159cfe36c5f66b7e8@52.78.36.216:30303,enode://b8f1cc9c5d4403703fbf377116469667d2b1823c0daf16b7250aa576bacf399e42c3930ccfcb02c5df6879565a2b8931335565f0e8d3f8e72385ecf4a4bf160a@3.36.224.80:30303,enode://8729e0c825f3d9cad382555f3e46dcff21af323e89025a0e6312df541f4a9e73abfa562d64906f5e59c51fe6f0501b3e61b07979606c56329c020ed739910759@54.194.245.5:30303,enode://681ebac58d8dd2d8a6eef15329dfbad0ab960561524cf2dfde40ad646736fe5c244020f20b87e7c1520820bc625cfb487dd71d63a3a3bf0baea2dbb8ec7c79f1@34.240.245.39:30303,enode://93faa5d49ba61fa03f43f7e3c76907a9c72953e8628650eef09f5bddc646d9012916824cdd60da989fd954a852205df9a1fd9661379504c92e103a1ada4c2ceb@148.251.142.52:30314,enode://91f6d9873ee2ceee27b4054ec70844e21fa7c525e8d820d6a09989473f4f883951da75a09ef098d544c0c8a71e9ddd2e649e5b455b137260ba8657b2f96cad2c@178.63.148.12:30308,enode://2776f6f0d1c1e4dfddeb9a4b1c3b1a8777fbb3054b92fc55b405d35603667e974e9cad4408f1036cfc17af03dd1a6270c5cb40f854b94760474516b2d8c0f185@88.198.101.172:30308,enode://157321664e79855ee0f914fd05b21cc29ae3a7e805114d1c26efa1d4d2781f5d5bc4e76ed9d00f26d6138f80cc84ea183894c390fcb0e07100a845aed02f6f40@136.243.210.177:30303,enode://6a5e65c6ef3356bc79a780cf0c7534c299fb8cd7b37db80155830478c1e29d35336fe52a888efdf53c0e9bb9b94e20b5349d68798860f1cf36ae96da2b3826cc@178.63.247.234:30304,enode://d6da5ad18e51d492481b29443bd0f588b59d3f72f0da43a722b07fe2a9223a717c976a1cfe00ad86c557756b2bf297ea56c64a1f3d09bebcb9b81290689d8e33@178.63.197.250:30320,enode://51cbc8b750e28d5a4f250d141c032cf282ea873eb1c533c5156cfc51e6a5117d465b7b39b4e0088ee597ee87b89e06cc6c1ed5e6e050b1c3f638765ee584c4f4@178.63.163.68:30310,enode://6484d4394215c222257c97ac74fdcd6f77ecf00e896c38ef35cc41a44add96da64649139b37cc094e88bb985eb84b04d4c6c78f86bf205c9e112c31254cdc443@54.38.217.112:30303?discport=30346,enode://eb3b67d68daef47badfa683c8b04a1cba6a7c431613b8d7619a013aad38bd8d405eb1d0e41279b4f6fe15b264bd388e88282a77a908247b2d1e0198bd4def57b@148.251.224.230:30315,enode://aa228d96217dd91564e13536f3c2808d2040115c7c50509f26f836275e8e65d1bf9400bce3294760be18c9e00a4bf47026e661ba8d8ce1cf2ced30f0a70e5da8@89.187.163.132:30303?discport=30356,enode://c10ab147ba266a80f34dbc423cd12689434cb2cc1f18ced8f4e5828e23d6943a666c2db0f8464983ccc95666b36099b513d1e45d5df94139e42fbecde25832fa@87.249.137.89:30303?discport=30436,enode://e68049c37b182a36c8913fc0780aea5196c1841c917cbd76f83f1a3a8ae99fcfbd2dfa44e36081668120354439008fe4325ffc0d0176771ec2c1863033d4769e@65.108.199.236:30303,enode://a4c74da28447bacd2b3e8443d0917cca7798bca39dbb48b0e210f0fb6685538ba9d1608a2493424086363f04be5e6a99e6eabb70946ed503448d6b282056f87a@198.244.213.85:30303?discport=30315,enode://e28fce95f52cf3368b7b624c6f83379dec858fcebf6a7ff07e97aa9b9445736a165bf1c51cad7bdf6e3167e2b00b11c7911fc330dabb484998d899a1b01d75cf@148.251.194.252:30303?discport=30892,enode://412fdb01125f6868a188f472cf15f07c8f93d606395b909dd5010f2a4a2702739102cea18abb6437fbacd12e695982a77f28edd9bbdd36635b04e9b3c2948f8d@34.203.27.246:30303?discport=30388,enode://9703d9591cb1013b4fa6ea889e8effe7579aa59c324a6e019d690a13e108ef9b4419698347e4305f05291e644a713518a91b0fc32a3442c1394619e2a9b8251e@79.127.216.33:30303?discport=30349 \ --bootnodes enode://76316d1cb93c8ed407d3332d595233401250d48f8fbb1d9c65bd18c0495eca1b43ec38ee0ea1c257c0abb7d1f25d649d359cdfe5a805842159cfe36c5f66b7e8@52.78.36.216:30303,enode://b8f1cc9c5d4403703fbf377116469667d2b1823c0daf16b7250aa576bacf399e42c3930ccfcb02c5df6879565a2b8931335565f0e8d3f8e72385ecf4a4bf160a@3.36.224.80:30303,enode://8729e0c825f3d9cad382555f3e46dcff21af323e89025a0e6312df541f4a9e73abfa562d64906f5e59c51fe6f0501b3e61b07979606c56329c020ed739910759@54.194.245.5:30303,enode://681ebac58d8dd2d8a6eef15329dfbad0ab960561524cf2dfde40ad646736fe5c244020f20b87e7c1520820bc625cfb487dd71d63a3a3bf0baea2dbb8ec7c79f1@34.240.245.39:30303,enode://93faa5d49ba61fa03f43f7e3c76907a9c72953e8628650eef09f5bddc646d9012916824cdd60da989fd954a852205df9a1fd9661379504c92e103a1ada4c2ceb@148.251.142.52:30314,enode://91f6d9873ee2ceee27b4054ec70844e21fa7c525e8d820d6a09989473f4f883951da75a09ef098d544c0c8a71e9ddd2e649e5b455b137260ba8657b2f96cad2c@178.63.148.12:30308,enode://2776f6f0d1c1e4dfddeb9a4b1c3b1a8777fbb3054b92fc55b405d35603667e974e9cad4408f1036cfc17af03dd1a6270c5cb40f854b94760474516b2d8c0f185@88.198.101.172:30308,enode://157321664e79855ee0f914fd05b21cc29ae3a7e805114d1c26efa1d4d2781f5d5bc4e76ed9d00f26d6138f80cc84ea183894c390fcb0e07100a845aed02f6f40@136.243.210.177:30303,enode://6a5e65c6ef3356bc79a780cf0c7534c299fb8cd7b37db80155830478c1e29d35336fe52a888efdf53c0e9bb9b94e20b5349d68798860f1cf36ae96da2b3826cc@178.63.247.234:30304,enode://d6da5ad18e51d492481b29443bd0f588b59d3f72f0da43a722b07fe2a9223a717c976a1cfe00ad86c557756b2bf297ea56c64a1f3d09bebcb9b81290689d8e33@178.63.197.250:30320,enode://51cbc8b750e28d5a4f250d141c032cf282ea873eb1c533c5156cfc51e6a5117d465b7b39b4e0088ee597ee87b89e06cc6c1ed5e6e050b1c3f638765ee584c4f4@178.63.163.68:30310,enode://6484d4394215c222257c97ac74fdcd6f77ecf00e896c38ef35cc41a44add96da64649139b37cc094e88bb985eb84b04d4c6c78f86bf205c9e112c31254cdc443@54.38.217.112:30303?discport=30346,enode://eb3b67d68daef47badfa683c8b04a1cba6a7c431613b8d7619a013aad38bd8d405eb1d0e41279b4f6fe15b264bd388e88282a77a908247b2d1e0198bd4def57b@148.251.224.230:30315,enode://aa228d96217dd91564e13536f3c2808d2040115c7c50509f26f836275e8e65d1bf9400bce3294760be18c9e00a4bf47026e661ba8d8ce1cf2ced30f0a70e5da8@89.187.163.132:30303?discport=30356,enode://c10ab147ba266a80f34dbc423cd12689434cb2cc1f18ced8f4e5828e23d6943a666c2db0f8464983ccc95666b36099b513d1e45d5df94139e42fbecde25832fa@87.249.137.89:30303?discport=30436,enode://e68049c37b182a36c8913fc0780aea5196c1841c917cbd76f83f1a3a8ae99fcfbd2dfa44e36081668120354439008fe4325ffc0d0176771ec2c1863033d4769e@65.108.199.236:30303,enode://a4c74da28447bacd2b3e8443d0917cca7798bca39dbb48b0e210f0fb6685538ba9d1608a2493424086363f04be5e6a99e6eabb70946ed503448d6b282056f87a@198.244.213.85:30303?discport=30315,enode://e28fce95f52cf3368b7b624c6f83379dec858fcebf6a7ff07e97aa9b9445736a165bf1c51cad7bdf6e3167e2b00b11c7911fc330dabb484998d899a1b01d75cf@148.251.194.252:30303?discport=30892,enode://412fdb01125f6868a188f472cf15f07c8f93d606395b909dd5010f2a4a2702739102cea18abb6437fbacd12e695982a77f28edd9bbdd36635b04e9b3c2948f8d@34.203.27.246:30303?discport=30388,enode://9703d9591cb1013b4fa6ea889e8effe7579aa59c324a6e019d690a13e108ef9b4419698347e4305f05291e644a713518a91b0fc32a3442c1394619e2a9b8251e@79.127.216.33:30303?discport=30349 \
--port {{.Ports.BackendP2P}} \ --port {{.Ports.BackendP2P}} \
--http \ --http \
--http.addr 127.0.0.1 \ --http.addr {{.Env.RPCBindHost}} \
--http.port {{.Ports.BackendHttp}} \ --http.port {{.Ports.BackendHttp}} \
--http.api eth,net,web3,debug,txpool,bor \ --http.api eth,net,web3,debug,txpool,bor \
--http.vhosts '*' \ --http.vhosts '*' \
--http.corsdomain '*' \ --http.corsdomain '*' \
--ws \ --ws \
--ws.addr 127.0.0.1 \ --ws.addr {{.Env.RPCBindHost}} \
--ws.port {{.Ports.BackendRPC}} \ --ws.port {{.Ports.BackendRPC}} \
--ws.api eth,net,web3,debug,txpool,bor \ --ws.api eth,net,web3,debug,txpool,bor \
--ws.origins '*' \ --ws.origins '*' \
--txlookuplimit 0 \ --txlookuplimit 0 \
--cache 4096 --cache 4096
{{end}} {{end}}

View File

@@ -100,6 +100,8 @@ type Config struct {
BlockbookInstallPath string `json:"blockbook_install_path"` BlockbookInstallPath string `json:"blockbook_install_path"`
BlockbookDataPath string `json:"blockbook_data_path"` BlockbookDataPath string `json:"blockbook_data_path"`
Architecture string `json:"architecture"` Architecture string `json:"architecture"`
RPCBindHost string `json:"-"` // Derived from BB_RPC_BIND_HOST_* to keep default RPC exposure local.
RPCAllowIP string `json:"-"` // Derived to align rpcallowip with RPC bind host intent.
} `json:"-"` } `json:"-"`
} }
@@ -186,6 +188,23 @@ func LoadConfig(configsDir, coin string) (*Config, error) {
config.Meta.BuildDatetime = time.Now().Format("Mon, 02 Jan 2006 15:04:05 -0700") config.Meta.BuildDatetime = time.Now().Format("Mon, 02 Jan 2006 15:04:05 -0700")
config.Env.Architecture = runtime.GOARCH config.Env.Architecture = runtime.GOARCH
rpcBindKey := "BB_RPC_BIND_HOST_" + config.Coin.Alias // Bind host is per coin alias to match deployment naming.
config.Env.RPCBindHost = "127.0.0.1" // Default to localhost to avoid unintended remote exposure.
if bindHost, ok := os.LookupEnv(rpcBindKey); ok && bindHost != "" {
config.Env.RPCBindHost = bindHost
}
rpcAllowKey := "BB_RPC_ALLOW_IP_" + config.Coin.Alias // Allow list defaults to loopback unless explicitly overridden.
config.Env.RPCAllowIP = "127.0.0.1"
if allowIP, ok := os.LookupEnv(rpcAllowKey); ok && allowIP != "" {
config.Env.RPCAllowIP = allowIP
}
rpcURLKey := "BB_RPC_URL_" + config.Coin.Alias // Use alias so env naming matches coin config and deployment conventions.
if rpcURL, ok := os.LookupEnv(rpcURLKey); ok && rpcURL != "" {
// Prefer explicit env override so package generation/tests can target hosted RPC endpoints without editing JSON.
config.IPC.RPCURLTemplate = rpcURL
}
if !isEmpty(config, "backend") { if !isEmpty(config, "backend") {
// set platform specific fields to config // set platform specific fields to config
platform, found := config.Backend.Platforms[runtime.GOARCH] platform, found := config.Backend.Platforms[runtime.GOARCH]

View File

@@ -25,7 +25,7 @@
"verification_source": "https://github.com/ava-labs/avalanchego/releases/download/v1.13.2/avalanchego-linux-amd64-v1.13.2.tar.gz.sig", "verification_source": "https://github.com/ava-labs/avalanchego/releases/download/v1.13.2/avalanchego-linux-amd64-v1.13.2.tar.gz.sig",
"extract_command": "tar -C backend --strip 1 -xf", "extract_command": "tar -C backend --strip 1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/avalanchego --data-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --http-port {{.Ports.BackendRPC}} --staking-port {{.Ports.BackendP2P}} --public-ip 127.0.0.1 --staking-ephemeral-cert-enabled --chain-config-content ewogICJDIjp7CiAgICAiY29uZmlnIjoiZXdvZ0lDSmxkR2d0WVhCcGN5STZXd29nSUNBZ0ltVjBhQ0lzQ2lBZ0lDQWlaWFJvTFdacGJIUmxjaUlzQ2lBZ0lDQWlibVYwSWl3S0lDQWdJQ0prWldKMVp5MTBjbUZqWlhJaUxBb2dJQ0FnSW5kbFlqTWlMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXVjBhQ0lzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RZbXh2WTJ0amFHRnBiaUlzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RkSEpoYm5OaFkzUnBiMjRpTEFvZ0lDQWdJbWx1ZEdWeWJtRnNMWFI0TFhCdmIyd2lMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXUmxZblZuSWdvZ0lGMHNDaUFnSW5OMFlYUmxMWE41Ym1NdFpXNWhZbXhsWkNJNklHWmhiSE5sQ24wPSIKICB9Cn0=", "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/avalanchego --data-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --http-port {{.Ports.BackendRPC}} --http-host {{.Env.RPCBindHost}} --staking-port {{.Ports.BackendP2P}} --public-ip 127.0.0.1 --staking-ephemeral-cert-enabled --chain-config-content ewogICJDIjp7CiAgICAiY29uZmlnIjoiZXdvZ0lDSmxkR2d0WVhCcGN5STZXd29nSUNBZ0ltVjBhQ0lzQ2lBZ0lDQWlaWFJvTFdacGJIUmxjaUlzQ2lBZ0lDQWlibVYwSWl3S0lDQWdJQ0prWldKMVp5MTBjbUZqWlhJaUxBb2dJQ0FnSW5kbFlqTWlMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXVjBhQ0lzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RZbXh2WTJ0amFHRnBiaUlzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RkSEpoYm5OaFkzUnBiMjRpTEFvZ0lDQWdJbWx1ZEdWeWJtRnNMWFI0TFhCdmIyd2lMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXUmxZblZuSWdvZ0lGMHNDaUFnSW5OMFlYUmxMWE41Ym1NdFpXNWhZbXhsWkNJNklHWmhiSE5sQ24wPSIKICB9Cn0=",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",

View File

@@ -25,7 +25,7 @@
"verification_source": "https://github.com/ava-labs/avalanchego/releases/download/v1.13.2/avalanchego-linux-amd64-v1.13.2.tar.gz.sig", "verification_source": "https://github.com/ava-labs/avalanchego/releases/download/v1.13.2/avalanchego-linux-amd64-v1.13.2.tar.gz.sig",
"extract_command": "tar -C backend --strip 1 -xf", "extract_command": "tar -C backend --strip 1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/avalanchego --data-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --http-port {{.Ports.BackendRPC}} --staking-port {{.Ports.BackendP2P}} --public-ip 127.0.0.1 --staking-ephemeral-cert-enabled --chain-config-content ewogICJDIjp7CiAgICAiY29uZmlnIjoiZXdvZ0lDSmxkR2d0WVhCcGN5STZXd29nSUNBZ0ltVjBhQ0lzQ2lBZ0lDQWlaWFJvTFdacGJIUmxjaUlzQ2lBZ0lDQWlibVYwSWl3S0lDQWdJQ0prWldKMVp5MTBjbUZqWlhJaUxBb2dJQ0FnSW5kbFlqTWlMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXVjBhQ0lzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RZbXh2WTJ0amFHRnBiaUlzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RkSEpoYm5OaFkzUnBiMjRpTEFvZ0lDQWdJbWx1ZEdWeWJtRnNMWFI0TFhCdmIyd2lMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXUmxZblZuSWdvZ0lGMHNDaUFnSW5CeWRXNXBibWN0Wlc1aFlteGxaQ0k2Wm1Gc2MyVXNDaUFnSW5OMFlYUmxMWE41Ym1NdFpXNWhZbXhsWkNJNklHWmhiSE5sQ24wPSIKICB9Cn0=", "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/avalanchego --data-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log-dir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --http-port {{.Ports.BackendRPC}} --http-host {{.Env.RPCBindHost}} --staking-port {{.Ports.BackendP2P}} --public-ip 127.0.0.1 --staking-ephemeral-cert-enabled --chain-config-content ewogICJDIjp7CiAgICAiY29uZmlnIjoiZXdvZ0lDSmxkR2d0WVhCcGN5STZXd29nSUNBZ0ltVjBhQ0lzQ2lBZ0lDQWlaWFJvTFdacGJIUmxjaUlzQ2lBZ0lDQWlibVYwSWl3S0lDQWdJQ0prWldKMVp5MTBjbUZqWlhJaUxBb2dJQ0FnSW5kbFlqTWlMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXVjBhQ0lzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RZbXh2WTJ0amFHRnBiaUlzQ2lBZ0lDQWlhVzUwWlhKdVlXd3RkSEpoYm5OaFkzUnBiMjRpTEFvZ0lDQWdJbWx1ZEdWeWJtRnNMWFI0TFhCdmIyd2lMQW9nSUNBZ0ltbHVkR1Z5Ym1Gc0xXUmxZblZuSWdvZ0lGMHNDaUFnSW5CeWRXNXBibWN0Wlc1aFlteGxaQ0k2Wm1Gc2MyVXNDaUFnSW5OMFlYUmxMWE41Ym1NdFpXNWhZbXhsWkNJNklHWmhiSE5sQ24wPSIKICB9Cn0=",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",

View File

@@ -28,7 +28,7 @@
"verification_source": "8be1894e6e61e9d0392f158b16055b8cec81d96ec3d0725d3494bc0a306c362b", "verification_source": "8be1894e6e61e9d0392f158b16055b8cec81d96ec3d0725d3494bc0a306c362b",
"extract_command": "tar -C backend --strip 1 -xf", "extract_command": "tar -C backend --strip 1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/dcrd --datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --rpcuser={{.IPC.RPCUser}} --rpcpass={{.IPC.RPCPass}} -C={{.Env.BackendDataPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf --nofilelogging --appdata={{.Env.BackendDataPath}}/{{.Coin.Alias}} --notls --txindex --addrindex --testnet --rpclisten=[127.0.0.1]:18061", "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/dcrd --datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --rpcuser={{.IPC.RPCUser}} --rpcpass={{.IPC.RPCPass}} -C={{.Env.BackendDataPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf --nofilelogging --appdata={{.Env.BackendDataPath}}/{{.Coin.Alias}} --notls --txindex --addrindex --testnet --rpclisten=[{{.Env.RPCBindHost}}]:{{.Ports.BackendRPC}}",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",

View File

@@ -37,10 +37,7 @@
"protect_memory": false, "protect_memory": false,
"mainnet": true, "mainnet": true,
"server_config_file": "bitcoin_like.conf", "server_config_file": "bitcoin_like.conf",
"client_config_file": "bitcoin_like_client.conf", "client_config_file": "bitcoin_like_client.conf"
"additional_params": {
"rpcallowip": "127.0.0.1"
}
}, },
"blockbook": { "blockbook": {
"package_name": "blockbook-divi", "package_name": "blockbook-divi",

View File

@@ -27,7 +27,7 @@
"verification_source": "2382a15a53ce364cb41d3985ff3c2941392d8898c6f869666a8d7d7914a5748a", "verification_source": "2382a15a53ce364cb41d3985ff3c2941392d8898c6f869666a8d7d7914a5748a",
"extract_command": "unzip -d backend", "extract_command": "unzip -d backend",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/geth --classic --ipcdisable --txlookuplimit 0 --cache 1024 --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --port {{.Ports.BackendP2P}} --ws --ws.addr 127.0.0.1 --ws.port {{.Ports.BackendRPC}} --ws.origins \"*\" --http --http.port {{.Ports.BackendHttp}} --http.addr 127.0.0.1 --http.corsdomain \"*\" 2>>{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/geth --classic --ipcdisable --txlookuplimit 0 --cache 1024 --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --ws.origins \"*\" --http --http.port {{.Ports.BackendHttp}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" 2>>{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",

View File

@@ -28,7 +28,7 @@
"verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c", "verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c",
"extract_command": "tar -C backend --strip-components=1 -xf", "extract_command": "tar -C backend --strip-components=1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain mainnet --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode full --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr 127.0.0.1 --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain mainnet --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode full --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",
@@ -73,4 +73,4 @@
"package_maintainer": "IT", "package_maintainer": "IT",
"package_maintainer_email": "it@satoshilabs.com" "package_maintainer_email": "it@satoshilabs.com"
} }
} }

View File

@@ -28,7 +28,7 @@
"verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c", "verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c",
"extract_command": "tar -C backend --strip-components=1 -xf", "extract_command": "tar -C backend --strip-components=1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain mainnet --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode archive --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr 127.0.0.1 --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain mainnet --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode archive --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",
@@ -76,4 +76,4 @@
"package_maintainer": "IT", "package_maintainer": "IT",
"package_maintainer_email": "it@satoshilabs.com" "package_maintainer_email": "it@satoshilabs.com"
} }
} }

View File

@@ -28,7 +28,7 @@
"verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c", "verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c",
"extract_command": "tar -C backend --strip-components=1 -xf", "extract_command": "tar -C backend --strip-components=1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain hoodi --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode full --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr 127.0.0.1 --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain hoodi --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode full --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",
@@ -68,4 +68,4 @@
"package_maintainer": "IT", "package_maintainer": "IT",
"package_maintainer_email": "it@satoshilabs.com" "package_maintainer_email": "it@satoshilabs.com"
} }
} }

View File

@@ -29,7 +29,7 @@
"verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c", "verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c",
"extract_command": "tar -C backend --strip-components=1 -xf", "extract_command": "tar -C backend --strip-components=1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain hoodi --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode archive --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr 127.0.0.1 --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain hoodi --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode archive --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",
@@ -74,4 +74,4 @@
"package_maintainer": "IT", "package_maintainer": "IT",
"package_maintainer_email": "it@satoshilabs.com" "package_maintainer_email": "it@satoshilabs.com"
} }
} }

View File

@@ -28,7 +28,7 @@
"verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c", "verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c",
"extract_command": "tar -C backend --strip-components=1 -xf", "extract_command": "tar -C backend --strip-components=1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain sepolia --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode full --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr 127.0.0.1 --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain sepolia --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode full --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",
@@ -68,4 +68,4 @@
"package_maintainer": "IT", "package_maintainer": "IT",
"package_maintainer_email": "it@satoshilabs.com" "package_maintainer_email": "it@satoshilabs.com"
} }
} }

View File

@@ -29,7 +29,7 @@
"verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c", "verification_source": "8b5444988667721f2b2ef1ab3098139c31f722492992939c110813408c39dc7c",
"extract_command": "tar -C backend --strip-components=1 -xf", "extract_command": "tar -C backend --strip-components=1 -xf",
"exclude_files": [], "exclude_files": [],
"exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain sepolia --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode archive --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr 127.0.0.1 --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'", "exec_command_template": "/bin/sh -c '{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/erigon --chain sepolia --snap.keepblocks --db.size.limit 15TB --db.pagesize 16KB --prune.mode archive --externalcl --nat none --datadir {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/erigon --port {{.Ports.BackendP2P}} --ws --ws.addr {{.Env.RPCBindHost}} --ws.port {{.Ports.BackendRPC}} --http --http.port {{.Ports.BackendRPC}} --http.addr {{.Env.RPCBindHost}} --http.corsdomain \"*\" --http.vhosts \"*\" --http.api \"eth,net,web3,debug,txpool\" --authrpc.port {{.Ports.BackendAuthRpc}} --private.api.addr \"\" --torrent.port {{.Ports.BackendHttp}} --log.dir.path {{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend --log.dir.prefix {{.Coin.Alias}}'",
"logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log", "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/{{.Coin.Alias}}.log",
"postinst_script_template": "", "postinst_script_template": "",
"service_type": "simple", "service_type": "simple",
@@ -74,4 +74,4 @@
"package_maintainer": "IT", "package_maintainer": "IT",
"package_maintainer_email": "it@satoshilabs.com" "package_maintainer_email": "it@satoshilabs.com"
} }
} }

View File

@@ -88,6 +88,18 @@ command: `make NO_CACHE=true all-bitcoin`.
`PORTABLE`: By default, the RocksDB binaries shipped with Blockbook are optimized for the platform you're compiling on (-march=native or the equivalent). If you want to build a portable binary, use `make PORTABLE=1 all-bitcoin`. `PORTABLE`: By default, the RocksDB binaries shipped with Blockbook are optimized for the platform you're compiling on (-march=native or the equivalent). If you want to build a portable binary, use `make PORTABLE=1 all-bitcoin`.
`BB_RPC_URL_<coin alias>`: Overrides `ipc.rpc_url_template` while generating package definitions so you can target
hosted RPC endpoints without editing coin JSON. The root `Makefile` forwards any `BB_RPC_URL_*` variables into the
Docker build/test containers. Example:
`BB_RPC_URL_ethereum_archive=ws://backend_hostname:1234 make deb-ethereum_archive`.
`BB_RPC_BIND_HOST_<coin alias>`: Overrides backend RPC bind host during package generation. Defaults to `127.0.0.1`
to avoid unintended exposure. Example: `BB_RPC_BIND_HOST_ethereum=0.0.0.0 make deb-ethereum`.
`BB_RPC_ALLOW_IP_<coin alias>`: Overrides backend RPC allow list for UTXO configs (e.g. `rpcallowip`). Defaults to
`127.0.0.1` so binding to `0.0.0.0` does not implicitly open access. Example:
`BB_RPC_ALLOW_IP_bitcoin=10.0.0.0/24 make deb-bitcoin`.
### Naming conventions and versioning ### Naming conventions and versioning
All configuration keys described below are in coin definition file in *configs/coins*. All configuration keys described below are in coin definition file in *configs/coins*.

View File

@@ -35,7 +35,9 @@ Good examples of coin configuration are
* `blockbook_public` Blockbook's public port that is used to communicate with Trezor wallet (via Socket.IO). * `blockbook_public` Blockbook's public port that is used to communicate with Trezor wallet (via Socket.IO).
* `ipc` Defines how Blockbook connects its back-end service. * `ipc` Defines how Blockbook connects its back-end service.
* `rpc_url_template` Template that defines URL of back-end RPC service. See note on templates below. * `rpc_url_template` Template that defines URL of back-end RPC service. See note on templates below. You can
override it at build time by setting `BB_RPC_URL_<coin alias>` (for example,
`BB_RPC_URL_ethereum_archive=ws://backend_hostname:1234`), which is used as-is during template generation.
* `rpc_user` User name of back-end RPC service, used by both Blockbook and back-end configuration templates. * `rpc_user` User name of back-end RPC service, used by both Blockbook and back-end configuration templates.
* `rpc_pass` Password of back-end RPC service, used by both Blockbook and back-end configuration templates. * `rpc_pass` Password of back-end RPC service, used by both Blockbook and back-end configuration templates.
* `rpc_timeout` RPC timeout used by Blockbook. * `rpc_timeout` RPC timeout used by Blockbook.
@@ -103,6 +105,9 @@ where *.path* can be for example *.Blockbook.BlockChain.Parse*. Go uses CamelCas
as well. Note that dot at the beginning is mandatory. Go template syntax is fully documented as well. Note that dot at the beginning is mandatory. Go template syntax is fully documented
[here](https://godoc.org/text/template). [here](https://godoc.org/text/template).
Backend templates may also reference `.Env.RPCBindHost` and `.Env.RPCAllowIP`, which are derived at build time from
`BB_RPC_BIND_HOST_<coin alias>` and `BB_RPC_ALLOW_IP_<coin alias>` to keep RPC exposure explicit and controlled.
## Built-in text ## Built-in text
Since Blockbook is an open-source project and we don't prevent anybody from running independent instances, it is possible Since Blockbook is an open-source project and we don't prevent anybody from running independent instances, it is possible

View File

@@ -9,3 +9,12 @@ Some behavior of Blockbook can be modified by environment variables. The variabl
- `COINGECKO_API_KEY` or `<coin shortcut>_COINGECKO_API_KEY` - API key for making requests to CoinGecko in the paid tier. - `COINGECKO_API_KEY` or `<coin shortcut>_COINGECKO_API_KEY` - API key for making requests to CoinGecko in the paid tier.
- `<coin shortcut>_ALLOWED_RPC_CALL_TO` - Addresses to which `rpcCall` websocket requests can be made, as a comma-separated list. If omitted, `rpcCall` is enabled for all addresses. - `<coin shortcut>_ALLOWED_RPC_CALL_TO` - Addresses to which `rpcCall` websocket requests can be made, as a comma-separated list. If omitted, `rpcCall` is enabled for all addresses.
## Build-time variables
- `BB_RPC_URL_<coin alias>` - Overrides `ipc.rpc_url_template` during package/config generation so build and
integration-test tooling can target hosted RPC endpoints without editing coin JSON.
- `BB_RPC_BIND_HOST_<coin alias>` - Overrides backend RPC bind host during package/config generation; when set to
`0.0.0.0`, RPC stays restricted unless `BB_RPC_ALLOW_IP_<coin alias>` is set.
- `BB_RPC_ALLOW_IP_<coin alias>` - Overrides backend RPC allow list for UTXO configs (e.g. `rpcallowip`), defaulting
to `127.0.0.1`.

View File

@@ -52,6 +52,7 @@ For simplicity, URLs and credentials of back-end services, where are tests going
from *blockbook/configs/coins*, the same place from where are production configuration files generated. There are general from *blockbook/configs/coins*, the same place from where are production configuration files generated. There are general
URLs that link to *localhost*. If you need run tests against remote servers, there are few options how to do it: URLs that link to *localhost*. If you need run tests against remote servers, there are few options how to do it:
* set `BB_RPC_URL_<coin alias>` to override `rpc_url_template` during template generation (forwarded into Docker by the root `Makefile`)
* temporarily change config * temporarily change config
* SSH tunneling `ssh -nNT -L 8030:localhost:8030 remote-server` * SSH tunneling `ssh -nNT -L 8030:localhost:8030 remote-server`
* HTTP proxy * HTTP proxy