Moonbeam:开发者的多链教科书

news2024/9/23 15:28:13

了解波卡的技术架构,只需掌握3个关键词:

  1. Relay Chain(中继链):Polkadot将自身视作多核计算机,承载区块链底层安全架构的辐射中心。
  2. Parachain(平行链):在“Layer 0”架构之上,不同功能的专业化独立区块链能自由运行,成为平行链(Layer 1)。这些平行链拥有Layer 0提供的网络安全,同时兼容普通区块链的开发平台功能。
  3. XCM:为了实现链与链之间的交流,Polkadot提出了跨共识信息格式XCM,提升不同链之间的流动性、业务场景拓展和用户体验。

为什么选择Moombeam?

简单来说,Moonbeam是基于Polkadot Substrate框架开发的兼容以太坊智能合约平行链。

Moonbeam面对多样化的公链架构,从链结构安全性的角度选择在波卡生态中构建以太坊开发环境,以降低主流开发者进入波卡生态的技术门槛。

通过Substrate框架,Moonbeam将以太坊虚拟机(EVM)纳入其中。此外,还增加了各类Web3 RPC支持工具,打造出无缝的ETH JSON RPC集成体验,包括Solisidty开发者常用的HardHat、Foundry、MetaMask或Ether.js。

为了优化开发体验,Moonbeam还增加了一些成熟的开发者工具库,如Gnosis Safe、Etherscan、Chainlink等,类似于以太坊主网上的波卡分网,可以找到以太坊上具备的功能。

此外,Moonbeam还设计了统一账户,使用H160格式的链上账户可以同时实现波卡特色的治理/质押功能和EVM开发环境内的链上交互。

让开发者在使用具备EVM兼容性的同时能感受到与波卡交互的优势,Moonbeam专门上线了各类预编译库,可以自由调用以太坊API的同时获取Substrate层的功能。例如,直接通过智能合约与波卡生态的XCM进行交互,或者打包多笔交易,省去终端使用者需要多次授权和支付Gas费的麻烦。

跨链信息传递

在多链世界的背景下,共识也变得非常重要。

我们都清楚,在家庭和谐相处的前提是对某些原则有着一致的共识,而在区块链类似的场景中也同样存在,只是更加复杂。链上的共识由一群互不认识的验证者履行,无论是PoS还是PoW,他们共同维护公链的区块生产和稳定性。

需要注意的是,不同的公链的共识层是独立的。如果希望链之间进行交流,需要借助更多的辅助外力,比如我们熟悉的原生跨链概念 — — General Messaging Passing Protocols(GMP)。GMP可以将A链上的信息安全准确地传递至B链。一旦信息传递到B链,位于B链的共识层将确认收到的跨链信息,并在链上做出相应的批准和确认。当然,跨链信息格式不仅限于双链互跨,未来有望实现短时间内的多链互跨,从而提升链上的交互效率和用户体验。

在波卡生态系统中,跨链将变得更加容易,毕竟平行链之间已经建立了相互信任的前提,这些平行链在同一个共识体系下进行验证(共享安全的来源)。波卡中的特色传输方式是XCM!

XCM可以简单理解为一种信件的格式,包括问候、正文和结尾署名,这是大家都能理解的信件格式。XCM的标准和格式能够灵活地应用于不同的跨链场景,例如:

  • 远程指令的跨链执行,通过XCM格式将A链的指令传输到B链进行执行。
  • 将A链的原生Token传输到B链,为Token构建更多的应用场景。

XCM范例:远程执行

举一个例子,这样大家会更清楚XCM是如何工作的。

假设Alice希望将10个token从A链传输到B链。

第一步:10个token从A链传输至A链的主权账户,并通过XCM格式发送一条通知信息,准备将这10个token转入B链。

第二步:B链接收到这条XCM格式的信息,并接受了10个token跨链传输的指令。

第三步:一旦A链得知B链确认了10个token跨链传输的指令,A链将这10个token转换为带有XC-格式的token,并将这些转换格式后的token放入一个“Holding Register”中。这个“Holding Register”类似于一个购物车,用于联系两条链之间的token运输。

第四步:在传输这10个XC-token的过程中,每一步都需要支付一定的gas费用。这些费用会直接从这10个XC-token中扣除,所以实际得到的token数量会小于10个。

第五步:一旦“Holding Register”将这10个XCtoken传输到B链,它会找到B链上接收这10个XCtoken的账户地址,并向该地址请求接收token。

什么是XC-Token?

此外,XC-token还可以用于远程质押token、远程跨链参与治理等等。

你可能会问,XC-token是什么?这是Moonbeam跨链生态的一种特有的token格式,被称为XC-20。XC-20格式类似于我们熟悉的ERC-20格式,可以与以太坊API进行交互,同时还可以与Substrate API进行交互。简单来说,XC-20格式的token可以直接在波卡的EVM兼容链上使用,而不需要进行token格式的重组。

多链互跨使项目方和公链生态紧密依存。公链提供开发组件,方便项目方将产品扩展到多条链上。这种跨链方式不仅成本低,产出高,对开发者而言一举多得。

跨链意味着能快速获取多链上的用户和流动性。投放原生token到其他公链,吸引更多用户参与生态系统,增加token的使用率和价值。跨链还让项目方占据不同公链的生态优势,建立品牌形象和用户群体,扩大市场份额。

对公链而言,跨链扩展了公链的跨界应用场景。提供开发组件,吸引项目方将产品扩展到自己的链上,增加用户和流动性。公链与项目方合作相互依存,公链提供技术支持和生态资源,项目方优化产品性能和使用体验。通过技术集成,公链增加生态规模和影响力,提升市场竞争力。

多链互跨为项目方和公链生态带来机遇和挑战。项目方通过跨链扩展市场份额和用户群体,公链通过合作增加生态规模和影响力。随着跨链技术的发展,多链互跨将成为未来区块链发展的重要趋势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

现货白银投资中的头寸是什么

头寸是现货白银市场上的一个投资术语。建立头寸就是建仓的意思,投资者所持有的头寸也叫敞口。投资如果看涨做多,就是持有多头头寸,如果看跌做空,就持有空头头寸。计算交易的头寸的大小并不复杂,关键是在于投资者要设定…

Linux(New)---历史与虚拟机安装CentOS7.6

前言 其实之前已经学过一遍Linux了,但是感觉学的不够深入和成体系(某节的教学视频不完整),所以这次打算完整的跟一遍韩顺平老师的Linux课程,Linux从入门到精通,就从现在开始! Linux历史概述 L…

【音频分离】demucs V3的环境搭建及训练(window)

文章目录 一、环境搭建(1)新建虚拟环境,并进入(2)安装pyTorch(3)进入代码文件夹,批量安装包(4)安装其他需要的包 二、数据集准备(1)下…

flask中的flask-login

flask中的flask-login 在 Flask 中,用户认证通常是通过使用扩展库(例如 Flask-Login、Flask-HTTPAuth 或 Flask-Security)来实现的。 本文详细地解释下 Flask 中的用户认证。这里是用 Flask-Login 插件为例,这是一个处理用户会话…

count(列名) ,count(1)与count(*) 有何区别?

Mysql版本:8.0.26 可视化客户端:sql yog 文章目录 一、Mysql之count函数简介二、count(列名) ,count(常量)与count(*) 有何区别?2.1 统计字段上的区别2.2 执行效率上的区别 一、Mysql之count函数简介 👉表达式 COUNT(…

DP-GAN损失

在前面我们看了生成器和判别器的组成。 生成器损失公式: 首先将fake image 和真实的 image输入到判别器中: 接着看第一个损失:参数分别为fake image经过判别器的输出mask,和真实的label进行损失计算。对应于: 其中l…

动态规划之树形DP

动态规划之树形DP 树形DP何为树形DP 树形DP例题HDU-1520 Anniversary partyHDU-2196 Computer834. 树中距离之和 树形DP 何为树形DP 树形DP是指在“树”这种数据结构上进行的动态规划:给出一颗树,要求以最少的代价(或取得最大收益&#xff…

Vue-前端工程化

前后端开发模式 早期开发是前后端混合开发 即前后端代码写在一个工程中 前端写完给后端,后端发现问题反映给前端,后端就需要懂全栈 YAPI(接口在线管理平台) 一个接口管理和编辑平台 现在已经没有在维护了 还有mock服务 就是根据…

leetcode 912.排序数组

⭐️ 题目描述 🌟 leetcode链接:排序数组 思路: 此题如果使用冒泡插入选择这些时间复杂度 O ( N 2 ) O(N^2) O(N2) 的算法会超时,使用快排 优化也过不去,因为里面有一个测试用例全是 2 即使加了三数取中也会是 O (…

Java I/O模型

目录 一、介绍I/O 二、Java中常见的I/O 1.BIO,同步阻塞IO 2.NIO,同步非阻塞IO 3.AIO,异步I/O 三、三种IO的区别 一、介绍I/O 1.I/O(Input/Output)的即为输入输出。 2.从计算机的角度来看:在冯诺伊曼…

Vector - CAPL - 诊断模块函数(连接配置)

CanTpGetMaximumReceiveLength & CanTpSetMaximumReceiveLength 功能:获取或设置该节点接收数据时可接受的最大长度;如果指示较长数据块的第一帧到达,则溢出 (FC.Ovflw) 流状态流控制帧将被发送回发送器。 注意:CANoe 支持高…

NOsql之MongoDB入门分享

目录 一、MongoDB简介 1、概念理解 2、yum安装部署 3、二进制安装部署 4、配置文件解析 二、MongoDB基本管理 1、登录操作 2、管理命令 3、用户管理 一、MongoDB简介 1、概念理解 关系型数据库(RDBMS:Relational Database Management System) MySql、Ora…

YOLO实战1.2-YOLOV5人脸检测

上个项目实现了车牌的检测和识别,这次实现一个简单的人脸检测(加口罩)项目 一.数据集 使用1200张图片进行训练 400张进行测试 二.各项指标 三.效果

SpringCloud Gateway 在微服务架构下的最佳实践

作者:徐靖峰(岛风) 前言 本文整理自云原生技术实践营广州站 Meetup 的分享,其中的经验来自于我们团队开发的阿里云 CSB 2.0 这款产品,其基于开源 SpringCloud Gateway 开发,在完全兼容开源用法的前提下&a…

云服务器开放端口

文章目录 云服务器开放端口1. 云服务器后台开放端口2. linux系统开放端口2.1 查看防火墙状态2.2 开启防火墙2.3 开放端口(以端口2000为例)2.4 重新载入防火墙2.5 查看已开放的端口2.6 重启防火墙2.7 关闭端口 云服务器开放端口 本篇文章主要以阿里云服务…

Pandas.rank() 函数详解

文章目录 Pandas.rank() 函数详解一、参数解析二、案例分享默认排名降序: ascending Falsemethod minmethod maxmethod firstmethod densena_optionbottompct True Pandas.rank() 函数详解 一、参数解析 method:指定排名时的策略。 默认值为 average&#x…

[python]conda激活环境后pip -V显示在base路径

正常激活环境后pip -V是在激活环境路径,比如 但是我的突然确为 D:\anaconda3\lib\site-packages里面,百思不得其解,后来发现是我在环境变量加了PYTHONHOME环境变量,如果你的环境变量有PYTHONHOME或者PYTHONPATH请删掉试试。 此外…

Java并发系列之二:悲观锁机制

什么是锁 在并发环境下,会出现多个线程对同一个资源进行争抢的情况,假设A线程对资源正在进行修改,此时B线程此时又对资源进行了修改,这就可能会导致数据不一致的问题。为了解决这个问题,很多编程语言引入了锁机制&…

Stephen Wolfram:机器学习与神经网络训练

Machine Learning, and the Training of Neural Nets 机器学习与神经网络训练 We’ve been talking so far about neural nets that “already know” how to do particular tasks. But what makes neural nets so useful (presumably also in brains) is that not only can t…

【前端知识】React 基础巩固(四十六)——自定义Hook的应用

React 基础巩固(四十六)——自定义Hook的应用 一、自定义Hook的应用 自定义Hook本质上只是一种函数代码逻辑的抽取,严格意义上而言,它并不算React的特性。 实现组件创建/销毁时打印日志 import React, { memo, useEffect, useState } from "react…