| The gradual maturity of the blockchain technology and the expansion of its applica-tion range have aroused the attention of academic and industrial circles at home and abroad on research of blockchain technology.Ethereum,as one of the mainstream blockchain platforms,has relatively mature development language and technology architecture.The Ethereum blockchain system is a peer-to-peer distributed system with highly redundant data in Ethereum,which including block data,transaction data,account data,and trans-action receipt data.Those data are stored in LevelDB in the form of?Key,V alue?.Only queries on Ethereum blockchain data by Key(such as block number,transaction hash,etc.)are supported.However,because of the investment and the application development needs of Ethereum,people want to know the current satus and development trends of Ethereum through the complex queries on Ethereum blockchain data.Therefore,th demands for complex queries on Ethereum blockchain data is growing gradually.To complete such queries,the Ethereum client can only traverse many blocks and process the result.In this way,the cost of query is expensive and the query results cannot be reused.In order to solve above problem,this article conducts research and completes the following tasks:·Introduces the B~+tree into the Ethereum client,designs and implement the query system for Ethereum blockchain data,Geth-EBTree.Geth-EBTree allow users build index on specific Ethereum blockchain data according to their needs.Thus,the efficiency of query on Ethereum data will be improved greatly.·In order to improve indext construction efficiency,a scheme for concurrent constructing index is proposed in Geth-EBTree.In the process of concurrent construc-tion,this thesis reduce the requirements for the memory of server by spliting the construction task and persistently storing the index node in advance,so that com-mon servers can complete the index construction efficiently.·Verifies the performance of index construction,index insertion and complex query on Ethereum blockchain data in Geth-EBTree with experiments.The experiments use the public Ethereum blockchain data as dataset.As the experiment results show,the efficiency of index construction,index insertion and complex queries on Ethereum blockchain data in Geth-EBTree are high. |