# Dev notes - w/c 17 June 2024 ## Resolving issues with alloc data ### ephemery-geth local quickstart 1. Download latest [ephemery release](https://github.com/ephemery-testnet/ephemery-genesis/releases) 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` ![Screenshot 2024-06-21 at 18.45.35](https://hackmd.io/_uploads/ByH82E78A.png) ### 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. ![Screenshot 2024-06-21 at 19.42.54](https://hackmd.io/_uploads/SJwgqr7UA.png) **Resources:** - Geth [holesky commit](https://github.com/ethereum/go-ethereum/commit/6b98d18789d18a3415b83c0250744dfcf4e4911d) **TODO:** - [x] Fix config issue above in`genesis.go` relating to import/use of EphemeryAllocData vs ephemery chain config - [x] 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 - [x] 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!"),`