# linux上运行StarkNet 主网节点教程（说不定有大毛）

By [zhanglu.eth](https://paragraph.com/@zhanglu) · 2022-08-11

---

**_warning_**:本教程使用的是**Ubuntu 20.04 LTS** or **18.04 LTS的linux操作系统。非该系统不适用此教程。**

### 第一部分 更新系统，下载必要的工具

**一、更新Ubuntu，安装必备软件（依次执行下列命令）**

*   `sudo apt update && sudo apt upgrade -y`
    
*   sudo apt install curl git
    
*   sudo apt install curl build-essential gcc make -y
    

**二、更新所需要的软件包（依次执行下列命令）**

*   `sudo apt install -y python3-pip`
    
*   `sudo apt install -y build-essential libssl-dev libffi-dev python3-dev`
    
*   `sudo apt-get install libgmp-dev`
    
*   `pip3 install fastecdsa`
    
*   `sudo apt-get install -y pkg-config`
    

**三、安装 Rust**

curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh

执行到如下图，输入1，回车确认

![](https://storage.googleapis.com/papyrus_images/621e38c99e3c57933d9885bb68ebc5540b89bd5a29399261b72cd8336141624f.png)

出现下图说明Rust 安装成功，根据提示执行

source "$HOME/.cargo/env"

![](https://storage.googleapis.com/papyrus_images/6785d12ea7e4bb94f39f6d02f319fba4112927e549630961a12ba7a065839c9e.png)

执行rustc --version 查看rust版本号是否是1.62以上

![](https://storage.googleapis.com/papyrus_images/217a0276020d3abaced8f8b69534619bb5e084f7ff87b779ac4904dc6cbf0ead.png)

rust版本不正确会无法运行最新的starkNet版本v0.3.0-alpha，运行后会报E0658错误（如果遇到这种情况需要重新安装Rust就好了）

![](https://storage.googleapis.com/papyrus_images/58c2b4450538ef7672d2238c5dab48e1f18aa6ae1f6ff1080ad1df1889752dbc.jpg)

**四、克隆对应的github代码库（黑体字为运行的代码版本）**

git clone --branch **_v0.3.0-alpha_** [https://github.com/eqlabs/pathfinder.git](https://github.com/eqlabs/pathfinder.git)

**五、为节点创建虚拟环境（依次执行下列命令）**

*   `sudo apt install python3.8-venv`
    
*   `cd pathfinder/py`
    
*   `python3 -m venv .venv`
    
*   `source .venv/bin/activate`
    
*   `PIP_REQUIRE_VIRTUALENV=true pip install --upgrade pip`
    
*   `PIP_REQUIRE_VIRTUALENV=true pip install -r requirements-dev.txt`
    
*   pytest
    

![测试成功页面](https://storage.googleapis.com/papyrus_images/a44af79cce5b93bb5dc8318720d57062365f00a3f997b878cbad250c11624266.png)

测试成功页面

**六、编译pathfinder**

`cargo build --release --bin pathfinder`

（耗时较长，耐心等待）

**七、创建 Infura 或 Alchemy 帐户(我用的是Alchemy)**

参考[这里](https://mirror.xyz/dzupp.eth/8HfjYCkbid2vlayxyPtSD9_wtb9a-wHb1uOENsAOwng) Part 7

**八、运行节点（我运行的是Mainnet）**

cargo run --release --bin pathfinder -- --ethereum.url **XXXXX**

XXX为下图中copy的地址

![](https://storage.googleapis.com/papyrus_images/bbc9797670e01499d92a9ab50b0f9d9d72a63e79a2f27b6ee2cd7dd7497af277.png)

出现这些说明你节点运行成功了。

![](https://storage.googleapis.com/papyrus_images/4542d6346cbeb2c67ff3810b5236d4cc1268b84ea8a00e9c630ee8f7cb97e01a.png)

欢迎关注我的[推特](https://twitter.com/Craaie1),[lens](https://www.lensfrens.xyz/zhanglu.lens),[cyberconnect](https://app.cyberconnect.me/address/0xF53a69e7B19D3A92CEaE7eFB9C621d01D5Ab365A)

参考文献：

[https://mirror.xyz/dzupp.eth/8HfjYCkbid2vlayxyPtSD9\_wtb9a-wHb1uOENsAOwng](https://mirror.xyz/dzupp.eth/8HfjYCkbid2vlayxyPtSD9_wtb9a-wHb1uOENsAOwng)

[https://github.com/eqlabs/pathfinder#readme](https://github.com/eqlabs/pathfinder#readme)

---

*Originally published on [zhanglu.eth](https://paragraph.com/@zhanglu/linux-starknet)*
