公司该如何创建适合自己的区块链产品、联盟链、私链

现在区块链是非常火的,很多公司都想蹭一把区块链,不管实际作用大不大,也要往区块链上靠一靠。

那么这就难为了广大的技术开发人员,如何在完全不了解区块链的情况下,迅速为公司开发出区块链产品呢?

区块链基础架构模型

简单来总结区块链就是,这是一个数据库,与传统数据库区别最大的点是,传统数据库由一个中心来管理维护,所有人都是这个中心来做增删改查;而区块链则是每个节点都有一个数据库的完整备份,即所谓的去中心化。这样一来不用担心数据丢失的问题(到处都是备份),二来解决了信任的问题(见证者太多,无法篡改)。至于挖矿什么的,那都是辅助生成数据的东西,在区块链技术上,属于非必须的组件。

一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。


看起来很复杂的样子,其实它就是很复杂。不是模型复杂,而是具体到每一个组件都去自己实现很复杂。

主要解决的问题有数据存储和查询,节点间的通信和验证,可自定义的智能合约等。

怎么开发

从上面的模型来看,要搭建好一个能用的区块链平台,难度是不小的。但是注意看,数据层和网络层这两层其实是不会发生大的变化的,无论是比特币还是以太币或者是你自己的任何币,或者就是普通的数据要往区块链放。这两层适用于任何区块链产品。

轮子早已有人造好,作为普通的开发人员更重要的是如何使用轮子。

主要介绍几个平台及特点:

1 以太坊

这个是除比特币外,世界第二大虚拟货币,拥有世界第二大的算力。以太坊提供了完善的数据层、网络层,和通过简单配置就能使用的共识层和激励层,需要开发的主要是合约层,通过自定义合约来完成自己需要的应用层。既可以将自己的合约发布到以太坊公网(需要以太币),也可以搭建私链、联盟链来让特定的人使用。背后有强大的公司支撑,是目前大部分区块链学习者会首先碰到的平台。但是编写合约用的是以太坊自己的语言,对于大部分开发者来说,该语言很诡异。会存在语言障碍。

2 腾讯区块链

https://trustsql.qq.com/


腾讯区块链解决了底层的一切,对外暴露一些API,通过提供的Java和C++的SDK,可以很方便的进行区块链上的操作。我们可以就把它当成一个数据库就好了,只不过数据库是建立在区块链上的。这样我们就可以忽略区块链这个概念了,就像操作远程数据库一样,可以在里面存放任何你想存的数据。适用于大部分公司所需的场景,就是交易记录、信息保存等。条件限制目前是每个节点只能在腾讯云主机上。


3 百度区块链

https://chain.baidu.com/

注册了,但是审核没下来,估计是他们放假了。看样子和腾讯的差不多。

4 布比区块链

http://www.bubi.cn/


这个具备可视化操作,看起来也比较简单。没看到SDK和文档,应该是收费的。注意,就这一个可能是收费的,其他的都是免费的。

5 ChainSQL

http://www.chainsql.net/index.html


这个原理和腾讯区块链类似,是直接对外提供类似于数据库操作那样的SDK来操作区块链。


以太坊先不提,我对它那个开发语言很没兴趣,对于不提供java sdk的不做讨论。

腾讯和ChainSQL都是提供了客户端,需要安装到自己主机上,启动后就相当于拥有了一个区块链数据库了,很是方便。

这些公司都是封装了底层的文件存储、查询、通信等等那些复杂的操作,对外公布简单的数据操作接口,形成一个SaaS系统。这样很多公司就可以基于此,完成联盟链的创建,让自己的一些客户联盟共同维护这个链,形成数据共享。

需要准备好服务器,安装他们提供的客户端,然后就可以开心的使用区块链了。

如果你觉得不想使用这些第三方平台,想要自己来完成实现一个区块链平台,或者自己也要做一个他们那样的平台。那么也有一些开源的项目可供参考

Java的:https://github.com/tronprotocol/java-tron/tree/master

这篇文章里也介绍了一些:https://yq.aliyun.com/articles/60443







  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
联盟链区块链浏览器的设计通常需要考虑以下几个方面: 1. 用户界面:浏览器应该具有直观的用户界面,使用户能够轻松地浏览和查询区块链上的数据。这可能包括搜索功能、过滤和排序选项、图表和图形展示等,以帮助用户更好地理解和分析区块链数据。 2. 区块链数据展示:浏览器应该能够展示区块链上的所有数据,包括区块、交易、智能合约等。每个区块和交易的详细信息应该能够被查看,包括时间戳、交易金额、参与方等。智能合约的源代码和编译后的字节码也应该可供查看。 3. 账户管理:浏览器应该允许用户管理他们的账户信息,包括生成新账户、导入/导出私钥、查看账户余额和交易历史等。 4. 权限控制:联盟链通常会存在权限控制机制,浏览器需要支持相应的权限管理功能。这可能包括角色和权限定义、用户身份验证、访问控制列表等。 5. 智能合约交互:浏览器可以提供一个界面,使用户能够与智能合约进行交互。这可能包括调用合约方法、查看合约状态、部署新合约等功能。 6. 数据可视化:为了更好地理解区块链数据,浏览器可以提供数据可视化功能,例如图表、图形或地图展示。这有助于用户更直观地分析和理解区块链数据。 7. 安全性:浏览器应该采取必要的安全措施,保护用户的账户和数据安全。这可能包括加密存储、使用安全的网络传输协议、防止恶意代码注入等。 8. 扩展性:浏览器应该具备一定的扩展性,允许开发者根据需要添加新的功能或模块。 以上是联盟链区块链浏览器设计的一些考虑因素,具体的设计会根据不同的需求和使用场景而有所差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯泪小武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值