上期我们讲了在基于比原开发过程中链外存储可以用分布式存储 IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
###step1:搭建 Bytom 节点
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
搭建 bytom 节点有很多方式,然后开启 RPC 调用模式。这里推荐用 docker 搭建比原节点: docker 搭建比原节点,同时开启 RPC 访问模式(即终端交互模式)。
我这里都是在本地操作,所以对应的端口是:9888。启动好以后我们在 postman 里请求测试一下,如下图:
说明我们已经搭建好了比原节点,并且可以进行远程调用。下面我们用程序去调用比原节点:
###step2:搭建 bigchaindb 节点集群
BigchainDB 是集区块链去中介化等特性和分布式数据库吞吐量高等特性的一款可扩展的区块链数据库。代码托管在 github 上:https://github.com/bigchaindb/bigchaindb
BigchainDB 官网是:https://www.bigchaindb.com 官网有很多资料,是学习 BigchinDB 的不二去处!
要想深入研究 BigchianDB,可以阅读 BigchainDB 白皮书《BigchainDB:A Scalable Blockchain Database》可以 https://www.bigchaindb.com/whitepaper/处下载到。 好,开始搭一个独立的 BigchianDB 节点!
#####搭一个 BigchainDB 节点
搭建节点请参考:https://blog.csdn.net/q563730343/article/details/78654314?utm_source=blogxgwz8
为了方便,这里我们直接使用 bigchaindb 的测试网络,如果你是自己开发的话推荐自己搭建多节点。 测试网络地址:https://test.bigchaindb.com,我们用 postman 请求测试一下,如下图:
上图是我们请求 bigchaindb 测试网络的,我们可以看到测试网路已经正常返回。现在我们就可以去找对应的开发插件进行开发。
###step3:比原上进行资产登记并存储到 bigchaindb
上面我们已经搭建好了比原和 bigchaindb 的节点,下面我们进行实际的开发。
首先我们去找符合自己开发语言的 sdk,这样我们可以快速上手开发。bigchaindb 的 sdk 有很多:https://github.com/bigchaindb,请自己去筛选符合自己的 sdk。我这里用 go 语言的 sdk:https://github.com/bigchaindb/go-bigchaindb-driver
首先将自己需要的插件包下载下来放在自己的环境变量下面(我这里以 golang 插件为例),然后我们跟 bigchaindb 的测试网进行连接。可以让我们的程序远程调用 bigchaindb 测试网,与之进行交互。详细的代码我们可以参考项目里面的文件,如下图:
连接好了以后我们在比原上创在一个资产,我们调用 create-asset 接口:https://docs.bytom.io/mydoc_rpc_call.cn#create-asset。然后创建了资产 BYTOM 资产,看下图我们已经创建成功了资产。然后我们将这个资产在 bigchaindb 上去创建并进行交易,如下图:
上面我们已经在比原链上创建了资产,然后我们将这笔资产在 bigchaindb 上创建。这样比原链上的资产就可以映射到 bigchaindb 中做一个存储,以及附带大量的资产凭证信息。整个资产的流转信息都存储在 bigchaindb 中。下图是我们用程序去创建交易资产:
资产创建好了以后我们就将资产存储到 bigchaindb 中,然后我们请求 bigchaindb 就可以返回我们创建的资产。
接下来我们就可以通过类似的方法去对我们的资产进行变更,流转。每一次流转变更返回的 hsah 都会通过比原上的交易存储,资产的详细整个流转记录都会存储在 bigchaindb 中,可以有效减少主链的数据。并提升效率。
目前项目还不完整,仅供参考;项目地址:https://github.com/BytomFans/bytom-bdb
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于