2020-05-02 13:14:19 +00:00
# Installation
2020-08-10 10:10:36 +00:00
The Nimbus beacon chain can run on Linux, macOS, Windows, and Android. At the moment, Nimbus has to be built from source.
2020-06-19 13:14:12 +00:00
2020-07-03 16:03:06 +00:00
## Time
2020-08-10 10:10:36 +00:00
The beacon chain relies on your computer having the correct time set (plus or minus 0.5 seconds).
2020-07-03 16:03:06 +00:00
2020-08-03 22:15:49 +00:00
We recommended you run a high quality time service on your computer such as:
2020-07-03 16:03:06 +00:00
* GPS
2020-08-10 10:10:36 +00:00
* NTS (network time security, [IETF draft ](https://tools.ietf.org/html/draft-ietf-ntp-using-nts-for-ntp-19 ))
* [Roughtime ](https://roughtime.googlesource.com/roughtime ) (google)
2020-07-03 16:03:06 +00:00
2020-08-10 10:10:36 +00:00
At a minimum, you should run an NTP client on the server.
2020-08-03 22:15:49 +00:00
2020-08-24 12:29:19 +00:00
> **Note:** Most operating systems (including macOS') automatically sync with NTP by default.
If the above sounds like latin to you, don't worry. You should be fine as long as you haven't messed around with the time and date settings on your computer (they should be set automatically).
2020-07-03 16:03:06 +00:00
2020-06-19 13:14:12 +00:00
## External Dependencies
2020-05-02 13:14:19 +00:00
- Developer tools (C compiler, Make, Bash, Git)
2020-08-10 10:10:36 +00:00
- [PCRE ](https://www.pcre.org/ )
2020-06-19 13:14:12 +00:00
2020-08-10 10:10:36 +00:00
Nimbus will build its own local copy of Nim, so Nim is not an external dependency,
2020-05-02 13:14:19 +00:00
## Linux
2020-08-10 10:10:36 +00:00
On common Linux distributions the dependencies can be installed with
2020-06-19 13:14:12 +00:00
2020-05-02 13:14:19 +00:00
```sh
# Debian and Ubuntu
sudo apt-get install build-essential git libpcre3-dev
# Fedora
dnf install @development -tools pcre
# Archlinux, using an AUR manager for pcre-static
yourAURmanager -S base-devel pcre-static
```
2020-06-19 13:14:12 +00:00
### macOS
2020-05-02 13:14:19 +00:00
Assuming you use [Homebrew ](https://brew.sh/ ) to manage packages
```sh
2020-07-06 11:47:26 +00:00
brew install pcre cmake
2020-05-02 13:14:19 +00:00
```
### Windows
You can install the developer tools by following the instruction in our [Windows dev environment section ](./advanced.md#windows-dev-environment ).
2020-08-10 10:10:36 +00:00
We also provide a downloading script for prebuilt PCRE.
2020-05-02 13:14:19 +00:00
### Android
2020-06-19 13:14:12 +00:00
- Install the [Termux ](https://termux.com ) app from FDroid or the Google Play store
- Install a [PRoot ](https://wiki.termux.com/wiki/PRoot ) of your choice following the instructions for your preferred distribution.
2020-08-10 10:10:36 +00:00
Note, the Ubuntu PRoot is known to contain all Nimbus prerequisites compiled on Arm64 architecture (the most common architecture for Android devices).
2020-05-02 13:14:19 +00:00
2020-08-10 10:10:36 +00:00
Assuming you use Ubuntu PRoot
2020-05-02 13:14:19 +00:00
```sh
apt install build-essential git libpcre3-dev
```
2020-06-29 12:04:01 +00:00
## Next steps
2020-09-27 16:53:48 +00:00
You're now ready to move on to running a validator.