如何在基于Bytom开发过程中使用Bigchaindb

简介: 上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。

上期我们讲了在基于比原开发过程中链外存储可以用分布式存储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:

首先将自己需要的插件包下载下来放在自己的环境变量下面(我这里以golang 插件为例),然后我们跟bigchaindb的测试网进行连接。可以让我们的程序远程调用bigchaindb测试网,与之进行交互。详细的代码我们可以参考项目里面的文件,如下图:

连接好了以后我们在比原上创在一个资产,我们调用create-asset接口。然后创建了资产BYTOM资产,看下图我们已经创建成功了资产。然后我们将这个资产在bigchaindb上去创建并进行交易,如下图:

上面我们已经在比原链上创建了资产,然后我们将这笔资产在bigchaindb上创建。这样比原链上的资产就可以映射到bigchaindb中做一个存储,以及附带大量的资产凭证信息。整个资产的流转信息都存储在bigchaindb中。下图是我们用程序去创建交易资产:

资产创建好了以后我们就将资产存储到bigchaindb中,然后我们请求bigchaindb就可以返回我们创建的资产。

接下来我们就可以通过类似的方法去对我们的资产进行变更,流转。每一次流转变更返回的hsah都会通过比原上的交易存储,资产的详细整个流转记录都会存储在bigchaindb中,可以有效减少主链的数据。并提升效率。

目前项目还不完整,仅供参考;项目地址:https://github.com/BytomFans/bytom-bdb

相关文章
|
6月前
|
编译器 C++ 开发者
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
342 1
|
6月前
|
算法 Unix C++
【Conan 基础知识 】灵活指定CMake构建目录:Conan 2.1中的实践与思考
【Conan 基础知识 】灵活指定CMake构建目录:Conan 2.1中的实践与思考
208 1
|
6月前
|
缓存 算法 开发者
【Conan 入门教程 】了解 Conan2.1 中内置部署策略
【Conan 入门教程 】了解 Conan2.1 中内置部署策略
128 1
|
6月前
|
Ubuntu 编译器 C++
【Conan 入门教程 】在Ubuntu上使用Conan编译C++第三方库:一站式解决方案
【Conan 入门教程 】在Ubuntu上使用Conan编译C++第三方库:一站式解决方案
1697 1
|
XML Ubuntu 测试技术
【GoogleTest】GoogleTest单元测试(1)快速上手
【GoogleTest】GoogleTest单元测试(1)快速上手
|
jenkins Linux Shell
iOS 底层原理38:自动化打包(二)Jenkins + GitLab 实现自动打包
iOS 底层原理38:自动化打包(二)Jenkins + GitLab 实现自动打包
2067 0
iOS 底层原理38:自动化打包(二)Jenkins + GitLab 实现自动打包
|
Android开发
开发Xposed插件CPWechatXposed | 项目复盘(上)
Xposed框架可以在不修改APK的情况下影响程序运行,我们可以利用它对App进行Hook,以实现一些自定义的功能。CPWechatXposed 是笔者开发的一款微信插件,本文介绍的是此插件开发过程与复盘。
426 0
|
传感器 安全 API
开发Xposed插件CPWechatXposed | 项目复盘(下)
Xposed框架可以在不修改APK的情况下影响程序运行,我们可以利用它对App进行Hook,以实现一些自定义的功能。CPWechatXposed 是笔者开发的一款微信插件,本文介绍的是此插件开发过程与复盘。
382 0
|
前端开发 API 区块链
Bytom Dapp 开发笔记(二):开发流程
简介 这章的内容详细分析一下涉及智能合约Dapp的整个开发流程,注意是涉及只能合约,如果你只要一些基本转BTM功能没有太大意义,本内容补充一下官方提供的 比原链DAPP开发流程,详细实践过好踩到的一些坑,还有一些真正具体的技巧还有经验,个人认为非常有用,起码让开发者可以更快速地去操作。
959 0
Bytom Dapp 开发笔记(一):架构设计
简介 研究比原链已经一年了,用比原链做了几个dapp,而且最近还做了一个基于他们插件钱包的dapp,总结了一些遇到的坑,还有一些技术细节,接下来我会分成三章,从dapp设计架构上,到深入到源码分析去帮各位介绍一下比原链的dapp,还有分析比原官方最近发布的dapp的架构。
1119 0