  Numerous blockchain simulators have been proposed to allow researchers to
simulate mainstream blockchains. However, we have not yet found a testbed that
enables researchers to develop and evaluate their new consensus algorithms or
new protocols for blockchain sharding systems. To fill this gap, we develop
BlockEmulator, which is designed as an experimental platform, particularly for
emulating blockchain sharding mechanisms. BlockEmulator adopts a lightweight
blockchain architecture such that developers can only focus on implementing
their new protocols or mechanisms. Using layered modules and useful programming
interfaces offered by BlockEmulator, researchers can implement a new protocol
with minimum effort. Through experiments, we test various functionalities of
BlockEmulator in two steps. Firstly, we prove the correctness of the emulation
results yielded by BlockEmulator by comparing the theoretical analysis with the
observed experiment results. Secondly, other experimental results demonstrate
that BlockEmulator can facilitate the measurement of a series of metrics,
including throughput, transaction confirmation latency, cross-shard transaction
ratio, the queuing size of transaction pools, workload distribution across
blockchain shards, etc. We have made BlockEmulator open-source in Github.
