以太坊开发入门
这是一份关于以太坊开发的初学者指南。 在本教程中,我们将使用 Alchemyopens in a new tab,这是一个领先的区块链开发者平台,为 70% 的顶级区块链应用程序(包括 Maker、0x、MyEtherWallet、Dharma 和 Kyber)的数百万用户提供支持。 Alchemy 使我们能够访问以太坊链上的 API 端点,这样我们就可以读写交易。
我们将带你注册 Alchemy 来编写你的第一个 web3 脚本! 无需区块链开发经验!
1. 注册一个免费的 Alchemy 帐户
创建 Alchemy 帐户很容易,点击此处免费注册opens in a new tab。
2. 创建 Alchemy 应用
为了与以太坊链通信,以及为了使用 Alchemy 的产品,你需要一个 API 密钥来验证你的请求。
你可以从仪表板创建 API 密钥opens in a new tab。 要创建一个新密钥,导航到如下所示的“Create App”:
特别感谢 ShapeShiftopens in a new tab 允许我们展示他们的仪表板!
填写“Create App”下的详细信息以获取你的新密钥。 在此处还可以看到你以前创建的应用以及你的团队创建的应用。 通过点击任何应用的“View Key”来查看现有密钥。
你也可以通过将鼠标悬停在“Apps”上并选择一个来获取现有 API 密钥。 你可以在这里“View Key”,以及“Edit App”以将特定域加入白名单、查看几个开发者工具并查看分析。
3. 从命令行发出请求
使用 JSON-RPC 和 curl 通过 Alchemy 与以太坊区块链交互。
对于手动请求,我们建议通过 POST 请求与 JSON-RPC 交互。 只需传入 Content-Type: application/json 标头,并将你的查询作为 POST 正文,其中包含以下字段:
jsonrpc:JSON-RPC 版本——目前仅支持2.0。method:ETH API 方法。 请参阅 API 参考。opens in a new tabparams:要传递给方法的参数列表。id:你的请求的 ID。 响应中会返回此 ID,以便你跟踪响应所属的请求。
这是一个可以从命令行运行以检索当前燃料价格的示例:
curl https://eth-mainnet.alchemyapi.io/v2/demo \-X POST \-H "Content-Type: application/json" \-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'**注意:**请将 https://eth-mainnet.alchemyapi.io/v2/demoopens in a new tab 替换为你自己的 API 密钥 https://eth-mainnet.alchemyapi.io/v2/**your-api-key。
结果:
1{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }4. 设置你的 Web3 客户端
**如果你有现有客户端,**请将你当前的节点提供商 URL 更改为包含你 API 密钥的 Alchemy URL:“https://eth-mainnet.alchemyapi.io/v2/your-api-key"
注意:下面的脚本需要在节点环境中运行或保存在文件中运行,而不是从命令行运行。 如果你尚未安装 Node 或 npm,请查看此 Mac 快速设置指南opens in a new tab。
有许多可以与 Alchemy 集成的 Web3 库opens in a new tab,但我们建议使用 Alchemy Web3opens in a new tab,这是一个 web3.js 的直接替代品,经构建和配置可与 Alchemy 无缝协作。 这个库有很多优点,例如自动重试和可靠的 WebSocket 支持。
要安装 AlchemyWeb3.js,导航到你的项目目录并运行:
使用 Yarn:
1yarn add @alch/alchemy-web3使用 NPM:
1npm install @alch/alchemy-web3要与 Alchemy 的节点基础设施交互,请在 NodeJS 中运行或将其添加到 JavaScript 文件:
1const { createAlchemyWeb3 } = require("@alch/alchemy-web3")2const web3 = createAlchemyWeb3(3 "https://eth-mainnet.alchemyapi.io/v2/your-api-key"4)5. 编写你的第一个 Web3 脚本!
现在用一个小的 web3 编程来练习,我们将编写一个简单的脚本,用于打印出以太坊主网中最新的区块高度。
1. 在终端中创建一个新的项目目录并通过 cd 命令进入该目录(如果尚未这样做):
1mkdir web3-example2cd web3-example2. 在项目中安装 Alchemy Web3(或任何 Web3)依赖项(如果尚未这样做):
1npm install @alch/alchemy-web33. 创建一个名为 index.js 的文件并添加以下内容:
你最终应将
demo替换为你的 Alchemy HTTP API 密钥。
1async function main() {2 const { createAlchemyWeb3 } = require("@alch/alchemy-web3")3 const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")4 const blockNumber = await web3.eth.getBlockNumber()5 console.log("The latest block number is " + blockNumber)6}7main()不熟悉 async 函数? 请查看这篇 Medium 帖子opens in a new tab。
4. 在你的终端中使用 node 运行
1node index.js5. 现在你应该可以在控制台中看到最新的区块编号输出!
1The latest block number is 11043912哇! 恭喜! 你刚刚使用 Alchemy 编写了你的第一个 Web3 脚本 🎉**
不知道下一步该怎么做? 尝试部署你的第一个智能合约,并在我们的 Hello World 智能合约指南opens in a new tab中动手进行一些 Solidity 编程,或者使用 Dashboard 演示应用opens in a new tab测试你的仪表板知识!
免费注册 Alchemyopens in a new tab,查看我们的文档opens in a new tab,以及要了解最新消息,请在 Twitteropens in a new tab 上关注我们。
页面最后更新: 2025年9月25日



