ethereum/ethereum-org-website
GitHub: ethereum/ethereum-org-website
这是以太坊官方网站 ethereum.org 的源码仓库,为全球以太坊社区提供入门指南、开发者文档、生态资讯等综合性门户内容。
Stars: 5938 | Forks: 5402
[](https://app.netlify.com/sites/ethereumorg/deploys)
[](#contributors)
[](https://discord.gg/ethereum-org)
[](https://x.com/ethdotorg)
[](https://crowdin.com/project/ethereum-org)
[](https://www.gitpoap.io/gh/ethereum/ethereum-org-website)
这是 [ethereum.org](https://ethereum.org) 网站的代码仓库,是以太坊社区的资源。该网站的宗旨是 _「成为我们不断壮大的全球社区进入以太坊的最佳门户」_ - 了解更多关于这意味着什么的信息请[点击此处](https://ethereum.org/about/)。
[ethereum.org](https://ethereum.org) 通过社区成员提交内容、提供反馈或自愿投入时间来管理和推动其演进,不断得到改进和变化。如果你有兴趣帮助改进 [ethereum.org](https://ethereum.org),请了解[如何贡献](https://ethereum.org/contributing/)。
## 寻找以太坊区块链的代码?
如果你在寻找以太坊区块链本身,这里没有单一的代码仓库。相反,以太坊有多种用不同编程语言实现的协议实现,以确保安全性和多样性。[查看不同的实现](https://ethereum.org/developers/docs/nodes-and-clients/#execution-clients)
## 目录 - [如何贡献](#how-to-contribute) - [翻译计划](docs/translation-program.md) - [ethereum.org 网站技术栈](docs/stack.md) - [网站规范 / 最佳实践](docs/best-practices.md) ## 如何贡献 本项目遵循 [all-contributors](https://allcontributors.org/docs/en/overview) 规范。欢迎任何形式的贡献! 在开始之前,请花一点时间阅读我们的 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。 ### 1. 提交 issue - 创建一个 [新 issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose)。 - 在 issue 下评论(如果你希望被分配到此 issue)- 这样[我们的团队可以将 issue 分配给你](https://github.blog/2019-06-25-assign-issues-to-issue-commenters/)。 有关 issue 创建流程及创建 issue 的更多信息可以[在此找到](docs/github-issue-triage-process.md)。 ### 2. Fork 代码仓库(repo) - 如果不确定如何操作,这里是 [fork 仓库](https://help.github.com/en/articles/fork-a-repo) 的方法。 ### 3. 设置本地环境(可选) 如果你已准备好贡献并创建 PR,设置本地环境将有助于你查看自己的更改。 1. Clone 你的 fork 如果这是你第一次 fork 我们的仓库,这一步你只需要做以下操作: ``` git clone git@github.com:[your_github_handle]/ethereum-org-website.git && cd ethereum-org-website ``` 如果你已经 fork 过仓库,你需要确保你的 fork 已配置好并且是最新的。这将避免潜在的合并冲突。 [配置你的 fork](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork): ``` git remote add upstream https://github.com/ethereum/ethereum-org-website.git ``` [将你的 fork 与最新更改同步](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork): ``` git checkout dev git fetch upstream git merge upstream/dev ``` 2. 准备包管理器 我们已升级到 pnpm 以加快开发体验并改进依赖管理。 我们建议使用 [nvm 等 node 版本管理器](https://github.com/nvm-sh/nvm?tab=readme-ov-file#intro) 来在系统中使用多个 node 版本。我们有一个 `.nvmrc` 文件,声明了此项目的标准 Node.js 版本。如果你使用 `nvm`,可以运行 `nvm use` 自动切换到正确的版本。 **使用当前 node 版本(推荐)** ``` nvm use ``` Corepack 是一个工具,允许你在无需全局安装的情况下使用 pnpm、yarn 和 npm 等包管理器。它确保为你的项目使用正确版本的包管理器。 **启用 corepack(推荐):** ``` corepack enable ``` 3. 安装依赖 ``` pnpm install ``` 4. 设置环境变量 ``` cp .env.example .env.local ``` #### 从 yarn 迁移到 pnpm 如果你之前使用 `yarn` 安装依赖,可以通过运行以下命令安全地迁移到 `pnpm`: ``` # 删除 yarn.lock 文件 rm yarn.lock # 删除 node_modules 目录 rm -rf node_modules # 清理 yarn 缓存(可选) yarn cache clean # 使用 pnpm 安装依赖 pnpm install ``` 这将干净地将项目工作目录从 yarn 切换到 pnpm,不会留下任何残留的 yarn 配置。 ### 4. 做出精彩的更改! 1. 为你的更改创建新分支 ``` git checkout -b new_branch_name ``` 2. 开始开发! ``` pnpm dev ``` - 在你喜欢的文本编辑器 / IDE 中打开此目录,然后在浏览器中访问 `localhost:3000` 即可实时查看你的更改 - 专业提示: - 探索 `package.json` 中的脚本以获取更多构建选项 - 通过仅构建一种语言来获得**更快**的生产构建,例如,在你的 `.env` 文件中,设置 `NEXT_PUBLIC_BUILD_LOCALES=en` 仅构建英文内容 - 要构建其他选定的语言,你需要在 `NEXT_PUBLIC_BUILD_LOCALES` 中设置它们,例如:`NEXT_PUBLIC_BUILD_LOCALES=en,es` 如果你还想构建英语(必需)和西班牙语。 - 要构建所有语言,只需用井号注释掉这一行,例如:`# NEXT_PUBLIC_BUILD_LOCALES=` 默认情况下,脚本将构建所有语言(完整列表见 `i18n.config.json`)。 3. 提交并准备 pull request(PR)。在你的 PR commit 消息中,引用它解决的 issue(参见[如何使用关键字将 commit 消息链接到 issue](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))。 ``` git commit -m "brief description of changes [Fixes #1234]" ``` 4. 推送到你的 GitHub 账户 ``` git push ``` ### 5. 提交你的 PR - 在你的更改提交到你的 GitHub fork 后,向 `ethereum/ethereum-org-website` 仓库的 `dev` 分支提交 pull request(PR) - 在你的 PR 描述中,引用它解决的 issue(参见[如何使用关键字将 pull request 链接到 issue](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)) - 例如:`Updates out of date content [Fixes #1234]` - Netlify(我们的构建预览托管服务)将所有 PR 部署到公开可访问的预览 URL,例如: - _确认你的 Netlify 预览部署外观和功能符合预期_ - 为什么不在 [我们的 Discord 服务器](https://discord.gg/ethereum-org) 打个招呼并引起大家对你 PR 的关注呢? ### 6. 等待审核 - 网站团队会审核每一个 PR - 查看[内容变更的决策流程](https://ethereum.org/contributing/#how-decisions-about-the-site-are-made) - 可接受的 PR 将被批准并合并到 `dev` 分支 在这里了解更多关于我们如何审核 pull request 的信息[点击此处](docs/review-process.md)。 ### 7. 发布 - `master` 持续同步到 Netlify,新提交将自动部署到 ethereum.org - 在这里了解更多关于我们如何部署网站的信息[点击此处](docs/deploy-process.md) - 你可以[查看发布历史](https://github.com/ethereum/ethereum-org-website/releases),其中包含 PR 亮点
 ## 领取你的 POAP 和 OAT! ### 什么是 POAP? ### GitPOAP - 如果你至少做出了一次贡献并且该贡献被合并到 ethereum.org,GitPOAP 也会自动识别并让你为特定年份铸造一个独特的贡献者 POAP。 [了解更多关于 GitPOAP 的信息](https://www.gitpoap.io)。 ### 什么是 OAT? ### ethereum.org 2026 贡献者 OAT 如果你在 2026 年至今已提交任何更改并被合并到我们的仓库,或者你已翻译了一定数量的单词,你可以领取你的 OAT! 有针对 GitHub、内容、设计和翻译贡献的 OAT。 [](https://discord.gg/ethereum-org) - 👆 要领取你的贡献者 OAT,请加入我们的 Discord 服务器,创建一个帖子,并在 `#🥇 | proof-of-contribution` [频道](https://discord.com/channels/714888181740339261/1212737737916948530) 中粘贴你的贡献链接 - 等待我们团队的成员在 Discord 上为你分配角色并发送你的 OAT 链接。 - 为了帮助验证,我们要求 GitHub 贡献者将其 GitHub 账户与其 Discord 账户关联(Discord > 设置 > 连接 > GitHub)。Crowdin 贡献者将通过 Crowdin 由我们的团队直接验证。 如果你还没有贡献过,但想赚取 POAP/OAT 来展示你对以太坊领域的忠诚度,请前往 [issue](https://github.com/ethereum/ethereum-org-website/issues/) 标签页开始!如果你想为翻译做出贡献,请查看我们的[翻译计划](https://ethereum.org/contributing/translation-program/)。
## 目录 - [如何贡献](#how-to-contribute) - [翻译计划](docs/translation-program.md) - [ethereum.org 网站技术栈](docs/stack.md) - [网站规范 / 最佳实践](docs/best-practices.md) ## 如何贡献 本项目遵循 [all-contributors](https://allcontributors.org/docs/en/overview) 规范。欢迎任何形式的贡献! 在开始之前,请花一点时间阅读我们的 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。 ### 1. 提交 issue - 创建一个 [新 issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose)。 - 在 issue 下评论(如果你希望被分配到此 issue)- 这样[我们的团队可以将 issue 分配给你](https://github.blog/2019-06-25-assign-issues-to-issue-commenters/)。 有关 issue 创建流程及创建 issue 的更多信息可以[在此找到](docs/github-issue-triage-process.md)。 ### 2. Fork 代码仓库(repo) - 如果不确定如何操作,这里是 [fork 仓库](https://help.github.com/en/articles/fork-a-repo) 的方法。 ### 3. 设置本地环境(可选) 如果你已准备好贡献并创建 PR,设置本地环境将有助于你查看自己的更改。 1. Clone 你的 fork 如果这是你第一次 fork 我们的仓库,这一步你只需要做以下操作: ``` git clone git@github.com:[your_github_handle]/ethereum-org-website.git && cd ethereum-org-website ``` 如果你已经 fork 过仓库,你需要确保你的 fork 已配置好并且是最新的。这将避免潜在的合并冲突。 [配置你的 fork](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork): ``` git remote add upstream https://github.com/ethereum/ethereum-org-website.git ``` [将你的 fork 与最新更改同步](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork): ``` git checkout dev git fetch upstream git merge upstream/dev ``` 2. 准备包管理器 我们已升级到 pnpm 以加快开发体验并改进依赖管理。 我们建议使用 [nvm 等 node 版本管理器](https://github.com/nvm-sh/nvm?tab=readme-ov-file#intro) 来在系统中使用多个 node 版本。我们有一个 `.nvmrc` 文件,声明了此项目的标准 Node.js 版本。如果你使用 `nvm`,可以运行 `nvm use` 自动切换到正确的版本。 **使用当前 node 版本(推荐)** ``` nvm use ``` Corepack 是一个工具,允许你在无需全局安装的情况下使用 pnpm、yarn 和 npm 等包管理器。它确保为你的项目使用正确版本的包管理器。 **启用 corepack(推荐):** ``` corepack enable ``` 3. 安装依赖 ``` pnpm install ``` 4. 设置环境变量 ``` cp .env.example .env.local ``` #### 从 yarn 迁移到 pnpm 如果你之前使用 `yarn` 安装依赖,可以通过运行以下命令安全地迁移到 `pnpm`: ``` # 删除 yarn.lock 文件 rm yarn.lock # 删除 node_modules 目录 rm -rf node_modules # 清理 yarn 缓存(可选) yarn cache clean # 使用 pnpm 安装依赖 pnpm install ``` 这将干净地将项目工作目录从 yarn 切换到 pnpm,不会留下任何残留的 yarn 配置。 ### 4. 做出精彩的更改! 1. 为你的更改创建新分支 ``` git checkout -b new_branch_name ``` 2. 开始开发! ``` pnpm dev ``` - 在你喜欢的文本编辑器 / IDE 中打开此目录,然后在浏览器中访问 `localhost:3000` 即可实时查看你的更改 - 专业提示: - 探索 `package.json` 中的脚本以获取更多构建选项 - 通过仅构建一种语言来获得**更快**的生产构建,例如,在你的 `.env` 文件中,设置 `NEXT_PUBLIC_BUILD_LOCALES=en` 仅构建英文内容 - 要构建其他选定的语言,你需要在 `NEXT_PUBLIC_BUILD_LOCALES` 中设置它们,例如:`NEXT_PUBLIC_BUILD_LOCALES=en,es` 如果你还想构建英语(必需)和西班牙语。 - 要构建所有语言,只需用井号注释掉这一行,例如:`# NEXT_PUBLIC_BUILD_LOCALES=` 默认情况下,脚本将构建所有语言(完整列表见 `i18n.config.json`)。 3. 提交并准备 pull request(PR)。在你的 PR commit 消息中,引用它解决的 issue(参见[如何使用关键字将 commit 消息链接到 issue](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))。 ``` git commit -m "brief description of changes [Fixes #1234]" ``` 4. 推送到你的 GitHub 账户 ``` git push ``` ### 5. 提交你的 PR - 在你的更改提交到你的 GitHub fork 后,向 `ethereum/ethereum-org-website` 仓库的 `dev` 分支提交 pull request(PR) - 在你的 PR 描述中,引用它解决的 issue(参见[如何使用关键字将 pull request 链接到 issue](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)) - 例如:`Updates out of date content [Fixes #1234]` - Netlify(我们的构建预览托管服务)将所有 PR 部署到公开可访问的预览 URL,例如: - _确认你的 Netlify 预览部署外观和功能符合预期_ - 为什么不在 [我们的 Discord 服务器](https://discord.gg/ethereum-org) 打个招呼并引起大家对你 PR 的关注呢? ### 6. 等待审核 - 网站团队会审核每一个 PR - 查看[内容变更的决策流程](https://ethereum.org/contributing/#how-decisions-about-the-site-are-made) - 可接受的 PR 将被批准并合并到 `dev` 分支 在这里了解更多关于我们如何审核 pull request 的信息[点击此处](docs/review-process.md)。 ### 7. 发布 - `master` 持续同步到 Netlify,新提交将自动部署到 ethereum.org - 在这里了解更多关于我们如何部署网站的信息[点击此处](docs/deploy-process.md) - 你可以[查看发布历史](https://github.com/ethereum/ethereum-org-website/releases),其中包含 PR 亮点
 ## 领取你的 POAP 和 OAT! ### 什么是 POAP? ### GitPOAP - 如果你至少做出了一次贡献并且该贡献被合并到 ethereum.org,GitPOAP 也会自动识别并让你为特定年份铸造一个独特的贡献者 POAP。 [了解更多关于 GitPOAP 的信息](https://www.gitpoap.io)。 ### 什么是 OAT? ### ethereum.org 2026 贡献者 OAT 如果你在 2026 年至今已提交任何更改并被合并到我们的仓库,或者你已翻译了一定数量的单词,你可以领取你的 OAT! 有针对 GitHub、内容、设计和翻译贡献的 OAT。 [](https://discord.gg/ethereum-org) - 👆 要领取你的贡献者 OAT,请加入我们的 Discord 服务器,创建一个帖子,并在 `#🥇 | proof-of-contribution` [频道](https://discord.com/channels/714888181740339261/1212737737916948530) 中粘贴你的贡献链接 - 等待我们团队的成员在 Discord 上为你分配角色并发送你的 OAT 链接。 - 为了帮助验证,我们要求 GitHub 贡献者将其 GitHub 账户与其 Discord 账户关联(Discord > 设置 > 连接 > GitHub)。Crowdin 贡献者将通过 Crowdin 由我们的团队直接验证。 如果你还没有贡献过,但想赚取 POAP/OAT 来展示你对以太坊领域的忠诚度,请前往 [issue](https://github.com/ethereum/ethereum-org-website/issues/) 标签页开始!如果你想为翻译做出贡献,请查看我们的[翻译计划](https://ethereum.org/contributing/translation-program/)。
标签:All Contributors, CMS安全, Crowdin, DApps, DeFi, DNS解析, Ethereum, Gatsby, Git, GitPOAP, JavaScript, Layer 2, MITM代理, Netlify, NFT, PoS, PoW, React, Ruby, SEO 优化, Solidity, Syscalls, TypeScript, Web3, Web 开发, 以太坊, 以太坊生态, 入门指南, 全球化, 共识机制, 加密货币, 区块链, 区块链教育, 区块链浏览器, 去中心化, 去中心化金融, 多语言支持, 威胁情报, 学习资源, 安全可观测性, 安全插件, 安全测试框架, 开发者工具, 开发者文档, 开源协作, 开源框架, 开源项目, 技术博客, 技术文档, 持续集成, 教育资源, 数字资产, 智能合约, 版本控制, 知识库, 社区贡献, 社区门户, 网络节点, 贡献指南, 钱包集成, 链上治理, 静态网站生成器
