Node
===
First Iteration
===
Where everything connects. This is where the shared components are created (txpool and storage) and where the rpc server and the miner is started
Second Iteration
===
Since in iteration one the miner was the owner of the blockchain (`Vec<SealedBlock>`), in this iteration the chain was modified so it was a shared item between components, just like `SharedTxPool` and the `SharedStorage`. `SharedChain` also uses the Arc<Mutex<>> design, in order to allow safe access to its content. It is used by the miner and the rpc server (so it can handle chain data requests).