# Adding Ephemery to Lodestar: writing the genesis
Had a go at an outline genesis script that I can run manually from command line at the moment.
Things that are taking a bit of time:
- learning about ssz and Chainsafe's ssz package
- adding to Lodestar ChainConfig type
- aligning with Adedamola on our approach to Lodestar as a whole, taking into account reset functionality (originally a stretch goal of mine)
- merging latest changes from Lodestar (which include Holesky testnet configuration) and reviewing these updates
GENESIS
- understanding the order in which the genesis steps must be undertaken with respect to the existing Lodestar codebase
- planning for the latest change to the Ephemery EIP to reflect how genesis should be generated:
```
When the testnet flag is provided, automatically use the hardcoded checkpoint to download the latest genesis state using checkpoint sync feature
If user provides a custom checkpoint sync flag, override the default option and use the endpoint provided by user
Include a backup download option pointing to testnet releases which are publicly distributed and trigger this option if the checkpoint state sync fails
If the client includes a feature for generating the genesis, use it to verify parameters in the downloaded state and issue an error if values don’t correspond
```
- where do we want the generated output for genesis inside Lodestar?
- still need to do ssz implementation
- wanting to create a 'reusable' ephemery package containing the genesis generation - if useful
RESET
reviewing with Adedamola the best way to migrate ephemery `retention.sh`
- what is the optimum way to stop ephemery and restart it from *inside* the reset mechanism? Is this the correct approach?
**git notes**
Set git config to merge (not rebase)
`git config pull.rebase false`
Add remote upstream (i.e. for grabbing Lodestar latest):
`git remote add upstream git@github.com:ChainSafe/lodestar.git`
Pull Lodestar latest
`git pull upstream unstable`
**Running generate script**
Inside `packages/ephemery` run:
`node --loader ts-node/esm ./src/genesis/generate.ts`