Skip to content

Commit ccf1689

Browse files
committed
Makefile: update producer key filename, bp key generation target
Use new encrypted key file generator
1 parent 945a3fb commit ccf1689

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

Makefile

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ PG_HOST ?= localhost
1515
PG_PORT ?= 5432
1616

1717
# Block producer configuration
18-
PRODUCER_KEY ?= ./openmina-workdir/producer-key
18+
PRODUCER_KEY_FILENAME ?= ./openmina-workdir/producer-key
1919
COINBASE_RECEIVER ?=
2020
OPENMINA_LIBP2P_EXTERNAL_IP ?=
2121
OPENMINA_LIBP2P_PORT ?= 8302
@@ -307,44 +307,45 @@ run-archive: build-release ## Run an archive node with local storage
307307

308308
.PHONY: run-block-producer
309309
run-block-producer: build-release ## Run a block producer node on $(NETWORK) network
310-
@if [ ! -f "$(PRODUCER_KEY)" ]; then \
311-
echo "Error: Producer key not found at $(PRODUCER_KEY)"; \
312-
echo "Please place your producer private key at $(PRODUCER_KEY)"; \
310+
@if [ ! -f "$(PRODUCER_KEY_FILENAME)" ]; then \
311+
echo "Error: Producer key not found at $(PRODUCER_KEY_FILENAME)"; \
312+
echo "Please place your producer private key at $(PRODUCER_KEY_FILENAME)"; \
313313
exit 1; \
314314
fi
315-
MINA_PRIVKEY_PASS="$(MINA_PRIVKEY_PASS)" \
316-
cargo run --bin openmina \
315+
cargo run \
316+
--bin openmina \
317+
--package=cli \
317318
--release -- \
318319
node \
319-
--producer-key $(PRODUCER_KEY) \
320+
--producer-key $(PRODUCER_KEY_FILENAME) \
320321
$(if $(COINBASE_RECEIVER),--coinbase-receiver $(COINBASE_RECEIVER)) \
321322
$(if $(OPENMINA_LIBP2P_EXTERNAL_IP),--libp2p-external-ip $(OPENMINA_LIBP2P_EXTERNAL_IP)) \
322323
$(if $(OPENMINA_LIBP2P_PORT),--libp2p-port $(OPENMINA_LIBP2P_PORT)) \
323324
--network $(NETWORK)
324325

325-
.PHONY: run-block-producer-devnet
326-
run-block-producer-devnet: ## Run a block producer node on devnet
327-
$(MAKE) run-block-producer NETWORK=devnet
328-
329-
.PHONY: run-block-producer-mainnet
330-
run-block-producer-mainnet: ## Run a block producer node on mainnet
331-
$(MAKE) run-block-producer NETWORK=mainnet
332326

333327
.PHONY: generate-block-producer-key
334-
generate-block-producer-key: build-release ## Generate a new block producer key pair
328+
generate-block-producer-key: build-release ## Generate a new block producer key pair (fails if keys exist, use PRODUCER_KEY_FILENAME to customize, MINA_PRIVKEY_PASS for password)
329+
@if [ -f "$(PRODUCER_KEY_FILENAME)" ]; then \
330+
echo "Error: Producer key already exists at $(PRODUCER_KEY_FILENAME)"; \
331+
echo ""; \
332+
echo "To generate a key with a different filename, set PRODUCER_KEY_FILENAME:"; \
333+
echo " make generate-block-producer-key PRODUCER_KEY_FILENAME=./path/to/new-key"; \
334+
echo ""; \
335+
echo "Or remove the existing key first to regenerate it."; \
336+
exit 1; \
337+
fi
335338
@mkdir -p openmina-workdir
336-
@echo "Generating new block producer key pair..."
337-
@OUTPUT=$$(cargo run --release --package=cli --bin openmina -- misc mina-key-pair); \
338-
SECRET_KEY=$$(echo "$$OUTPUT" | grep "secret key:" | cut -d' ' -f3); \
339+
@echo "Generating new encrypted block producer key..."
340+
@OUTPUT=$$($(if $(MINA_PRIVKEY_PASS),MINA_PRIVKEY_PASS="$(MINA_PRIVKEY_PASS)") cargo run --release --package=cli --bin openmina -- misc mina-encrypted-key --file $(PRODUCER_KEY_FILENAME)); \
339341
PUBLIC_KEY=$$(echo "$$OUTPUT" | grep "public key:" | cut -d' ' -f3); \
340-
echo "$$SECRET_KEY" > $(PRODUCER_KEY); \
341-
chmod 600 $(PRODUCER_KEY); \
342+
chmod 600 $(PRODUCER_KEY_FILENAME); \
342343
echo ""; \
343-
echo "✓ Generated new producer key pair:"; \
344-
echo " Secret key saved to: $(PRODUCER_KEY)"; \
344+
echo "✓ Generated new encrypted producer key:"; \
345+
echo " Encrypted key saved to: $(PRODUCER_KEY_FILENAME)"; \
345346
echo " Public key: $$PUBLIC_KEY"; \
346347
echo ""; \
347-
echo "⚠️ IMPORTANT: Keep your secret key secure and backed up!"
348+
echo "⚠️ IMPORTANT: Keep your encrypted key file and password secure and backed up!"
348349

349350
.PHONY: postgres-clean
350351
postgres-clean:

0 commit comments

Comments
 (0)