• substrate轻松学2:区块链与substrate


    从2008年中本聪发布《比特币:一种点对点的电子现金系统》开始,区块链技术开始进入我们的世界,区块链防篡改、去信任等等概念更是被炒的热火朝天。那么什么是区块链,它能做什么?到底有没有前途?这不是我们这节要回答的问题(这个机灵是不是抖的很ok?😃)我们这节要讲的,是一个区块链系统应用的大体表现形式,有些概念或者表达可能不太准确,但是没有关系,这节的内容只是为了帮我们能更好的学习substrate而已。

    1 区块链系统是什么样的

    很多资料都会提到这点,区块链是一个分布式的数据库,本质是一个分布式的账本。既然是分布式的,那当然具备分布式的特征,既然是数据库,是账本,那么当然能够记录数据。关于区块链是怎样记账的文档很多,此处我们不再累述。

    要学习substrate,区块链系统具体是怎么去信任、防篡改的,我们可以不用了解太深,但是区块链系统大概长什么样子,是必须要知道的。就像我们要用积木搭一个城堡,可以不用知道从头开始建城堡的实际步骤,但是城堡的大概样子还是要知道的,否则即使有积木也不知道怎么搭。

    1.1 区块链的大体样貌

    下图就是区块链系统的大体样貌(表现形式)。
    在这里插入图片描述

    从上图中,我们可以看出区块链的几个特点:

    • 是一个分布式的系统;
    • 每个节点都有一个账本;
    • 每个节点的账本都基本上按照同样的逻辑记账;
    • 用户可以访问其中的任何一个节点就可以访问系统。(为了好理解,这里全是全节点)

    1.2 区块链程序的组织结构

    上面我们是用户试图看到的区块链系统的表现形式,这里我们看看从代码实现层面区块链的组成。下面是以太坊的架构图:
    在这里插入图片描述

    以太坊很具有代表性,大部分的区块链通常都是这个架构(所以这张图要好好记住,比较有代表性)。不过我们放这张图的目的并不是为了后面实现这张图里类似的组件。

    2 substrate与区块链开发

    如果没有substrate,那么我们开发一条区块链基本上是要自己来实现网络、共识、交易池等等组件的,也就是前面区块链架构里面的那些东西。而substrate里面就是像提供积木一样提供了这些组件,然后我们可以像搭积木一样根据需求搭建出一条条的区块链。

    因为要构成一条链,无非就是共识、网络、密码算法库、rpc这些东西,每个团队开发区块链的时候,可能用的东西都差不多,只有某些和自己特定业务相关的模块才会不一样。而substrate中已经提供了一些基础的东西以及一些写好的模块,开发者可以把现成的模块拿来用,只需要开发自己特定的逻辑就可以了。

    阅读substrate轻松学系列其它文章:
    substrate轻松学1:前言

  • 相关阅读:
    ant-design版本升级从V4到V5
    React组件渲染和更新的过程
    Java多线程:线程池详解(2)
    13这些权限废弃,你的应用受影响了吗?
    阿里新零售中的智能补货(I)— 库存模型
    drf从无到有学习Django Rest Framework框架——目录结构最佳实践、REST_FRAMEWORK、数据库配置
    Windows多线程编程
    相比SiteGPT,用HelpLook创建Chatbot有哪些优势?
    Mysql数据库管理员入门指南
    摊牌了,AI外呼是真的好用
  • 原文地址:https://blog.csdn.net/lcloveyou/article/details/125503824