Turning git into a blockchain, thought experiment in what a blockchain is.
The git commit chain (GCC) is a barebones EVM chain designed to test the limits of what a blockchain is.
GCC tests limits not by any performance metrics, rather it asks a fundamental question of what a blockchain is. For this, we turned a git repository into a blockchain. By using commits and files as blocks, and with forks for fork choice and reorgs; I have made a somewhat functioning blockchain.
It uses git as a merkle tree, revm to perform state transitions and sled for the state.
Instead of using a P2P protocol like devp2p it uses git. New nodes are synced by pulling from a remote. revm is used to perform state transitions. This includes account balances and contract execution. sled is used to store all the account state.