Coming soon - Get a detailed view of why an account is flagged as spam!
view details

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.

89
Ethereum on ARM. NanoPC-T4 and Raspberry Pi images. New supported devices: Pine RockPro64 and Raspberry Pi 4. APT repository and automatic upgrades. Ethereum 2.0 Prysm clients and Vipnode. Ethereum clients update.
Author Summary
diglos76 is a trans person
Post Body

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

[6] https://vipnode.org/

[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

[10] https://github.com/ethereum/go-ethereum/issues/19754

[11] https://github.com/ethereum/go-ethereum/issues/19837

Duplicate Posts
2 posts with the exact same title by 1 other authors
View Details
Author
Account Strength
90%
Account Age
9 years
Verified Email
Yes
Verified Flair
No
Total Karma
2,933
Link Karma
2,320
Comment Karma
488
Profile updated: 4 days ago

Subreddit

Post Details

They Are
a trans person
We try to extract some basic information from the post title. This is not always successful or accurate, please use your best judgement and compare these values to the post title and body for confirmation.
Posted
5 years ago