本文通过在轻量应用服务器上部署DevStudio,并在DevStudio上进行开源项目Go Ethereum的开发为例,帮助您快速学习如何使用DevStudio进行代码的开发。
背景信息
轻量应用服务器提供了DevStudio 1.12应用镜像,您可以通过该镜像快速部署并使用DevStudio进行代码的开发。关于DevStudio的基础使用教程,请参见部署并使用DevStudio 。
Ethereum是下一代智能合约和去中心化应用平台,Go Ethereum是Ethereum协议的三个原始实现之一(另外两个是C++和Python ),用Go语言编写,代码完全开源。更多信息,请参见Go-Ethereum官网。
步骤1:部署DevStudio
注意 DevStudio镜像已经下线,不支持重新部署,但已经部署DevStudio的用户仍可以继续使用。
- 登录轻量应用服务器管理控制台。
- 在左侧导航栏,单击服务器列表。
- 在轻量应用服务器售卖页,完成资源配置。
创建轻量应用服务器的具体操作,请参见
创建轻量应用服务器。
其中,您需要在镜像区域,选择应用镜像为DevStudio 1.12。
创建完成后,返回服务器列表,您可以查看到
DevStudio
服务器的卡片信息。

步骤2:打开DevStudio
- 登录DevStudio云端开发平台。
- 以阿里云账号登录轻量应用服务器管理控制台。
- 在左侧导航栏,单击服务器列表。
- 在服务器列表页面,找到通过DevStudio镜像创建的轻量应用服务器,然后单击服务器卡片。
- 在左侧导航栏,选择。
- 在DevStudio使用步骤区域,单击访问您的Devstudio云端开发平台。

说明 只有阿里云账号能够访问DevStudio云端开发平台,RAM用户无法访问。
- 在DevStudio中,可查看默认创建的工作空间。

步骤3:开发代码
- Fork开源项目Go Ethereum到自己的GitHub主页。
本文以某个人的GitHub账号ruopuzi为例。
- 在GitHub中打开开源项目Go Ethereum。
- 在页面右上角,单击Fork。

复制后代码库如下图所示。

- 将公钥配置到GitHub。
- 在DevStudio工作空间的菜单栏中,选择。

- 运行以下命令,生成密钥对。
ssh-keygen
生成密钥对的过程中,系统会提示输入密钥对存放目录和密钥对密码,您可以手动输入,也可以按
Enter保持默认。回显信息类似如下所示。
$ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
b6:66:5d:8b:2f:9b:78:bf:d2:17:94:1f:af:*:*:* admin@iZbp1d0y7cs0n99m1o7****
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| o. |
| S .. .o|
| . o o ...o|
| + o... oE|
| o .+o. ++ |
| ..****...|
+-----------------+
- 运行以下命令,查看并复制公钥文本。
cat /home/admin/.ssh/id_rsa.pub
- 将公钥配置到代码平台。
- 登录GitHub代码平台。
- 在页面右上角,单击New SSH Key。
- 在弹出的对话框中,输入复制的公钥文本,并单击Add SSH Key。
- 在DevStudio的终端,运行以下命令,克隆GitHub代码平台上的代码。
本示例将代码克隆到
/home/admin/workspace目录下。
cd /home/admin/workspace
# clone代码
git clone git@github.com:ruopuzi/go-ethereum.git --depth=1
# 配置开发者账号
cd go-ethereum
git config user.name ruopuzi
git config user.email goodyfx****@163.com
参数说明:
- ruopuzi/go-ethereum:为复制后的工程名称,需替换为实际的工程名称。
- user.name:用户名,需替换为实际的用户名,例如:ruopuzi。
- user.email:用户邮箱,需替换为实际的邮箱,例如:goodyfx****@163.com。
- 添加代码文件到工作区。
- 在左侧的文件导航栏,选择。

- 在弹出的对话框,单击workspace,选择go-ethereum文件夹,并单击Open。

- 在左侧文件导航栏中,可以查看已加入的代码工程。
- 创建代码分支。
- 在菜单栏中,选择。
- 选择添加的代码工程。

- 运行以下命令,创建特性分支。
本示例创建的分支为
feature/testme。
git checkout -b feature/testme
- 开发代码并查看更改的代码。
- 根据业务需求编辑代码,并在菜单栏选择。
- 在页面左上角,单击
图标,查看更改的代码。
- 提交代码。
- 在更改区域,单击文件后的+,将文件加入暂存区。

- 在输入框中输入提交信息,并单击全部提交。
- 推送代码。
- 在源代码管理:GIT区域,选择。

- 选择远程代码仓库地址。

- 创建代码合并请求。
- 在GitHub中打开Fork的go-ethereum代码库。
本示例中https://github.com/ruopuzi/go-ethereum/
。
- 单击Pull Requests。
- 单击New pull request。

- 选择自己开发的分支后,单击Create pull request。

等待开源社区的其他开发者对您的代码评审与评论,最终完成代码合并即可。