编者按:本文来自区块链大本营,作者:dfuse,Odaily星球日报经授权转载。在本文中,我们将重点介绍以太坊上复杂的交易生命周期;开发者在这些情况下尝试让dapp提供理想的用户体验的挑战;以及dfuse是如何帮助突破这些挑战的。每当一笔交易提交到以太坊网络上时,它会经历一系列相当复杂的状态,而并非每个状态转换都是向前的——交易可能回滚到较早的状态、可能被另一个交易替换、还可能完全分叉。在dapp中跟踪交易的进程并为用户提供良好的体验是具有挑战性的。如今,许多基于以太坊的dapp都可以提供吸引人但还是相对静态的用户体验:应用能显示某个时间点上的交易状态,但必须通过刷新才能得到信息的更新。市面上有相对更动态的接口,但提供的数据粒度还是不够细,或者/同时以高网络流量为代价,在其底层区块链节点上施加高负载。接下来我们讨论下造成这种情况的原因,以及如何以高效利用网络和服务器的方式、细粒度的交易状态更新在dapp中提供符合现代标准的、流畅的用户体验。当今的Dapp接口
Blur宣布bid防作弊器将于本周上线:金色财经报道,NFT交易市场Blur发布推特称,本周Blur将有两个重要变化:1、竞标者必须先取消他们的竞标,才能接受更低的竞标。明天开始生效。2. bid防作弊器的第 1 阶段将于本周晚些时候上线。[2023/5/11 14:56:37]
每个dapp都需要向用户显示正在执行的交易的区块链底层信息——无论是Ether转账、代币转账还是智能合约调用,而当下的许多dapp的界面显示这些信息的时候显示的是区块链在单个时间点上的状态。用户在交易过程中经常需要更新信息,因此dapp会在界面上放一个“刷新”按键,或者用户需要直接点击浏览器的刷新按钮来获取更新。有些用户体验更成熟的dapp会向用户显示交易的动态更新。它们会在后台轮询AJAX请求,重复检查其以太坊节点是否有更新,然后将更新发布到前端。这么做是非常复杂的,因为dapp必须进行大量API调用,查询许多不同的数据源,从而才能从头到尾的跟踪交易的生命周期。这种处理方式会有弊端:要么交易的更新不频繁、信息粒度大,导致用户想去重复点击“刷新”而去更快地获取更新;或者dapp必须高频轮询区块链,从而产生大量网络流量,在底层区块链节点上施加高负载。为什么不使用基于链上事件的接口?
SBF名下此前挂牌出售的华盛顿特区联排别墅已从市场下架:2月5日消息,此前以328万美元挂牌出售的Sam Bankman-Fried(SBF)名下位于华盛顿特区的联排别墅,因是挪用客户资金购买而被要求从市场上下架。
财产记录显示,该房产由SBF的兄弟Gabriel创立的非营利组织 Guarding Against Pandemics 持有,该组织使用该公司认为被挪用的客户资金购买了价值数百万美元的资产。该房产的销售代理人表示,目前该房产还未收到过任何的正式购买报价。(《华尔街日报》)[2023/2/5 11:48:29]
对于dapp开发人员,做静态页面或轮询一直是仅可用的两个选项,这反映了以太坊节点提供的API的性质。如果有一个基于链上事件的接口,可以接收推送到链上的交易状态更新并实时反馈用户,dapp才能提供更好的用户体验——而标准的以太坊节点并不提供丰富的实时交易数据。以太坊节点确实提供了链上事件的流读取功能,但功能有限,只能通过使用以太坊的JSON-RPC接口的PUB/SUB功能才可用。PUB/SUB接口允许dapp接收一些事件类型的通知:newHeads——每次新的区块header附加到链上logs——根据指定的条件过滤匹配包含在新导入的区块中的日志newPendingTransactions——进入待处理状态并被节点中可用密钥签名的所有交易的哈希syncing——指示节点何时开始或停止同步根据这些事件类型获取信息很受限,dapp无法通过它们跟踪交易的完整生命周期。以太坊交易生命周期
Public.com计划在全球推出交易工具,并提供加密货币交易:金色财经报道,Tiger Global支持的新经纪商Public.com准备将其平台扩展到美国以外的地区,有报道称它正在寻求收购欧洲竞争对手。此外,Public.com除了提供传统的股票和ETF,该公司计划还涉足加密货币和NFT,如狗狗币、以太坊和比特币。[2022/11/3 12:14:18]
以太坊交易是有复杂的生命周期的。每个交易都会经过多个的state,在整个过程中经历各种state的变更,可能前进也可能回滚。交易状态
以太坊交易从提交上链到入块,它会经历如下的一系列状态:UNKNOWN:一个未被网络检测到或未被处理的交易被定义为处于UNKOWN状态。PENDING:交易在等待矿工拣选和处理,位于我们所称的mempool中。矿工通常会首先选择gas价格较高的交易,因此gas价格较低的交易可能会长期处于PENDING状态。Gas价格最低的交易可能永远都不会被选中,那就会导致它们无限期地处于PENDING状态。IN_BLOCK:当矿工成功选择交易并将其处理进入区块,交易将进入IN_BLOCK状态。如果交易进入IN_BLOCK状态,但它所在的区块分叉了,则交易可能回到PENDING状态。REPLACED:在以下两种情况下,交易可以从PENDING状态变为REPLACED状态:另一笔来自同一发送者且有相同nonce的交易进入了IN_BLOCK状态,或另一笔来自同一发送者且有相同nonce但gas价格高出12%的另一笔交易进入了PENDING状态下图显示了这些状态以及它们之间的过渡。
美国参议员推出《加密货币网络安全信息共享法案》草案:9月29日消息,美国参议员Marsha Blackburn与Cynthia Lummis推出一项新的法案草案《加密货币网络安全信息共享法案》(Cryptocurrency Cybersecurity Information Sharing Act),旨在为加密货币公司报告网络安全威胁提供指导方针。
据悉,该法案将修改2015年的《网络安全信息共享法案》,将加密货币公司包括在内并赋予他们更多的法律灵活性,以便他们与联邦当局共享信息,包括向处理数字资产的公司报告网络威胁的自愿报告准则,旨在提供一套更新的监管指南,解决滥用加密货币以隐藏非法行为的问题。[2022/9/29 22:39:31]
比特币闪电网络容量突破4,000枚BTC,创历史新高:6月10日消息,据1ml最新数据显示,比特币闪电网络容量已突破 4,000 枚 BTC,创下历史新高,截至目前为 4,001.21 BTC,约合 119,132,577.78 美元,30 日增幅为 5%;此外,比特币闪电网络通道数量达到 85,370 个,30 日增幅为 1.1%,节点数量为 17,650 个,30 日增幅 1.20%。比特币闪电网络容量在 2022 年 3 月 14 日突破 3,500 BTC,这意味着在不到三个月内增加超过 500 枚 BTC。[2022/6/10 4:15:24]
States转换
如上图所示,状态之间的转换也是有名称定义的。POOLED:处于UNKOWN状态的交易进入等待矿工选择的交易池,被称为POOLED并进入PENDING状态。处于REPLACED状态的交易,如果替换条件不再成立的低gas价格的交易被分叉,而替代它且具有相同nonce和发送者的交易仍在网络上游动),则也有可能再次变为POOLED状态。MINED:被挖矿的交易是由矿工处理过的交易,这过程会创建一个区块。一旦被挖,交易就被算做处于IN_BLOCK状态。由于以太坊网络的点对点性质,从一个指定节点的角度监测,交易可以从UNKNOWN状态直接进入到IN_BLOCK状态,无需明显地通过PENDING状态。出于相同的原因,从一个指定节点的角度监测,交易也可以不通过PENDING状态而直接从REPLACED状态转换为IN_BLOCK状态。REPLACED:从PENDING状态进入到REPLACED状态的交易也被称为REPLACED。请参见文中交易状态中列出的REPLACED状态。FORKED:当已被挖的交易处于被网络撤消的区块中时,就是产生了被分叉的交易。那个区块内的所有交易将接连被分叉,从IN_BLOCK状态转回到PENDING状态。CONFIRMED:处于IN_BLOCK状态的交易会在每次它后续的子区块被挖时而被确认。如上所述,以太坊上的交易的生命周期是非常复杂的,这使得dapp很难去准确的跟踪它并向用户提供无缝式、流畅的更新。毫不费力地跟踪交易状态
dfuse平台为提供了一个丰富的、能够串流监听的接口,该接口支持实时详细跟踪以太坊交易的生命周期。dfuse以太坊交易状态跟踪器API使开发人员能够提交以太坊交易,然后在同一数据通道上即刻获取精细的状态更新,跟随交易在其整个生命周期中的进展。使用GraphQL,您可以实时监听指定类型交易的变化,同时可以精确指定每次交易发生变化时您想收到的数据。dfuse平台处理了跟踪交易这项工作的复杂性,并会在事件发生时实时传输给dapp。这样一来,您无需撰写和运行复杂的后台逻辑和重复进行轮询,也不会浪费带宽和多次运行同样的查询。简单地监听您所需的更新,然后在界面中把这些更新反馈给用户。下面的动图展示的是一个经历了这种复杂生命周期的交易——它经历了八个状态转换,最后才被包含在区块中并得到确认。
如果没有使用dfuse,dapp则必须一次次的访问区块链以捕获交易经历的所有转换再更新给用户,并且后端代码需要去准备好应对每个状态转换。使用dfuse,dapp仅需要通过单个连接获取串流更新,dfuse会为您跟踪交易经历的各种曲变化,直到它的命运被最终确定。为先进的Dapp提供的现代化平台
LifecycleAPI只是dfuse平台的重要的一小部分。dfuse为dapp提供了完整的现代化基础架构层,即:快速,可扩展,提供对区块链事件的高度精细的串流监听,支持主动的Webhook形式的回调,具有业内最高的可靠性。
头条 BTC跌至8000USDT附近3月8日晚间至3月9日凌晨,BTC出现大幅下跌,从8700美元一路下跌至8200美元附近。凌晨,BTC曾短线跌破8200USDT,一度至8193.18USDT.
1900/1/1 0:00:00沙特石油战“带崩了”美股,也“带崩了”全球金融市场。而比特币等一众主流币,在减产行情预期与比特币“数字黄金”的加持下,投资者或多或少忽视两者对加密市场的负面影响,甚至认为传统金融市场的崩溃反而有利于加密市场发展,麻痹大意下灰犀牛正缓缓.
1900/1/1 0:00:00美股两个月内4次熔断,已经创造了历史。所有人都在惊呼活久见,这个所有人甚至包括了桥水的达里奥跟巴菲特。网传桥水自己也爆仓,还有巴菲特也开始亏钱.
1900/1/1 0:00:00周末的行情终于给市场一丝喘息的机会,近日市场情绪也逐渐反映出来传统金融市场和币圈的区别。从传统金融市场而言,大多数投资者往往将在大跌之后的反弹看作是出逃的机会,但币圈投资者经历过深V走势后第一时间考虑的却是抄底,这点从行情到达3800.
1900/1/1 0:00:00头条 迈克尔·布隆伯格退出美国总统大选,曾提出为加密货币提供监管框架由于在超级星期二表现糟糕,彭博社创始人迈克尔·布隆伯格退出2020年总统大选.
1900/1/1 0:00:00长久以来,“交易所”一直都是币圈最火的赛道之一。如同当年团购时代的万团大战,在上一轮牛市里,币圈也曾一口气涌现出了上万家的交易所,一直到今天仍然是每天都有新交易所诞生,每天也都有老的交易所倒下.
1900/1/1 0:00:00