区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > Bitcoin > 正文

DAPP:在以太坊上开发Dapp的瓶颈和门槛有哪些?_数字钱包app下载安卓

作者:

时间:

编者按:本文来自区块链大本营,责编:Carol,Odaily星球日报经授权转载。去中心化应用程序被广泛认为是可以为像银行业和游戏业等领域带来颠覆性创新的。但是,即使是最有创新性的解决方案,如果不能满足消费者的期望,也不会被认可。消费者需要的是流畅和成熟的用户体验,而实现这个目标对以太坊的Dapp开发者来说又是一个重大挑战。本文将概述典型的Dapp架构,并指出当今标准以太坊堆栈的一些固有局限性,正是这些局限性导致开发者难以打造出能有说服力用户体验。接着会介绍下以太坊基础设施领域中的一些能帮助开发者克服这些挑战的创新。

经典的以太坊Dapp架构

一般来说,以太坊上的Dapp包含三个主要部分:智能合约,通常以Solidity编写,使用TruffleSuite等框架构建并部署在以太坊区块链上。前端代码,用Java编写的。后端——一般是用标准的以太坊区块链节点。前端与后端的通信一般是使用节点提供的JSON-RPC或GraphQLAPI。还有各种促进前端与Eth节点的通信的库,其中最受欢迎的是web3.js和ethers.js。也还有许多其他语言的web3库。自建后端节点

Chainlink:协议及服务将继续在以太坊上运行,不支持PoW等分叉:据官方消息,Chainlink发文表示,在以太坊合并期间和合并之后,Chainlink协议及其服务将继续在以太坊上运行,不支持以太坊网络的分叉,包括PoW分叉,这与以太坊社区将链升级为PoS的决定一致。对于不确定其围绕合并的迁移策略的以太坊开发人员和DApp团队,建议暂停智能合约操作,以避免不可预见的事件并帮助保护用户。[2022/8/8 12:08:54]

在以太坊的早期,开发者必须运营自己的以太坊节点。Dapp发布了以后,他们还必须运营生产级别的节点。运营区块链节点这项工作繁重,也会对开发者的效率造成负担。节点服务提供商

上述的这个挑战促成了一些例如Infura,以及相对新的Nodesmith、Quiknode、Blockdaemon、Ethernode、Chainstack、Alchemy、CloudFlare等公司的“节点服务”平台的兴起。这些平台为开发者提供了基于云端的以太坊节点,从而节省了开发者运营节点的精力。用于开发和生产的解决方案。这些平台可为开发者分担基层操作系统和节点软件本身的系统管理,例如补丁和更新。

Coinbase将在以太坊Gray Glacier硬分叉期间进行维护,部分功能无法访问:6月29日消息,Coinbase宣布在以太坊Gray Glacier硬分叉期间,需要对Coinbase.com、Pro、Exchange、Prime、Commerce和Custody的ETH/ERC20进行维护,发送将暂时不可用,接收将延迟,买卖和交易不会受到影响,Coinbase NFT的部分功能在2-3小时内无法访问。[2022/6/29 1:38:42]

以太坊节点的固有局限性

即使节点服务能成功地替代开发者担任系统管理员的职责,它无法帮助开发者实现的用户体验去构建更好的Dapp,这是因为来自节点服务的架构以及以太坊节点支持的JSON-RPC和GraphQL接口的固有局限性。主要的局限性包括:1、观测到的state信息不一致为了扩展到单个节点的容量之上同时提供更高的可靠性,作为服务平台的节点是通过负载平衡器提供对节点池的访问的。由于这些节点中是都作为以太坊网络中的对等节点自主运行的,因此当信息在通过网络传播的某一个时刻,不同的节点可能处于不同的区块高度上,甚至处于不同的分叉上。这意味着Dapp可能收到区块链状态的信息是不一致的,因为它的请求获得的结果是由负载均衡器背后的不同节点提供的。节点服务平台通常试图通过负载平衡器上的会话粘性来解决此问题,总是会去尝试将指定前端的查询发送到同一个后端节点,但是这种方法在多种情况下会失败:当前端产生的请求多于单个后端节点能负担的处理量时;当网络问题导致前端与后端断开连接时,而且必须重新连接;多个节点服务平台会将不同类型的前端请求路由到针对该查询类型优化的不同后端节点组。那么由于前端经常访问多个后端节点,而这些后端节点获取的区块链状态与彼此不一致,因此Dapp很难处理链重组。向后追溯链历史的时候,Dapp可能突然发现它想找的父区块不存在了。那么Dapp开发者就不得不去专门写代码来解决这个问题。这样给Dapp增加了不必要的复杂性,并且可能导致呈现给用户的信息有出入。2、在区块链上搜索信息很慢、有局限性Dapp搜索交易或链上历史的能力受限,因为标准以太坊节点不适合支持精确搜索或执行实时数据的筛选式监听。想要以高性能的方式进行操作,我们需要对数百万个区块和交易做大量的索引,但是:以太坊节点仅索引交易执行发出的日志中的某些字段以太坊节点不索引内部交易的数据开发者不愿意添加额外的索引字段,因为每多一个索引字段每个交易的成本都会相对增加,会给合约的用户带来额外的费用以太坊节点使用Bloom过滤器执行搜索,因此它始终是模糊搜索,并且会产生伪阳性的匹配。精确匹配需要前端进行额外的处理,前端必须获取模糊匹配的整个区块或交易,对其再次检索而找到精确匹配的结果。这不仅需要开发者的精力,而且浪费了前端和节点之间的带宽可用的搜索语法非常有限——仅支持基本的选择以及简单的替换获取搜索结果的速度很慢——在大范围的区块中执行搜索可能需要几个小时JSON-RPC非常浪费带宽——返回的数据远远超出你所真正所需。GraphQL接口使用的带宽较少,但不提供串流传输功能3、缺乏原子性在大多数现代环境中,例如关系数据库,交易一般是原子操作,但在以太坊上不是。每个交易都会经过一系列状态的转换,在这个过程中可能遇到多种问题或失败。Dapp必须调用多个API,查询许多不同的数据源以便跟踪交易的生命周期,直至其完成。同样,这个负担就落在了前端代码上,通过重复轮询来弄清楚具体发生了什么,而Dapp的用户会因为Dapp执行所有这些额外的工作而经历延迟和需要刷新。4、节点是被动的以太坊节点是被动的,这意味着它们无法生成事件或回调和调用Webhooks。所有操作必须由前端来启动,而前端还必须轮询节点以获得更新的信息。以太坊节点的事件串流读取功能太有限,无法满足大多数Dapp的需求,并且仅在JSON-RPC接口中可用,在GraphQL接口上不可用。

以太坊开发者:正在以太坊上测试PoS,并将进行首次主网影子分叉:金色财经消息,以太坊开发者Marius van der Wijden在Twitter上表示,目前正在以太坊上测试PoS,并将进行首次主网影子分叉。

注:影子分叉是指在网络中添加与合并相关的字段进行分叉以实现模拟在现有的网络环境下进行压力测试。[2022/4/11 14:18:01]

重新思考Dapp的基础架构

dfuse提供的是一个更高级别的区块链API的平台,与区块链节点提供的原生API相比,它们可以更轻松地完成更多的工作。是为了赋予Dapp开发者所需的功能,使其能够通过快速、流畅的界面构建现代区块链应用程序,从而提供出色的用户体验的基础上而设计的。希望能通过平台,解决上述所有限制,打破传统以太坊节点的局限性。1、有一致性的视图dfuse是一个集成的超大规模数据平台,而不是在负载均衡器上的多个以太坊节点合集。dfuse平台在所有连接上、所有时间点上提供链的state信息。要么是看到一个区块,要么根本不去报告该区块。这样Dapp永远不会面对一个不一致的链状态视图,并且可以专注在它的主要功能上,不是去忙着验证区块链的细节。2、高速、细粒化的搜索使Dapp开发者能够以极细化的颗粒度、非凡的速度和效率来搜索区块链的历史记录,还能通过GraphQL、gRPC和Websocket界面实现实时筛选,串流读取。完全索引所有的Log字段——每个交易在Log中发出的所有数据都直接适用于高精度搜索。完全索引所有内部交易,从而在整个调用的树型结构中全面跟踪合约的操作索引不会给你的用户带来任何额外的gas费用——dfuse的索引是dfuse平台的一项集成功能,不会增加合约执行的资源成本搜索找到的是完全匹配的结果,而不是模糊搜索的结果。无需编写额外的前端代码来重复检验搜索结果,也不用浪费带宽去批量获取不需要的数据提供了一种结构化的查询语言,类似于Kibana或GitHub的查询语言,具有完整的boolean操作和直接深入你想找的具体交易或命令的能力提供出色的性能——可以在不到一秒钟的时间,按照指定的搜索条件,搜索全链历史记录,找到一组完全匹配的项通过GraphQL能提供简洁的响应,但又不牺牲串流功能,两全其美——我们的GraphQL界面提供了完整的实时过滤搜索,可为用户有效地提供动态更新无论以太坊网络上的流量如何,性能都是保持一致的3、原子操作提供了一个串流读取端点,该端点了解交易可能进入的所有复杂状态,并在其满足最终性时通知你。无需去费力地通过重复轮询或检查多个数据源去跟踪交易的状态,你只需要把交易推送上去并保持连接即可接收实时状态更新,从而也可以向你的用户提供交易的实时状态。4、有主动性的后端一个好的平台会为您提供了一个可以启动事件的主动后端。比如,可以根据你指定的精确标准调用你所选择的lambda函数。这让Dapp实现了异步的体系结构,数据更新可以通过多个通信渠道流畅、实时地发布给用户。5、一个为尖端Dapp打造的现代平台dfuse为你的Dapp提供了一个现代化的基础架构层,即:快速可扩展提供对区块链事件的高精度,细粒化的实时访问支持主动的Webhook形式的回调支持原子操作具有业内最高的可靠性所以,在以太坊上开发Dapp遇到以上问题时,可以尝试用不同的工具解决问题,只有在经历了产品打磨和用户培养后,才能促使更多精致、实用、成熟的Dapps面世。

USDC Treasury在以太坊网络增发超8249万枚USDC:Whale Alert数据显示,北京时间1月10日00:32-00:34,USDC Treasury在以太坊网络上先后增发两笔总计82491762枚USDC。[2021/1/10 15:46:22]

Tether在以太坊网络增发1.2亿枚USDT(已授权未发行):金色财经报道,Whale Alert数据显示,北京时间08月08日01:28,Tether公司在以太坊网络新增发1.2亿USDT,增发哈希为:0xb4c7a4f05dd14248aa01e4e5f05bf3d9aeefdbe12dc1b15e4566410e15e14ca2。对此,Bitfinex首席技术官Paolo Ardoino表示,以太坊网络补充了1.2亿枚USDT的库存。请注意,这是一笔已授权但未发行的交易,这意味着该金额将用作下一次发行请求的库存。[2020/8/8]

标签:APPDAPDAPP区块链数字钱包app下载安卓Dapp Token区块链dapp开发教程区块链技术

Bitcoin热门资讯
ADE:一文解析在 CoinList 平台销售的 Kadena 代币经济模型_kadena币能用显卡挖吗

编者按:本文来自区块律动BlockBeats,Odaily星球日报经授权转载。联盟链还是公链?这似乎是区块链里一个两难的选择题。「小孩儿才做选择,成年人全部都要.

ORL:币圈:2019我太南了_区块链

本文来自:哈希派,作者:LucyCheng,星球日报经授权转发。经历过股票等风险资产全线崩溃的2018年,大部分投资市场终于在2019年迎来复苏.

Kadena:最新全球央行数字货币指南_数字货币

编者按:本文来自01区块链,作者:雨林,Odaily星球日报经授权转载。1央行数字货币:七项优势与五大挑战国际货币基金组织在最新的博客文章中指出,发行央行数字货币存在七项优势并面临五项挑战,同时.

区块链:To B还是To C?腾讯、网易等大厂的生死抉择_DAPP

编者按:本文来自星传媒STARMEDIA,作者:雪穗,Odaily星球日报经授权转载。世上本没有路,但走的人多了便成了穷途末路.

EFI:DeFi趋势研究:Messari对于DeFi市场的总结与展望_HOODRAT

Compound,目前在所有借贷协议中,锁定抵押品的价值排行仅次于Maker,占据第二位,它已经吸引了顶级加密货币投资者的关注和投资.

EFI:2020年区块链行业可能出现的风险_DEFI

今天是2019年的最后一天,展望2020年,我们的心中充满了期待和好奇。《道说区块链》绝大部分话题都是关于数字货币投资的.