# 区块链程序获取

## 获取可执行程序

用户可以自由选择以下任一方式获取对应的chain33可执行程序。推荐使用官方编译好的版本。

- 官方提供的编译文件，可以在Ubuntu 16.04和CentOS 7.2以上版本运行。
- 源码编译获取可执行程序。

## 下载Chain33可执行程序

我们基于Release1.65，提供多种形态的区块链程序，在Windows，Ubuntu和CentOS 7经过测试。

- **单节点solo测试链（windows）版本**
- **单节点solo测试链（linux）版本**
- **单节点docker联盟链版本**
- **多节点私有链集群版本**
- **多节点联盟链集群版本**
- **平行链（windows）版本**
- **平行链（linux）版本**

软件包下载地址[资源下载](https://chain.33.cn/resource)

## 源码编译

### 1 开发环境安装

### 1.1 Go 环境安装

Go 语言安装包下载地址： https://golang.google.cn/dl/

推荐安装版本为1.13.x以上，各种操作系统对应的包名：

| 操作系统 | 包名                         |
| :------- | :--------------------------- |
| Windows  | go1.13.5.windows-amd64.msi   |
| Linux    | go1.13.5.linux-amd64.tar.gz  |
| Mac      | go1.13.5.darwin-amd64.tar.gz |

## Linux/Mac 安装

以 Linux 为例

- 下载二进制包：go1.13.5.linux-amd64.tar.gz
- 将下载的二进制包解压至 /usr/local 目录

```
$ tar -C /usr/local -xzf go1.13.5.linux-amd64.tar.gz
```

- 将 /usr/local/go/bin 目录添加至 PATH 环境变量，并设置 GOPATH 环境变量

```
export PATH=$PATH:/usr/local/go/binexport GOPATH=~/gopath
```

## Windows 安装

打开对应的 msi 文件进行安装

默认安装在 c:\Go 目录，将 c:\Go\bin 目录添加至 PATH 环境变量

同时设置 GOPATH 环境变量，如 D:\gopath

### 1.2 Git 环境安装

安装 Git 最新版本

### 在 Linux 上安装

使用 Linux 发行版包含的基础软件包管理工具来安装

基于 Fedora 的发行版使用 yum

```
$ sudo yum install git
```

基于 Debian 的发行版使用 apt-get

```
$ sudo apt-get install git
```

#### 在 Windows 上安装

打开 Git 官方下载地址 http://git-scm.com/download/win，下载会自动开始，下载完再手动安装

#### 在 Mac 上安装

打开 Git 官方下载地址 http://git-scm.com/download/mac，下载并安装

### 2 代码下载和chain33启动器建立

Windows： 使用 Git 命令下载代码到本地，这里使用 git bash 命令行工具输入命令：

```
$ mkdir -p $GOPATH/src/github.com/33cn$ git clone https://github.com/33cn/plugin.git $GOPATH/src/github.com/33cn/plugin$ cd $GOPATH/src/github.com/33cn/plugin# 开启mod功能$export GO111MODULE=on# 国内用户需要导入阿里云代理，用于下载依赖包$export GOPROXY=https://mirrors.aliyun.com/goproxy#编译$ go build -o chain33.exe$ go build -o chain33-cli.exe github.com/33cn/plugin/cli
```

在目录下生成 chain33.exe 和 chain33-cli.exe两执行文件

Linux： 使用 Git 命令下载代码到本地，这里使用 git bash 命令行工具输入命令：

```
$ mkdir -p $GOPATH/src/github.com/33cn$ git clone https://github.com/33cn/plugin.git $GOPATH/src/github.com/33cn/plugin$ cd $GOPATH/src/github.com/33cn/plugin# 开启mod功能$export GO111MODULE=on# 国内用户需要导入阿里云代理，用于下载依赖包$export GOPROXY=https://mirrors.aliyun.com/goproxy#编译make
```

在build目录下生成 chain33 和 chain33-cli两个执行文件

