原Docs文档链接
如果您需要工程支持或有任何基础架构需求,请将您的部署地址提交到此表格中,以便我们相应地确定优先级。
如果你是一个渴望开始的开发人员,你应该直接进入我们的快速入门指南,它将引导你完成智能合约的部署。完成快速入门后,您可以继续设置您的钱包,并可能修改 Solana dApp 以使用 Eclipse。一旦你掌握了基础知识,你就可以尝试使用我们的验证桥接到Eclipse测试网。
如果您有兴趣了解有关 Eclipse 主网的架构和各种设计决策的更多信息,您应该稍后跳过一点。
虽然本文档应包含您需要的所有内容,但如果您找不到所需的内容,可以在 Twitter 上给我们联系:@EclipseFND。我们可能会为您启动一个 Telegram 聊天,您可以在那里联系我们的团队。您也可以尝试在 Discord 上询问我们的社区。
这些指南将引导您完成将简单的智能合约部署到 Eclipse 测试网或 Eclipse Devnet 的过程。
Eclipse 主网部署简介
Eclipse 主网运行 Solana VM (SVM),因此您可以像在 Solana 上一样在其上部署智能合约。
下面是将“Hello World”合约部署到 Eclipse 测试网和 Eclipse Devnet 的简单分步教程。部署到测试网或开发网的体验将与主网部署非常相似。
本指南将指导您完成将一个简单的智能合约部署到 Eclipse 测试网的过程。
在将智能合约部署到 Eclipse 测试网之前,您必须执行一些操作。
安装依赖项
安装 Rust 及其包管理器 Cargo。
curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh
您可以通过运行以下命令来检查安装是否成功:
rustc --version
cargo --version
ii. 我们还必须安装 Node.js 和 npm using ,这将在本指南的后面部分使用。
访问官方 Node.js 下载页面并下载适用于您的系统的安装二进制文件。推荐版本为 14.0 及以上版本。如果您遇到问题,可以考虑使用 Homebrew 或其他一些包管理器。
请注意,npm 与 Node.js 安装捆绑在一起,因此您不必单独安装它。
iii. 现在让我们安装 Solana CLI。这允许您与 Solana 集群(在本例中为 Eclipse 测试网)进行交互。
sh -c "$(curl -sSfL <https://release.solana.com/stable/install>)"
iv. 不要将 Solana CLI 设置为本地集群,而是使用以下命令将其设置为 Eclipse 测试网:
solana config set --url <https://testnet.dev2.eclipsenetwork.xyz>
v. 如果这是您第一次使用 Solana CLI,您将需要生成一个新的密钥对:
solana-keygen new
这将生成一个新的密钥对,并将其保存到本地计算机。您将需要此密钥对来签署交易,以将智能合约部署到 Eclipse 测试网。
获取 Sepolia ETH 代币
您将需要一个以太坊钱包,例如 Metamask 来领取和桥接 Sepolia ETH。作为用户,您可以使用 Sepolia ETH 来探索部署在网络上的 Eclipse 测试网和 dApp。Sepolia ETH 不打算交易,仅用于测试应用程序。Sepolia ETH 可以从许多水龙头领取:Alchemy、QuickNode 和 Infura。
以下是有关如何在 Alchemy Sepolia ETH 水龙头上领取 Sepolia ETH 的说明。
将 Sepolia ETH 存入 Eclipse 测试网
一旦你获得了Sepolia ETH,这个脚本允许你把Sepolia ETH存入Eclipse测试网络。
获取您的以太坊私钥
拥有 Sepolia ETH 后,请导航到“帐户详细信息”并单击“显示私钥”,复制您的以太坊钱包地址和私钥以供以后使用。
获取 Eclipse 公共地址
使用 Solana CLI 复制之前生成的“Solana”地址: solana-keygen new --no-outfile
或 solana-keygen new --outfile my-wallet.json
.
输出中的公钥应如下所示: 6g8wB6cJbodeYaEb5aD9QYqhdxiS8igfcHpz36oHY7p8
创建存款
获取并设置deposit.js脚本:https://github.com/Eclipse-Laboratories-Inc/testnet-deposit
您需要使用 yarn
.
最后,执行脚本:
node deposit.js [YOUR_SOLANA_ADDRESS] 0x7C9e161ebe55000a3220F972058Fb83273653a6e [AMOUNT_IN_GWEI] [FEE_IN_GWEI] [ETHEREUM_PRIVATE_KEY] <https://rpc.sepolia.org>
[AMOUNT_IN_GWEI]
是所需的存款金额,最低 1500000
GWEI (0.0015 ETH)[FEE_IN_GWEI]
是交易处理费,目前被忽略,但可以设置为 100
GWEI一个成功的命令示例:
node deposit.js yyiecymjvwYE6Wxg4ZSt4ibdfFRo3JUNhQ99AKnaRqu 0x7C9e161ebe55000a3220F972058Fb83273653a6e 1500000 100 3e1bf180e4778c7944f509b422711101186d26ac15337934f12088623755c0b7 <https://rpc.sepolia.org/>
输出
Transaction successful: 0xb05a37f4e4b420f651fdffb0b169ba96cb8c8e201b32f3d8d0c94705d7dc6d5f
您可以在 Sepolia 测试网上查看交易哈希值。
您可以使用 Eclipse Explorer 验证您的测试网帐户余额。
部署智能合约
现在我们已经设置了环境,我们可以将智能合约部署到 Eclipse 测试网。让我们通过运行本地 Solana 集群来确保所有内容都已正确安装。
solana-test-validator
如果验证器无法启动,请重新启动计算机并运行以下命令:
sudo $(command -v solana-sys-tuner) --user $(whoami) > sys-tuner.log 2>&1 &
我们不需要本地 Solana 集群,但我们正在使用它来检查所有内容是否正确安装。接下来,我们将克隆 Solana Hello World 存储库并安装依赖项。
git clone <https://github.com/solana-labs/example-helloworld>
cd example-helloworld
npm install
We build the smart contract:
npm run build:program-rust
最后,我们可以将智能合约部署到 Eclipse 测试网:
solana program deploy dist/program/helloworld.so
我们可以运行 JavaScript 客户端,确认智能合约是否部署成功:
npm run start
输出应如下所示:
Let's say hello to a Solana account...
Connection to cluster established: <http://127.0.0.1:8899> { 'feature-set': 2045430982, 'solana-core': '1.7.8' }
Using account AiT1QgeYaK86Lf9kudqKthQPCWwpG8vFA1bAAioBoF4X containing 0.00141872 SOL to pay for fees
Using program Dro9uk45fxMcKWGb1eWALujbTssh6DW8mb4x8x3Eq5h6
Creating account 8MBmHtJvxpKdYhdw6yPpedp6X6y2U9dCpdYaZJdmwV3A to say hello to
Saying hello to 8MBmHtJvxpKdYhdw6yPpedp6X6y2U9dCpdYaZJdmwV3A
8MBmHtJvxpKdYhdw6yPpedp6X6y2U9dCpdYaZJdmwV3A has been greeted 1 times
Success
没有看到预期的输出?
solana logs
检查程序日志以查看程序失败的原因。下面给出了您可能会发现的内容的示例。
Signature: 4pya5iyvNfAZj9sVWHzByrxdKB84uA5sCxLceBwr9UyuETX2QwnKg56MgBKWSM4breVRzHmpb1EZQXFPPmJnEtsJ
Status: Error processing Instruction 0: Program failed to complete
Log Messages:
Program G5bbS1ipWzqQhekkiCLn6u7Y1jJdnGK85ceSYLx2kKbA invoke [1]
Program log: Hello World Rust program entrypoint
Program G5bbS1ipWzqQhekkiCLn6u7Y1jJdnGK85ceSYLx2kKbA consumed 200000 of 200000 compute units
Program failed to complete: exceeded maximum number of instructions allowed (200000) at instruction #334
Program G5bbS1ipWzqQhekkiCLn6u7Y1jJdnGK85ceSYLx2kKbA failed: Program failed to complete
您是否需要额外的帮助来集成一些特殊的东西,如钱包、桥
在将智能合约部署到 Eclipse Devnet 之前,您必须执行一些操作。
安装 Rust 及其包管理器 Cargo。
Copy
curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh
您可以通过运行以下命令来检查安装是否成功:
Copy
rustc --version
cargo --version
ii. 我们还必须安装 Node.js 和 npm using ,这将在本指南的后面部分使用。
访问官方 Node.js 下载页面并下载适用于您的系统的安装二进制文件。推荐版本为 14.0 及以上版本。如果您遇到问题,可以考虑使用 Homebrew 或其他一些包管理器。
请注意,npm 与 Node.js 安装捆绑在一起,因此您不必单独安装它。
iii. 现在让我们安装 Solana CLI。这允许您与 Solana 集群(在本例中为 Eclipse Devnet)进行交互。
Copy
sh -c "$(curl -sSfL <https://release.solana.com/stable/install>)"
iv. 使用以下命令将其设置为 Eclipse Devnet,而不是将 Solana CLI 设置为本地集群:
Copy
solana config set --url <https://staging-rpc.dev2.eclipsenetwork.xyz>
v. 如果这是您第一次使用 Solana CLI,您将需要生成一个新的密钥对: