Skip to content

[Feature][Medium] Add Makefile, document fee configuration differences, consolidate genesis source of truth #132

@numbers-official

Description

@numbers-official

Summary

Multiple medium-priority improvements for developer experience and configuration clarity:

1. No Makefile or task runner exists

The repository has no unified task runner. Developers must manually navigate directories and execute scripts individually. No requirements.txt for Python test dependencies (requests, websockets).

Fix: Add a Makefile with targets like make test-rpc, make test-ws, make backup, make help. Add requirements.txt for Python dependencies.

2. Mainnet minBaseFee is 100x higher than testnet (undocumented)

  • chains/mainnet/genesis.json: "minBaseFee": 100000000000 (100 Gwei)
  • chains/testnet/genesis.json: "minBaseFee": 1000000000 (1 Gwei)
  • chains/devnet/genesis.json: "minBaseFee": 100000000000 (100 Gwei, matches mainnet)

Developers testing on testnet cannot predict mainnet gas costs. Devnet matches mainnet rather than testnet, despite being a development environment.

Fix: Document fee differences. Consider aligning devnet with testnet for progressive testing.

3. allowFeeRecipients config mismatch between environments

  • chains/mainnet/genesis.json: "allowFeeRecipients": true
  • chains/testnet/genesis.json: field absent (defaults to false)

Testnet validators using the feeRecipient config have fees silently burned instead of received.

Fix: Clarify which testnet genesis variant is active. Align allowFeeRecipients for consistent testing.

4. feeRecipient addresses undocumented

  • Mainnet config: 0xe49a1220eE09Fbf0D25CA9e3BB8D5fD356Fc67FF
  • Testnet config: 0xE021c9B8DC3953f4f7f286C44a63f5fF001EF481

No documentation about address type (EOA/multisig), ownership, or fee usage policy.

Fix: Add fee recipient documentation for community transparency.

5. Genesis files duplicated without canonical source indicator

genesis/ root directory contains byte-identical copies of chains/testnet/ files. subnet-cli/subnet-cli-wizard.sh references ../genesis/ while README references chains/ paths.

Fix: Designate chains/{env}/ as canonical. Replace root genesis/ with symlinks or remove entirely.

6. README typo "Archieve Node" and deprecated --whitelisted-subnets

  • README.md line 37, 867: "Archieve" should be "Archive"
  • --whitelisted-subnets is deprecated; current flag is --track-subnets

Fix: Fix typo and update deprecated flags.

Expected Impact

  • Makefile improves developer onboarding significantly
  • Fee documentation prevents cost surprises between environments
  • Genesis consolidation prevents silent configuration drift

Generated by Health Monitor with Omni

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions