Try   HackMD

Dev notes - w/c 17 June 2024

Resolving issues with alloc data

ephemery-geth local quickstart

  1. Download latest ephemery release

  2. Clear chain data in local geth directory

    rm -r chaindata

  3. Build and run geth branch locally

    make geth
    ./build/bin/geth --ephemery --verbosity 4

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Updates

Generated RLP encoded ephemeryAllocData by running
go run core/mkalloc.go ./ephemery.json where ephemery.json includes alloc balances and other static parameters taken from testnet-all/genesis.json:

"alloc": {
    ...
  },
  "coinbase": "0x0000000000000000000000000000000000000000",
  "difficulty": "0x01",
  "extraData": "",
  "gasLimit": "0x1c9c380",
  "nonce": "0x1234",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"

❗ Note: generate command will fail if json does not include gasLimit, difficulty, alloc. Note also that some params are repeated in genesis.go in line with other test networks - presumably for readability purposes (?)

Added the printed output as const ephemeryAllocData in genesis_alloc.go; runs now with the flag.

Now to verify it's working correctly with CL client, update the naming in line with specs and prepare draft PR.

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Resources:

TODO:

  • Fix config issue above ingenesis.go relating to import/use of EphemeryAllocData vs ephemery chain config
    • Review EphemeryAllocData format. Since KilnData was removed it appears this format is no longer used and I should use a new format for ephemeryAllocData instead
  • Review where to define (or not) Coinbase, Mixhash, ParentHash - included in RLP encoded ephemeryAllocData in genesis_alloc.go
  • Review where to include minGenesisTimestamp and genesisDelay - should these be in genesis.go or in config.go?
  • Update the ephemery var names to correctly reflect EIP spec
  • Next up: run with CL client to verify starting correctly
  • Review holesky commit and ensure my updates follow a similar approach

Observations:

  • Does ephemery team wish to update the extraData param. For example, Sepolia has ExtraData: []byte("Sepolia, Athens, Attica, Greece!"),