美文网首页区块链
Substrate介绍: 如何运行和交互

Substrate介绍: 如何运行和交互

作者: 爱写作的harry | 来源:发表于2019-07-07 02:29 被阅读0次

    介绍

    • Substrate是parity创建的下一代区块链框架
    • 1.0使用Apache 2.0,商业项目可以不受限制的使用
    • 可以轻松地实现可升级,高效率,创新性的区块链项目
    • 可升级
      • 传统区块链都需要硬分叉或者软分叉
      • 很多项目每半年都有硬分叉要求,方便新功能发布
      • 每次分叉都困难重重,提心吊胆
      • Substrate实现无分叉升级
      • Substrate由两部分组成
        • runtime:包含链上逻辑(区块如何验证,区块头如何生成)
        • client:包含p2p, db, cli,交易池,出块逻辑,wasm解释器
      • 如何实现
        • runtime 代码,通过rustc编译成runtime wasm二进制文件,发送一笔治理模块升级的消息,会把二进制文件存到链上
        • 私有链有管理私钥就行
        • 公钥投票通过就可以升级
      • 升级成功
        • 节点同步区块
        • 获取runtime wasm二进制文件
        • 节点可以在同样的高度升级,保持节点共识一致性
    • 高效率
      • 设计角度以最好执行效率为出发点
      • rust保证安全又有最大自由度。rust内存安全,没有垃圾回收避免了性能问题,强类型系统编译时避免了错误
      • 内置的PoS避免了pow的挖矿高成本,带来了稳定的出块时间和高tps
      • 目前测试网最快确认时间2秒,最终可以控制在4秒内
      • 轻节点
        • Patricia Merkle Tree实现的Tier DB
        • 高效率,轻量级,去中心化,去信任化的方式,验证区块头和链上数据
        • 使得移动端,物联网端和网页端的轻节点实现的可能性
    • 创新性
      • 抽象的模块化接口
      • web assembly解释器使用,runtime可升级,也可以使用智能合约
      • 可以使用不同开发语言,go,c++runtime在开发
      • 第三方库,zero knowledge模块在开发
      • 定制模块,如共识机制,治理模式,p2p,地址格式,交易格式
      • 智能合约

    Polkadot生态圈

    Polkadot生态
    • Polkadot是parity基于Substrate开发的下一代区块链项目
    • PoC-2版本是Substrate的前身,从一个单纯的区块链框架,演化成一个跨链的生态
    • Polkadot是一个通过中继链连接的网络,为了实现跨链沟通
    • 支持私有链,公链,oracles等组件去信任化的交流
    • 包含了relay chain中继链,parachain平行链,bridge转接桥
      • relay chain:达成parachain之间的跨链交流
      • parachain实现业务逻辑,是独立的区块链,有自己的链上数据和交易处理,利用relay chain来保证安全
      • bridges让不在Polkadot中的独立链进行交流,如比特币和以太坊等
      • 架构
      • 目前relay chain的插槽100左右,超过了就需要通过bridges设置二级的relay chain

    启动节点

    安装rust

    curl https://sh.rustup.rs -sSf | sh
    

    安装substrate

    // 安装环境和工具,不会安装substrate本身
    curl https://getsubstrate.io -sSf | bash -s -- --fast
    
    // clone代码,从源码编译substrate
    git clone git@github.com:paritytech/substrate.git
    cd substrate
    git checkout v1.0
    
    ./scripts/init.sh
    ./scripts/build
    cargo build // 把之前的生成的wasm文件注入到编译结果中
    cargo build --release // 编译慢,执行快
    
    // 运行
    ./target/debug/substrate // run,默认加入测试网
    ./target/debug/substrate --dev // run,本地dev net
    // 也可以用cargo run
    cargo run   // 加入testnet
    cargo run -- --dev // dev net
    

    测试

    • 打开前端
    • 进入 polkadot.js.org/apps/#/explorer
    • 点击settings页面
    • 选择本地节点
    • polkadot.js.org/apps/#/explorer
      • ext 是18个0
    • 一个交易产生4个事件
    • 账户余额低于或等于500会被销户

    启动一个Node Name为harry的测试网节点:

    cargo run -- --name harry
    

    之后就可以在 https://telemetry.polkadot.io/#list/harry 找到这个节点了。

    如何创建项目

    curl https://raw.githubusercontent.com/paritytech/substrate-up/dcc2d521b6ba0ef4533dcc5cfc49ec290f9c62a9/substrate-node-new -sSf | sh -s <project_name> <author>
    

    相关文章

      网友评论

        本文标题:Substrate介绍: 如何运行和交互

        本文链接:https://www.haomeiwen.com/subject/snpvhctx.html