介绍
- 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>
网友评论