BlockSim
A blockchain network simulator, which can be used for blockchain network protocol verification.
BlockSim has been developed with extreme scalability and support for network dynamically change in mind. It is composed of the event-driven engine, which is supported by many simple, extendable, and pluggable components (i.e., simulation-network, simulation-consensus, and simulation-data). BlockSim supports structured and unstructured Blockchain P2P network simulation. To simulate different network environments in the blockchain, developers can implement the interfaces provided by BlockSim as needed, which include topological connection, latency setting, network broadcast algorithm and so on.