罗马帝国再次重生,但这一次是数字化的。
让我们回到 1500 年前,想象一下古罗马,那里有繁华的市场、角斗士游戏和战车比赛。但有一个问题,他们征服的地区有自己独特的规则、货币、语言和习俗,这可能会使治理和贸易变得复杂。
为了解决这个问题,他们开始努力修建道路、渡槽和桥梁,连接整个帝国,使贸易、旅行和日常生活比以往任何时候都更加顺畅。众所周知,罗马帝国是当时最伟大的帝国之一。
快进到今天的区块链世界,我们几乎回到了早期的罗马时代,当时的网络孤岛彼此之间难以轻松通信。罗马协议正是为此而生,它希望重现古代连接天才——但这次是在区块链上。就像古罗马修建道路和桥梁一样,罗马协议也在 Solana 和以太坊生态系统之间建立通道,以便 dApp 和资产可以在它们之间自由流动。这还是同一个罗马,但罗马袍子更少,科技更多!
Rome 协议是一种解决方案,它允许开发人员和用户在 Solana 区块链上运行基于以太坊的应用程序 (dApp),从而结合两个平台的优势。Rome 通过在Solana和其他基于以太坊的网络之间建立顺畅的链接,提供跨不同区块链进行快速、安全交易的工具。
通过 Rome EVM、共享序列器、Interop 和 DA(数据可用性)等组件,它允许开发人员构建可以在不同区块链环境中无缝运行的应用程序。
本质上,Rome 旨在将以太坊的生态系统带入 Solana,使用户无需离开一个平台即可与两个区块链上的应用程序进行交互。它支持跨链交易、公平的交易排序和高速数据处理,使去中心化应用程序更加灵活、高效和用户友好。
Rome 协议就像一座桥梁,让为以太坊构建的应用程序可以在 Solana 区块链上运行,让用户同时享受两全其美的优势。例如,如果您想在以太坊上构建 dApp,比如去中心化交易所 (DEX)或借贷平台,并希望将其扩展到 Solana 更快、更低成本的环境。借助 Rome,您可以将以太坊 dApp 带到 Solana,而无需从头开始重建它。
罗马有几个部分可以实现这一目标:
简而言之,罗马协议允许开发人员将以太坊的生态系统带入 Solana 的速度和可负担性,让用户享受跨不同区块链的顺畅交互,例如贷款、交易或质押,所有这些都在一次连接的体验中。
Rome Stack,来源;Rome Docs
罗马协议的使命是让区块链网络更具互操作性和模块化,解决当今区块链可扩展性和用户体验的一些关键障碍。
其目标是创建一个无缝、有凝聚力的生态系统,其中数据、资产和功能可以轻松地在不同的区块链之间移动,利用 Solana 和以太坊的独特优势。
罗马协议如何增强区块链之间的互操作性和模块化:
罗马协议实现了互操作性,允许资产和数据在不同区块链之间轻松转移。通过连接 Solana 和以太坊,它克服了孤立生态系统的限制,让每个链上的应用程序可以相互交互。
这种互操作性使跨链应用程序(例如去中心化金融(DeFi)平台)能够无障碍运行,从而增强了用户体验和流动性。
想象一下,如果一个国家的每个城市都有自己独特的货币和交通系统,人们出行或做生意会变得很困难。罗马议定书充当了国家系统,使货币和城市间交通标准化,使流动和交易变得无缝衔接。
通过强大的基础设施连接 Solana 和以太坊,Rome 旨在实现原子可组合性,即通过单一原子操作(全部或全部)跨区块链进行交易的能力。
资料来源:罗马文件
这种互操作性使一条链上的去中心化应用程序 (dApp) 能够与另一条链上的资产、数据或逻辑顺利交互,从而消除孤立生态系统造成的障碍。让我们来看看如何实现;
Rome 支持各种类型的交易,每种交易都针对跨链的特定交互而量身定制:
Rhea 交易:Rhea 交易将单个 rollup 交易封装在 Solana 交易中,这意味着交易直接在 Solana 的基础设施上执行。此设置非常适合简单的单 rollup 交易,这些交易不需要与其他 rollup 或链交互。
资料来源:罗马文件
Remus 交易:Remus 将多个跨 rollup 交易捆绑为单个 Solana 交易。这意味着所有 rollup 交易要么一起执行,要么一起失败,从而实现原子性。此设置对于涉及多个 rollup 的操作特别有用,例如跨 rollup DeFi 操作或捆绑支付。
资料来源:罗马文件
Romulus 交易:Romulus 允许在单个跨链交易中执行 rollup 和 Solana 原生交易的组合。此功能非常适合需要同时在 Solana 和以太坊 rollup 上进行操作的场景,例如跨链转移资产或执行涉及不同区块链生态系统的复杂 DeFi 策略。
资料来源:罗马文件
该系统确保原子性,即交易的所有部分要么全部成功完成,要么全部失败。例如,跨 Solana 和以太坊的套利交易只有在所有子交易都成功的情况下才会完成。
Rome Protocol 采用模块化区块链架构,将传统区块链组件拆分为专门的层。与所有功能(计算、共识和数据存储)都发生在一条链上的单片区块链不同,Rome 将这些层解耦。
这种方法使每个组件能够独立运行但又与其他组件同步,从而提高了灵活性和可扩展性。
可以将模块化区块链想象成一家拥有专门部门的公司,例如 IT、财务和客户支持。每个部门都独立运作,但为了公司的成功,他们无缝协作。同样,Rome 的模块化架构允许每一层都专业化并高效运行。
Rome Protocol 的架构是模块化的,旨在将区块链功能分解为不同的组件(例如计算、数据可用性和交易排序),从而使每一层都专注于其专门的功能。让我们来看看;
共享排序器 (Rhea)和Hercules:这些组件分别处理交易排序和状态推进,从而实现可扩展的独立处理。这种模块化方法不是在单个区块链层中处理所有内容,而是将任务分开,从而提高了速度和灵活性。
资料来源:罗马文件
数据可用性:Rome Protocol 利用 Solana 的高吞吐量和 Celestia 实现数据可用性,这意味着开发人员和应用程序可以选择最合适的数据存储和检索方法。这种模块化选项允许汇总独立配置其数据需求,同时受益于 Solana 的安全性和速度。
资料来源:罗马文件
模块化区块链架构是一种变革性方法,它将区块链功能划分为单独的专用层,每个层都专注于一个核心功能——例如数据可用性、共识、结算或执行。
这种模块化设置使每一层都可以独立优化,从而实现灵活性、可扩展性和跨链互操作性。Rome 对 Solana 的模块化利用了这些原则,创建了一个以 Solana 的速度和成本效益为基础的生态系统,同时扩展了与以太坊的功能和互操作性。
Rome 的模块化设计如何增强更广泛的区块链生态系统:
资料来源:罗马文件
互操作性意味着区块链协同工作,而模块化意味着区块链内功能的分离,这是未来区块链应用的基础。像以太坊这样的传统区块链由于需要在一条链上处理每笔交易和数据请求,因此往往难以实现可扩展性。罗马协议带来了模块化设计和可互操作的解决方案,允许由专门的系统管理单独的功能,例如用于交易处理的 Solana 和用于结算的以太坊。通过这样做,罗马协议可以优化性能并减少瓶颈。
罗马协议解决了区块链生态系统中的几个关键问题:
罗马协议允许与以太坊兼容的应用程序在 Solana 上运行并支持无缝跨链交易,从而实现跨区块链垂直领域的广泛用例。以下是罗马协议的功能将对现实世界产生影响的一些关键垂直领域:
Rome Protocol 通过将 Solana 的速度与以太坊的生态系统相结合,代表着向互联、去中心化未来的转变。凭借其模块化架构和对互操作性的关注,Rome 解决了当今区块链面临的关键挑战,为下一代区块链应用创建了一个强大、适应性强且用户友好的环境。
罗马协议不仅仅是一个技术解决方案,也是迈向更加集成、高效的区块链生态系统的基础性一步——在这个生态系统中,交易、数据和应用程序可以轻松地跨链流动。
原文:https://medium.com/@tempestgirl1/solana-ethereum-the-rome-protocol-bridge-4498227dbafa
随着本白皮书的发布,Neon EVM 引入了多项功能,以统一 Solana 与部署在 Neon 上的 EVM dApp 之间的用户体验。此版本遵循Solana 网络扩展方法中描述的愿景,并描述了 Neon EVM 基础设施的发展方式。
本文描述的概念将会在 SDK 中实现,具体如下:
点击此处阅读完整白皮书
Solana 和以太坊是领先的 L1 区块链之一,各自都拥有活跃的 dApp 生态系统和性能优势。然而,这两个环境尚未相互交互,主要是由于编程语言、开发工具和基础设施的差异。
虽然 Neon EVM 允许 EVM dApp 为类似以太坊的用户访问 Solana 代币,但之前的解决方案涉及多个钱包的管理。在 Neon EVM 上执行交易需要使用 secp256k1 椭圆曲线的 EVM 签名,因此必须使用 MetaMask 等 EVM 钱包。这一要求对习惯于 Solana 中使用的 ed25519 签名的 Solana 用户以及无法使用 Phantom、Backpack 和 Solflare 等 Solana 钱包的用户来说是一个重大障碍。
通过下面提出的解决方案,EVM 开发人员可以通过减少碎片化和简化入职培训来原生地利用 Solana 用户群。
白皮书介绍了 Solana 的各种原生功能。需要关注的五个关键功能包括:
为了消除 Solana 用户管理额外 EVM 钱包的需要,Neon EVM 修改了其交易验证流程以接受 Solana 的 ed25519 签名。此修改包括:
从技术上讲,Solana 用户的 EVM 地址 (ethAddress) 是使用 Keccak-256 哈希函数应用于 Solana 公钥 (solanaPublicKey) 得出的。地址派生公式为:
此方法采用哈希的最后 20 个字节来形成与 EVM 兼容的地址,从而确保唯一且抗冲突的映射。然后使用 Neon EVM 中的 Solana 原生加密库来验证 Solana 签名,从而确保安全验证。
Neon EVM 通过整合 Solana 和 Neon EVM 生态系统来解决流动性分散问题,使用户能够与兼容 EVM 的 dApp 进行交互,而无需进行不必要的资产转移。以前,用户依靠 NeonPass 将 SPL 代币从 Solana 钱包转移到 Neon EVM 账户,这使资产管理变得复杂,流动性也变得分散。现在,随着 ERC20forSPL 合约的引入,这一过程得到了简化,该合约无缝连接了两个生态系统。
拥有 Solana 钱包的用户通过关联代币账户 (ATA) 管理其 SPL 代币。Neon EVM 使用 Keccak-256 哈希将其 Solana 公钥映射到与 EVM 兼容的地址,从而创建一个关联的 Neon 账户,其中包含与 EVM 兼容的地址、Solana 公钥、交易计数器、链标识符和内部余额的字段。
当用户与 Neon EVM 上的 dApp 交互时,ERC20forSPL 合约首先检查其内部余额。如果余额不足,它会查询 Solana 上用户的 ATA 以检索必要的 SPL 代币。此过程消除了 NeonPass 转账的需要,并允许用户在 Neon EVM 中操作,同时将资产保留在 Solana 上。
高效的交易调度和执行管理对于流畅的用户体验至关重要。Neon EVM 实现了链上内存池来存储和管理已调度的 Neon 交易。这允许 Solana 用户直接从他们的 Solana 钱包调度 Neon EVM 交易,Neon 代理会代表他们检测和执行这些交易。
TreeAccount 是一个专用帐户,具有预定的 Neon 交易、余额和执行状态。它包括以下内容:
交易调度协议涉及用户向 Neon EVM 程序提交 Neon EVM 交易,该程序会验证并将其添加到链上内存池中。然后,Neon 代理会监控内存池并相应地执行交易。
对于超出 Solana 大小限制的较大交易,只有交易哈希存储在链上,完整交易会发送到链下 Neon 代理。这种方法可以实现可扩展性并高效处理较大的交易,而不会影响网络性能。
链上内存池增强了可扩展性,确保了交易完整性,并保持了状态更改的原子性。用户受益于高效的交易管理,开发人员可以利用此系统创建更复杂、响应更快的 dApp
为了克服 Solana 的即时状态应用和对交易还原的缺乏支持(这阻碍了 EVM 合约和 Solana 程序之间的复杂交互),Neon EVM 引入了 Neon 交易的受控树。该机制通过在树结构中组织交易来管理复杂的交互场景,其中每个节点代表一个 Neon 交易,父子关系定义执行依赖关系。
主要特点包括:
Neon EVM 采用了意图驱动执行,为用户和开发者提供了根据特定条件或市场状态执行交易的灵活性。意图被定义为指定执行条件的简单 EVM 代码,遵守静态调用规则(不能修改状态)。Neon 代理会在执行交易之前评估这些意图。如果条件不满足,则跳过交易,用户无需支付任何费用。
此功能可以实现:
基于意图的执行可以更好地控制交易执行,提高资源效率,并减少用户不必要的成本。它增强了 dApp 对实时情况的灵活性和响应能力。
征求反馈和协作:这份白皮书启动了 Neon EVM 的 Solana 原生演进,寻求不同视角的意见,并促进以太坊和 Solana 社区的开发者参与。
在这里,我们发布了第一稿,并邀请构建者社区积极贡献并开始评估您 dApp 上的实施情况。白皮书可在此处访问。
白皮书的第一个功能——即将发布的 Solana 签名钱包 SDK——已付诸实践。Solana 签名功能在 EVM 端已完成,并在代理端部分实现——目前正在测试和审核中。此外,敬请期待即将发布的用例和演示版本!
加入我们,在 Solana 上构建 dApp 的未来。立即探索 Neon EVM!
关于 Neon EVM
Neon EVM 是同类产品中的第一个,是 Solana 上的网络扩展,旨在将以太坊虚拟机 (EVM) 兼容性无缝集成到 Solana 的高性能生态系统中。通过在 Solana 的基础层内本地运行,Neon EVM 为以太坊开发人员提供了一种快速、高吞吐量的途径,可以在 Solana 上部署他们的 EVM dApp,而无需用 Rust 重写他们的合约。
有关 Neon EVM 和未来更新的更多信息,请访问neonevm.org并通过Twitter或Discord与社区联系。
原文:https://neonevm.org/blog/Enabling-Solana-Users-to-Access-EVM-dApps-Running-on-Solana
Solana Signature SDK 是一个以开发人员为中心的工具包,旨在将 Solana 钱包(例如 Phantom、Backpack 和 Solflare)集成到通过 Neon EVM 部署在 Solana 上的与以太坊兼容的 dApp 中。
随着 Solana 签名钱包 SDK 的发布,我们朝着实现 Solana 原生集成和简化 Solana 环境中与以太坊兼容 dApp 的用户交互迈出了重要的变革一步,正如我们的白皮书中所强调的那样。
Solana 签名钱包 SDK 工具包使开发人员能够构建 dApp,使 Solana 用户能够与部署在 Neon EVM 上的智能合约进行交互。与以太坊兼容的 dApp 历来依赖类似以太坊的签名 (secp256k1) 进行交易身份验证。这种依赖关系为 Solana 用户带来了障碍,要求他们使用 MetaMask 等其他工具并进行复杂的流动性转移。Solana 签名钱包 SDK 与 Neon Proxy 一起解决了这个问题。通过匹配 Solana 的 ed25519 签名方案和以太坊的交易要求,此 SDK 简化了钱包集成和跨生态系统的资产可访问性。
从本质上讲,此 SDK 简化了交易管理,如下所示:
通过抽象交易转换的复杂性并增强两个网络之间的兼容性,它允许开发人员专注于构建和与去中心化应用程序(dApps)交互,而不必担心底层基础设施障碍。
让我们深入了解细节、技术概述、代币管理流程、优势、局限性和未来前景。
Neon EVM Solana 签名钱包 SDK 是一种模块化且灵活的解决方案,旨在使开发人员和用户受益。
对于用户
对于开发人员
Neon EVM Solana 签名钱包 SDK 的一个突出功能是它能够使用 Solana 的 ed25519 签名系统验证 Solana 交易。这一增强功能对于确保通过 Solana 钱包(例如 Phantom、Solflare 和 Backpack)发起的交易在 Neon EVM 网络上准确、安全地处理至关重要。
验证过程在 Neon Proxy 中实时进行,它会在 Neon EVM 上执行任何交易之前检查 Solana 签名的真实性。通过原生验证 Solana 的 ed25519 签名,Neon Proxy 无需手动验证签名或使用中间层。这意味着交易可以安全地处理,延迟最少,确保每笔交易都经过身份验证并正确记录。
这种实时验证机制对于 Solana 钱包用户直接与部署在 Neon EVM 上的与以太坊兼容的 dApp 交互至关重要,而无需单独的身份验证方法或 MetaMask 等附加工具。
对于 SDK,为确保流畅的用户体验,两个关键关注领域包括:
继续阅读,了解 Neon Proxy 如何支持这一点,以及 ERC20ForSPL 合约如何管理 Solana 和以太坊兼容环境之间的代币余额和转移。
Neon Proxy 对于促进交互至关重要。它将类似以太坊的交易打包到 Solana 交易中,消除了实现转换逻辑的负担。代理架构的最新更新引入了新功能,优化了交易处理,并确保与现有系统的兼容性,同时整合了 Solana 签名基础设施。
为了实现链上内存池,Neon 引入了NeonTxs 树的概念。这将单个大交易拆分为更小、可管理的单元(NeonTxs),同时保持整体逻辑。
交易树:
Neon 合约创建了一个交易“树”,其中较小的单元(分支)可以独立执行。
每个交易都是原子的,这意味着只有交易成功完成,其变化才会生效。
并行执行:
独立交易可以并行运行,从而加快进程。
错误处理:
如果树中的一个交易失败,它不会破坏整个过程。Neon 合约的逻辑可以决定如何处理失败。
最终聚合:
树中的所有交易完成后,它们的结果将被组合(聚合)成最终交易。
交易创建:
Solana 用户通过使用 Solana Signature SDK 通过他们的原生钱包(Phantom、Backpack、Solflare)对交易进行签名来发起交易。
交易通过SDK打包成Neon兼容的格式并发送给Neon Proxy。
链上调度和映射:
Neon Proxy 将用户的 Solana 钱包地址映射到与以太坊兼容的地址,确保与 Neon EVM 上基于以太坊的智能合约正确集成。
该交易在 Neon EVM 内存池中链上调度,等待执行。
交易执行:
Neon Proxy 扫描内存池以查找预定的交易,并使用 Solana 的 ed25519 签名来验证它们。
该交易在 Neon EVM 上执行,触发智能合约交互并更新 Solana 和 Neon 网络上的状态。
执行后清理:
Neon Proxy 通过清理临时资源来确保高效的系统维护,从而优化未来的交易。
虽然 Neon Proxy 可以作为 Solana 钱包和 Neon EVM 生态系统之间交互的推动者,但要充分发挥市场潜力,需要消除资产管理碎片化。跨网络的统一资产管理是推动采用和更集成的用户体验的关键。
SDK 的主要功能是其完善的 ERC20ForSPL 合约逻辑,解决了以太坊和 Solana 之间的互操作性挑战。合约通过使 ERC-20 代币能够在 Solana 环境中运行来连接两个网络。重点是完善 ERC20ForSPL 合约逻辑,以统一余额、保持向后兼容性并为开发人员引入强大的工具。具体方法如下:
虽然 ERC20ForSPL 合约已经更新,但保持向后兼容性(确保现有实现继续不中断地运行)同时添加新功能以增强功能仍然至关重要。
为此,合约通过保留状态变量、方法签名和事件参数来保持与现有实现的兼容性。它在 0xFf000000000000000000000000000000000000000000007 下引入了新的预编译方法,增强了开发人员的能力。isSolanaUser 确定 EVM 地址是否对应于 Solana 帐户,而 solanaAddress 检索与 EVM 地址关联的 Solana 公钥。
访问存储库:深入研究GitHub上的 Neon Solana Signature SDK 。
开发人员文档:探索全面的文档。
社区开发者支持:加入我们的Discord。查看 Discord 开发频道以获取实时帮助,并寻求我们仅限邀请的 Telegram Builder 聊天访问权限。
原文:https://neonevm.org/blog/unveiling-solana-signature-sdk-enabling-solana-users-to-access-evm-dapps
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates gnupg curl
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt-get update && sudo apt-get install google-cloud-cli
https://cloud.google.com/iam/docs/keys-create-delete?hl=zh-cn&cloudshell=true
注意:选择对应的项目,然后启用API
实例ID和实例名称都设置为solana-ledger
新tab打开服务账号
点击创建并继续
点击继续
最后一步可选,直接点击完成
刚新建完,是没有密钥的
点击该行最右侧的操作,管理密钥
添加键->创建新密钥
选择JSON格式
直接会弹出保存对话框,选择自己本地路径进行保存
例如名称为:bcskill-testnet-rpc-storage-93984f743890.json
blocks,entries,tx,tx-by-addr
创建完,挨个添加列族,列族名称都为x
,基于版本的政策: 版本上限5
gcloud init
等待一段时间
Network diagnostic detects and fixes local network connection issues.
Checking network connection...done.
Reachability Check passed.
Network diagnostic passed (1/1 checks passed).
You must sign in to continue. Would you like to sign in (Y/n)?
Go to the following link in your browser, and complete the sign-in prompts:
https://accounts.google.com/o/oauth2/auth?response_type=c......
然后将上面的链接,复制到浏览器中,通过对应的谷歌账号进行登录,授权后,将返回的Key,输入到终端里
然后选择对应的实例
You are signed in as: [c..@gmail.com].
Pick cloud project to use:
[1] august-outlet-389809
[2] bpay-2204b
[3] ethereal-fort-389810
[4] g-gcp-202408-01
[5] infinite-alcove-389904
[6] sturdy-web-389809
[7] Enter a project ID
[8] Create a new project
Please enter numeric choice or text value (must exactly match list item): 4
gcloud config configurations list
NAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
default True c...@gmail.com g-gcp-202408-01
mkdir ./config
mkdir -p ./data/accounts
mkdir ./logs
./solana-keygen new -o ./config/identity.json
export GOOGLE_APPLICATION_CREDENTIALS=./config/bcskill-testnet-rpc-storage-93984f743890.json
./agave-validator \
--ledger ./data \
--identity ./config/identity.json \
--entrypoint 172.18.39.93:8001 \
--dynamic-port-range 9000-9020 \
--only-known-rpc \
--known-validator Fc9UXBuQyMYBow5fTwgrYQf4k1Pwqx8o53yYBuvFQmnc \
--allow-private-addr \
--enable-rpc-transaction-history \
--rpc-port 8896 \
--private-rpc \
--log ./logs/agave-validator.logs \
--no-voting \
--wal-recovery-mode skip_any_corrupted_record \
--limit-ledger-size \
--enable-bigtable-ledger-upload \
--enable-cpi-and-log-storage \
--accounts ./data/accounts \
--no-genesis-fetch \
--no-snapshot-fetch
tail -f logs/agave-validator.logs | grep -a 'bigtable'
2024-12-16T06:31:21.663829260Z INFO solana_ledger::bigtable_upload] Preparing the next 3 blocks for upload
[2024-12-16T06:31:21.683000789Z INFO solana_metrics::metrics] datapoint: storage-bigtable-upload-block slot=1924269i transactions=1i entries=65i bytes=3050i
[2024-12-16T06:31:21.683031739Z INFO solana_metrics::metrics] datapoint: storage-bigtable-upload-block slot=1924270i transactions=1i entries=65i bytes=3050i
[2024-12-16T06:31:21.683641626Z INFO solana_metrics::metrics] datapoint: storage-bigtable-upload-block slot=1924271i transactions=1i entries=65i bytes=3049i
[2024-12-16T06:31:21.683647257Z INFO solana_ledger::bigtable_upload] Upload took 19ms for 3 blocks
[2024-12-16T06:31:21.683659731Z INFO solana_ledger::bigtable_upload] entire upload took 29ms
[2024-12-16T06:31:21.683872194Z INFO solana_ledger::bigtable_upload] blockstore upload took 2.205029ms for 3 blocks (1360.53 blocks/s) errors: 0
[2024-12-16T06:31:22.683968514Z INFO solana_ledger::bigtable_upload] Loading ledger slots from 1924272 to 1924274
[2024-12-16T06:31:22.684083929Z INFO solana_ledger::bigtable_upload] Found 3 slots in the range (1924272, 1924274)
[2024-12-16T06:31:22.684093327Z INFO solana_ledger::bigtable_upload] Loading list of bigtable blocks between slots 1924272 and 1924274...
[2024-12-16T06:31:22.684136962Z INFO solana_metrics::metrics] datapoint: bigtable_blocks read_rows=1i
[2024-12-16T06:31:22.689038044Z INFO solana_ledger::bigtable_upload] 3 blocks to be uploaded to the bucket in the range (1924272, 1924274)
查看日志错误
tail -f logs/agave-validator.logs | grep -a 'ERROR'
https://github.com/solana-labs/solana-bigtable
https://docs.anza.xyz/implemented-proposals/rpc-transaction-history/