This post has been de-listed
It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.
EthArmbian (ARM64) [1] is a custom Ubuntu Linux image for the NanoPC-T4 ARM SoC [2] and the RockPro64 ARM SoC [3] that runs Geth or Parity Ethereum clients as a boot service and automatically turns the device into a full Ethereum node. It includes other components of the Ethereum ecosystem such as Trinity, Status.im, Raiden, IPFS, Swarm and Vipnode as well as initial support for Eth2.0 clients.
EthRaspbian (ARM7) [4] is a custom Debian Linux image for the Raspberry Pi 2/3/4 devices that runs Geth or Parity as light clients and includes other components of the Ethereum framework such as Status.im, Raiden, IPFS, Swarm and Vipnode*.*
Images take care of all process, from setting up the environment to running the Ethereum software and synchronizing the blockchain. All you need is to flash the MicroSD card with the image, plug an ethernet cable and power on the device.
EDIT: Geth 1.9.1 and Vipnode 2.2.1 are available.
EDIT2: Images updated with Geth 1.9.1 and Vipnode 2.2.1
Changelog
- Package updates:
- Geth: 1.9. Official binary
- Swarm: 0.4.2. Official binary
- Parity: 2.5.5. Compiled (runs by default, see Geth 1.9 section)
- Raiden Network: 0.100.4. Official binary
- IPFS: 0.4.21. Official binary
- Status.im: 0.30.0~beta2. Compiled (runs by default)
- Prysm Eth2.0: 0.2.1. Compiled. First release (beacon and validator clients. ARM64 only) [5]
- Vipnode: 2.1. Official binary. First release [6]
- Ethereum user account: force password change on first login
- Changed “vm.min_free_kbytes” sysconf value to better handle memory issues on ARM64 (page allocation failures)
- Disabled ZRAM to avoid page allocation issues on RockPro64
- Added APT Ethraspbian Repository:
- Install Ethereum packages by running apt-get install command
- Automatic and security updates through Unattended Upgrades [7] (ARM64 only, see below)
- update-ethereum command is now an APT alias for upgrading all packages
- PINE RockPro64 [8] ARM64 board image
- Support for Raspberry Pi 4
- Included ATS service [9] (Active Thermal Service) for controlling Fan activity on RockPro64 board
- Included Prysm eth2.0 [5] client (Prysmatic labs Serenity implementation. ARM64 only)
- Included Vipnode [6] client
Download links
For further info regarding installation and usage please visit Ethereum on ARM Github page [1]
NanoPC-T4
Armbian_5.91_Nanopct4_Ubuntu_bionic_default_4.4.179.img.zip
RockPro64
Armbian_5.91_Rockpro64_Ubuntu_bionic_default_4.4.184.img.zip
Raspberry Pi 2/3/4
image_2019-07-25-EthRaspbian2.0-lite.zip
Note that Raspberry Pi 4 has not been tested as I don't own this device. Feedback appreciated.
APT repository
A dedicated APT repository is now included so you can update the Ethereum software by running apt-get
commands. It is available for 2 distros (Ubuntu Bionic for ARM64 boards and Debian Buster for Raspberry pi 2/3/4) and 3 categories each:
- Bionic/Buster: Regular updates
- Bionic-security/Buster-security: Security updates (such as Geth 1.8.27., for instance)
- Bionic-upgrades/Buster-upgrades: Network upgrades (consensus changes)
This granularity allows to better define upgrade policies, particularly if you decide to enable unattended upgrades (see below).
If you are already running an EthArmbian image you can type the following commands to add the repository:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8A584409D327B0A5
sudo add-apt-repository -n "deb http://apt.ethraspbian.com bionic main"
sudo add-apt-repository -n "deb http://apt.ethraspbian.com bionic-security main"
sudo add-apt-repository "deb http://apt.ethraspbian.com bionic-upgrades main"
The update-ethereum
command is now an alias of an apt-get command.
From now on, all Ethereum software will get updates regularly on this repository.
Unattended upgrades [7] (beta)
It seems convenient to provide some kind of upgrade system for 24/7 running devices as they usually get outdated or unmantained. For security and compatibility reasons, it is particularly important to keep the Ethereum clients up to date.
There are some trade-offs, though, as automatic upgrades can break things (there is always a possibility of something going wrong). As so, automatic upgrades are NOT enabled by default.
In order to enable this feature edit the file /etc/apt/apt.conf.d/50unattended-upgrades
and uncomment the EthOnArm and/or Ubuntu repositories you want to get updates from (by removing double slashes). For instance, let’s say you want to enable both security and regular upgrades for Ethereum packages and security upgrades for Ubuntu Bionic OS. /etc/apt/apt.conf.d/50unattended-upgrades
file should look like this (showing relevant lines only):
Unattended-Upgrade::Allowed-Origins {
"EthOnArm ${distro_codename}";
"EthOnArm ${distro_codename}-security";
// "EthOnArm ${distro_codename}-upgrades";
"${distro_id}:${distro_codename}-security";
Every 4 hours the system looks for upgrades and install them if new packages are found.
Pine RockPro64 image [8]
This is the first image release for RockPro64 [8] ARM64 SoC and comes with the same features as the NanoPc-T4.
It is a powerful and affordable board ($79.99) with 4GB RAM and NVMe support (expansion card needed, see below). The board was tested with an EVO 970 NVMe 256GB unit (a NVMe M.2 SSD drive is needed in order to sync the Ethereum blockchain).
ATS [9] (Active Thermal Service) package is included to handle the fan activity (which is a recommended component, see below). It adjusts the fan speed if CPU temperature is greater than 40ºC and stops it if it is below 40ºC.
Although the board performs quite well, this is the first release so some minor stability issues may arise.
Eth2.0 Prysm [5] (Beacon chain and validator, ARM64 only)
If you want to start testing an early implementation of Ethereum 2.0, you can do so by running Prysmatic labs implementation.
For further instructions about running the beacon chain and the validator client (and Eth 2.0 itself) visit their official home page [5].
Basically, follow the instructions to get the Goerli ETH (no real value), set the validator password and run both clients. Once you have done all required steps and make sure everything goes as expected you can edit the file /etc/ethereum/prysm-validator.conf
and define the password previously set in order to run both clients as a systemd service:
sudo systemctl start prysm-beacon
sudo systemctl start prysm-validator
Take into account that this is in a very early stage so expect bugs or crashes. Please report your feedback to the Prysm team.
I will be including other Ethereum clients (i.e. Nethermind) and Eth2.0 implementations (i.e. Nimbus) in the upcoming releases.
Vipnode [6]
Vipnode is an attempt to create incentives for running full Ethereum nodes in exchange of serving light clients. The Debian package just contains the binary (no systemd service yet). Please refer to their home page for further instructions and try to report your feedback.
Geth 1.9 sync
After several syncs attempts, I'm experiencing an issue at the end of the process, see [10]. It may be a memory limitation [11] or other unknown problem. It would be great to have more feedback on this so if someone tries a sync with geth 1.9, please, drop a message on Github.
I will be doing some additional tests with Geth 1.9 but in the meantime, Parity is now the default client as it syncs and performs fine (takes 3-4 days to fully sync the blockchain).
References
[1] https://github.com/diglos/userpatches
[2] https://www.friendlyarm.com/index.php?route=product/product&product_id=225
Note: You can buy the NanoPC-T4 with all components assembled and the EthArmbian image preinstalled (even synced) at https://blockandmortar.io (Europe only). This is ran by u/bitfalls and the store is non-profit
[3] https://store.pine64.org/?product=rockpro64-4gb-single-board-computer
[4] https://github.com/diglos/pi-gen
[5] https://github.com/prysmaticlabs/prysm
https://alpha.prylabs.net/participate
[7] https://wiki.debian.org/UnattendedUpgrades
[8] https://store.pine64.org/?product=rockpro64-4gb-single-board-computer
Components
https://store.pine64.org/?product=rockpro64-pci-e-x4-to-m-2ngff-nvme-ssd-interface-card
https://store.pine64.org/?product=rockpro64-10mm-low-profile-heatsink-with-fan
Power supply is NOT included, choose one according to your country
[9] https://github.com/tuxd3v/ats
Subreddit
Post Details
- Posted
- 5 years ago
- Reddit URL
- View post on reddit.com
- External URL
- reddit.com/r/ethereum/co...