@@ -15,7 +15,7 @@ PG_HOST ?= localhost
15
15
PG_PORT ?= 5432
16
16
17
17
# Block producer configuration
18
- PRODUCER_KEY ?= ./openmina-workdir/producer-key
18
+ PRODUCER_KEY_FILENAME ?= ./openmina-workdir/producer-key
19
19
COINBASE_RECEIVER ?=
20
20
OPENMINA_LIBP2P_EXTERNAL_IP ?=
21
21
OPENMINA_LIBP2P_PORT ?= 8302
@@ -313,44 +313,45 @@ run-archive: build-release ## Run an archive node with local storage
313
313
314
314
.PHONY : run-block-producer
315
315
run-block-producer : build-release # # Run a block producer node on $(NETWORK) network
316
- @if [ ! -f " $( PRODUCER_KEY ) " ]; then \
317
- echo " Error: Producer key not found at $( PRODUCER_KEY ) " ; \
318
- echo " Please place your producer private key at $( PRODUCER_KEY ) " ; \
316
+ @if [ ! -f " $( PRODUCER_KEY_FILENAME ) " ]; then \
317
+ echo " Error: Producer key not found at $( PRODUCER_KEY_FILENAME ) " ; \
318
+ echo " Please place your producer private key at $( PRODUCER_KEY_FILENAME ) " ; \
319
319
exit 1; \
320
320
fi
321
- MINA_PRIVKEY_PASS=" $( MINA_PRIVKEY_PASS) " \
322
- cargo run --bin openmina \
321
+ cargo run \
322
+ --bin openmina \
323
+ --package=cli \
323
324
--release -- \
324
325
node \
325
- --producer-key $(PRODUCER_KEY ) \
326
+ --producer-key $(PRODUCER_KEY_FILENAME ) \
326
327
$(if $(COINBASE_RECEIVER ) ,--coinbase-receiver $(COINBASE_RECEIVER ) ) \
327
328
$(if $(OPENMINA_LIBP2P_EXTERNAL_IP ) ,--libp2p-external-ip $(OPENMINA_LIBP2P_EXTERNAL_IP ) ) \
328
329
$(if $(OPENMINA_LIBP2P_PORT ) ,--libp2p-port $(OPENMINA_LIBP2P_PORT ) ) \
329
330
--network $(NETWORK )
330
331
331
- .PHONY : run-block-producer-devnet
332
- run-block-producer-devnet : # # Run a block producer node on devnet
333
- $(MAKE ) run-block-producer NETWORK=devnet
334
-
335
- .PHONY : run-block-producer-mainnet
336
- run-block-producer-mainnet : # # Run a block producer node on mainnet
337
- $(MAKE ) run-block-producer NETWORK=mainnet
338
332
339
333
.PHONY : generate-block-producer-key
340
- generate-block-producer-key : build-release # # Generate a new block producer key pair
334
+ 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)
335
+ @if [ -f " $( PRODUCER_KEY_FILENAME) " ] || [ -f " $( PRODUCER_KEY_FILENAME) .pub" ]; then \
336
+ echo " Error: Producer key already exists at $( PRODUCER_KEY_FILENAME) or public key exists at $( PRODUCER_KEY_FILENAME) .pub" ; \
337
+ echo " " ; \
338
+ echo " To generate a key with a different filename, set PRODUCER_KEY_FILENAME:" ; \
339
+ echo " make generate-block-producer-key PRODUCER_KEY_FILENAME=./path/to/new-key" ; \
340
+ echo " " ; \
341
+ echo " Or remove the existing key first to regenerate it." ; \
342
+ exit 1; \
343
+ fi
341
344
@mkdir -p openmina-workdir
342
- @echo " Generating new block producer key pair..."
343
- @OUTPUT=$$(cargo run --release --package=cli --bin openmina -- misc mina-key-pair ) ; \
344
- SECRET_KEY=$$(echo "$$OUTPUT" | grep "secret key:" | cut -d' ' -f3 ) ; \
345
+ @echo " Generating new encrypted block producer key..."
346
+ @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 ) ) ; \
345
347
PUBLIC_KEY=$$(echo "$$OUTPUT" | grep "public key:" | cut -d' ' -f3 ) ; \
346
- echo " $$ SECRET_KEY" > $(PRODUCER_KEY ) ; \
347
- chmod 600 $(PRODUCER_KEY ) ; \
348
+ chmod 600 $(PRODUCER_KEY_FILENAME ) ; \
348
349
echo " " ; \
349
- echo " ✓ Generated new producer key pair :" ; \
350
- echo " Secret key saved to: $( PRODUCER_KEY ) " ; \
351
- echo " Public key: $$ PUBLIC_KEY" ; \
350
+ echo " ✓ Generated new encrypted producer key:" ; \
351
+ echo " Encrypted key saved to: $( PRODUCER_KEY_FILENAME ) " ; \
352
+ echo " Public key: $$ PUBLIC_KEY, saved to $( PRODUCER_KEY_FILENAME ) .pub " ; \
352
353
echo " " ; \
353
- echo " ⚠️ IMPORTANT: Keep your secret key secure and backed up!"
354
+ echo " ⚠️ IMPORTANT: Keep your encrypted key file and password secure and backed up!"
354
355
355
356
.PHONY : postgres-clean
356
357
postgres-clean :
0 commit comments