# 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`

### 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.

**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!"),`