1. 安装依赖(openssl, curl)
方法其实很简单,就是打开终端并输入如下语句:
brew install openssl curl
但我在安装过程中遇到了一些小问题。如下。
问题1
输入完上面语句后,我的电脑报错
Error: Failed to import: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/xxx
貌似是Homebrew的问题。在网上找到一个解决办法,即在终端中依次输入如下命令:
sudo chown -R username:staff *
brew doctor
(注意:上面第一条命令中的“username”是你在mac中的用户名,可通过在终端输入“whoami”得到。)
但是,上面第二条语句在运行过程中似乎还是有问题。于是我遇到了第二个错误。
问题2
再次在终端输入“brew install openssl”尝试安装openssl,出现新的报错:
Traceback (most recent call last):
/usr/local/Homebrew/Library/Homebrew/brew.rb:17:in `<main>': HOMEBREW_REQUIRED_RUBY_VERSION was not exported! Please call bin/brew directly! (RuntimeError)
似乎Homebrew并没有修复完全,还是有问题。根据另一个文章教的方法,在终端中输入:
brew update-reset
这回似乎是修复好了。
第三次在终端输入“brew install openssl”尝试安装openssl,遇到了第三个问题。
问题3
遇到新的报错:
Error:
homebrew-core is a shallow clone.
homebrew-cask is a shallow clone.
To `brew update`, first run:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
这次不错,终端给出了解决办法,即依次输入
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
网上还提供了另一个解决办法,即删掉homebrew-core和homebrew-cask,如下:(由于上个方法已将问题解决,所以我没有尝试下面的方法)
rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
brew update
至此,问题解决。
再次输入“brew install openssl”和“brew install curl”,成功。
2. 创建操作目录,下载安装脚本
在用户目录下创建fisco文件夹:
cd ~
mkdir -p fisco
进入fisco文件夹并下载脚本:
cd fisco
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.7.1/build_chain.sh && chmod u+x build_chain.sh
3. 搭建单群祖4节点联盟链
查看以下端口是否被占用:30300~30303,20200~20203,8545~8548。方法是在终端输入如下语句:
lsof -i tcp:30300
如果没有返回值说明没有被占用。如果端口被占用,会返回占用该端口的进程的PID。我们需要输入下面命令杀死进程:
sudo kill PID
确保端口未被占用后,输入如下语句:
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
注意,-p后面跟的三个端口分别指定了p2p_port, channel_port, jsonrpc_port的起始端口。运行成功后输出如下:
4. 启动联盟链
输入如下语句:
bash nodes/127.0.0.1/start_all.sh
启动成功输出如下: