Compile executable which references a specific genesis state. The full genesis state can be included by linking with egensis_full, or only hashes (chain ID and hash of JSON) can be included by linking with egenesis_brief.
The GRAPHENE_EGENESIS_JSON parameter specifies the genesis.json to be included. Note, you will have to delete your cmake leftovers with
make clean rm -f CMakeCache.txt find . -name CMakeFiles | xargs rm -Rf
The embedded data can be accessed by functions in egenesis.hpp.
Note, if your enesis.json contains newlines, you should be aware there are [newline translation issues](https://github.com/cryptonomex/graphene/issues/545) and should keep in mind this advice:
If you’re creating a new chain, run your genesis file through canonical_format.py before publishing it. It should get rid of line translation issues and has the added benefit of making the file smaller.
If you’re creating a new chain, and you want to show a pretty genesis file with newlines and whitespace in your Github, you can create the ugly file by running canonical_format.py as part of the build process by editing CMakeLists.txt. If you do this, your build will then depend on having a working Python installation (which is why we don’t do this).
If you have an existing chain with a pretty genesis, or want to disregard the above advice and create a new chain with a pretty genesis, and you’re using Git to distribute your genesis file, you should add a .gitattributes file to your repository as discussed here