上期咱们讲了在基于比原开发过程当中链外存储能够用分布式存储IPFS,这期咱们还给你们介绍另一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面咱们讲一下集成过程。git
比原相关资料:https://github.com/Bytom-Comm...github
搭建bytom节点有不少方式,而后开启RPC调用模式。这里推荐用docker搭建比原节点: docker搭建比原节点,同时开启RPC访问模式(即终端交互模式)。golang
我这里都是在本地操做,因此对应的端口是:9888。启动好之后咱们在postman里请求测试一下,以下图:docker
说明咱们已经搭建好了比原节点,而且能够进行远程调用。下面咱们用程序去调用比原节点:数据库
BigchainDB是集区块链去中介化等特性和分布式数据库吞吐量高等特性的一款可扩展的区块链数据库。代码托管在github上:https://github.com/bigchaindb...网络
BigchainDB官网是:https://www.bigchaindb.com 官网有不少资料,是学习BigchinDB的不二去处!分布式
要想深刻研究BigchianDB,能够阅读BigchainDB白皮书《BigchainDB:A Scalable Blockchain Database》能够https://www.bigchaindb.com/wh...。
好,开始搭一个独立的BigchianDB节点!post
搭建节点请参考:https://blog.csdn.net/q563730...学习
为了方便,这里咱们直接使用bigchaindb的测试网络,若是你是本身开发的话推荐本身搭建多节点。
测试网络地址:https://test.bigchaindb.com,咱们用postman请求测试一下,以下图:区块链
上图是咱们请求bigchaindb测试网络的,咱们能够看到测试网路已经正常返回。如今咱们就能够去找对应的开发插件进行开发。
上面咱们已经搭建好了比原和bigchaindb的节点,下面咱们进行实际的开发。
首先咱们去找符合本身开发语言的sdk,这样咱们能够快速上手开发。bigchaindb的sdk有不少:https://github.com/bigchaindb...
首先将本身须要的插件包下载下来放在本身的环境变量下面(我这里以golang 插件为例),而后咱们跟bigchaindb的测试网进行链接。可让咱们的程序远程调用bigchaindb测试网,与之进行交互。详细的代码咱们能够参考项目里面的文件,以下图:
链接好了之后咱们在比原上创在一个资产,咱们调用create-asset接口:https://docs.bytom.io/mydoc_r...。而后建立了资产BYTOM资产,看下图咱们已经建立成功了资产。而后咱们将这个资产在bigchaindb上去建立并进行交易,以下图:
上面咱们已经在比原链上建立了资产,而后咱们将这笔资产在bigchaindb上建立。这样比原链上的资产就能够映射到bigchaindb中作一个存储,以及附带大量的资产凭证信息。整个资产的流转信息都存储在bigchaindb中。下图是咱们用程序去建立交易资产:
资产建立好了之后咱们就将资产存储到bigchaindb中,而后咱们请求bigchaindb就能够返回咱们建立的资产。
接下来咱们就能够经过相似的方法去对咱们的资产进行变动,流转。每一次流转变动返回的hsah都会经过比原上的交易存储,资产的详细整个流转记录都会存储在bigchaindb中,能够有效减小主链的数据。并提高效率。
目前项目还不完整,仅供参考;项目地址:https://github.com/BytomFans/...