本发明涉及去中心化的区块链智能合约数据存储的设计领域,尤其涉及一种基于Java智能合约的数据集合存储方法。
背景技术:
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改;智能合约是一种可以在区块链网络环境中部署和执行的一段代码,这段代码的部署以及执行都是可以在区块链网络中以交易的形式呈现,其部署和执行结果可以随着交易被全网共识;目前智能合约支持的语言包括Solidity、Java等等,智能合约也在基于区块链的各种业务应用中广泛应用。
传统联盟区块链智能合约执行引擎包括evm和jvm,以jvm为例,jvm无法采用直接映射到区块链账本的集合类型来存储数据,需要按键值对的形式读取或写入到账本中,且无法保证所有写入数据的原子性,在插入部分数据后合约执行失败需要将合约数据回滚,这部分压力将会落在区块链节点上,如何让Java智能合约方便的使用自定义集合来操作账本的同时又保证一次交易执行的账本数据修改的原子性,保证区块链智能合约执行引擎稳定高效是一项全新的挑战。
技术实现要素:
针对现有技术的不足,本发明提出一种基于Java智能合约的数据集合存储方法,既保证了与区块链账本的直接交互集合方便使用,同时又解决了多次账本数据操作的存储原子性问题。
本发明的目的是通过以下技术方案来实现的:一种基于Java智能合约的数据集合存储方法ÿ