All Projects → alessandrokonrad → Pi-Pool

alessandrokonrad / Pi-Pool

Licence: other
Cardano Stakepool on Raspberry Pi

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Pi-Pool

cardanocli-js
Wrapping the cardano-cli inside JavaScript
Stars: ✭ 173 (-15.2%)
Mutual labels:  stake, cardano, cardano-node, stakepool, cardano-cli
scripts
StakePool Operator Scripts. Learn how to create and manage your StakePool with these simple scripts. Hardware-Ledger Support, Token/Asset Sending, Offline-Mode and more...
Stars: ✭ 200 (-1.96%)
Mutual labels:  cardano, cardano-node, stakepool, cardano-cli
Debian Pi Aarch64
This is the first 64-bit system in the world to support all Raspberry Pi 64-bit hardware!!! (Include: PI400,4B,3B+,3B,3A+,Zero2W)
Stars: ✭ 2,505 (+1127.94%)
Mutual labels:  raspberrypi, arm64, aarch64, raspberry-pi-4
Raspberry Pi Cross Compilers
Latest GCC Cross Compiler & Native (ARM & ARM64) CI generated precompiled standalone toolchains for all Raspberry Pis. 🍇
Stars: ✭ 261 (+27.94%)
Mutual labels:  raspberrypi, arm64, aarch64
tokenomia
Tokenomia is built for the Cardashift ICO, it aims to simplify the use of Native Tokens and Smart Contracts above the Cardano Platform. Cardashift is a community-driven startup platform that raises funds, builds and accelerates startups that solve social and environmental problems.
Stars: ✭ 84 (-58.82%)
Mutual labels:  cardano, cardano-node, cardano-cli
Rust Raspberrypi Os Tutorials
📚 Learn to write an embedded OS in Rust 🦀
Stars: ✭ 7,275 (+3466.18%)
Mutual labels:  arm64, aarch64, raspberry-pi-4
Raspberrypipkg
DEPRECATED - DO NOT USE | Go here instead ->
Stars: ✭ 758 (+271.57%)
Mutual labels:  raspberrypi, arm64, aarch64
EEGwithRaspberryPI
Open-Source board for converting RaspberryPI to Brain-computer interface
Stars: ✭ 402 (+97.06%)
Mutual labels:  raspberrypi, raspberry-pi-4
Poke-Pi-Dex
Our deep learning for computer vision related project for nostalgic poke weebs (Sistemi digitali, Unibo).
Stars: ✭ 18 (-91.18%)
Mutual labels:  raspberrypi, raspberry-pi-4
V4L2-to-NDI
A video input (V4L2) to NDI converter that works with Raspberry Pi (32-bit and 64-bit), and Intel/AMD CPUs
Stars: ✭ 35 (-82.84%)
Mutual labels:  raspberrypi, arm64
Deepc
vendor independent deep learning library, compiler and inference framework microcomputers and micro-controllers
Stars: ✭ 260 (+27.45%)
Mutual labels:  raspberrypi, arm64
RPi-TELEBOT
Python based Telegram bot to monitor and control the raspberry pi
Stars: ✭ 19 (-90.69%)
Mutual labels:  raspberrypi, raspberry-pi-4
aria2-ariang-docker
🐳 Aria2 downloader and AriaNg webui Docker image based on Alpine Linux
Stars: ✭ 49 (-75.98%)
Mutual labels:  raspberrypi, arm64
Realtek-USB-Wireless-Adapter-Drivers
Realtek USB Wireless Adapter Drivers [0bda:f179] (Kernel 4.15.x ~ 5.9.x)
Stars: ✭ 34 (-83.33%)
Mutual labels:  raspberrypi, arm64
teslausb
Steps and scripts for turning a Raspberry Pi into a useful USB drive for a Tesla
Stars: ✭ 1,426 (+599.02%)
Mutual labels:  raspberrypi, raspberry-pi-4
filebrowser-docker
🐳 filebrowser inside Docker container
Stars: ✭ 122 (-40.2%)
Mutual labels:  raspberrypi, arm64
jitsi-box
A Raspberry Pi based box to automate holding hybrid conferences with Jitsi
Stars: ✭ 15 (-92.65%)
Mutual labels:  raspberrypi, raspberry-pi-4
Tensorflow Bin
Prebuilt binary with Tensorflow Lite enabled (native build). For RaspberryPi / Jetson Nano. And, solved Tensorflow issues #15062,#21574,#21855,#23082,#25120,#25748,#29617,#29704,#30359. Support for custom operations in MediaPipe.
Stars: ✭ 349 (+71.08%)
Mutual labels:  raspberrypi, aarch64
Swift On Balena
Docker images for Swift on Raspberry Pi and other ARM devices from balena's base images.
Stars: ✭ 153 (-25%)
Mutual labels:  raspberrypi, aarch64
vabal
cabal in Valle
Stars: ✭ 43 (-78.92%)
Mutual labels:  cabal, ghc

Berry Pool

Berry is a Cardano Stakepool on Raspberry Pi. Check out my website to see more about my stakepool. You can support me by just delegating to my pool.
This repository is a guide to setup a stakepool on a Raspberry Pi by your own.

Why this guide

Basically we have two different popular CPU architectures. Let's only consider 64-bit machines. Many of you know Intel and AMD. They primarily build their CPUs on a x86_64 architecture. Then there is ARM, which CPUs are built on the so called aarch64 architecture, and our Raspberry Pi has an aarch64 CPU. I don't want to dive any deeper in that, but the problem is, that the Cardano-Node setup is made for x86_64 machines and currently doesn't support aarch64 out of the box. The goal of this repository is to make it as easy as possible to run a Cardano-Node on Raspberry Pi.

Prerequesites

  • Raspberry Pi 4 4GB RAM or 8GB RAM (recommended)
  • SSD (at least 20GB)
  • microSD Card (needed to upgrade the bootloader)
  • SATA USB 3.0 Adapter (list of working adapters)

Getting started

Note

Cardano-Node version 1.27.0 has been released! This image comes with 1.23.0, so you should directly update the node after installing the image. 1.23.0 can't connect with the network anymore since December 2020.

Download 1.27.0 here

Scroll down to "Updating the Cardano-Node" if you don't know how to update the node version.

Changes needed:

Remove "ChainDB" from all metrics in Grafana, so that it can be displayed correctly again. E.g.: cardano_node_ChainDB_metrics_epoch_int -> cardano_node_metrics_epoch_int

Full Release Notes

Upgrading the Bootloader

If your Pi already boots from SSD (recently shipped Pi 4 have USB Booting already flashed on) you can skip this section.

  1. Download Pi Imager and install it
  2. Insert the microSD Card in a Card Reader and plug it in your PC
  3. Open Pi Imager and click "Choose OS" -> Misc utility images -> Raspberry Pi 4 EEPROM boot recovery
  4. Click on "Choose SD Card" and select the microSD Card
  5. Click "Write" and wait until finished
  6. Now remove the microSD Card from the PC and plug it into the Pi
  7. Connect a monitor to the Pi and turn it on
  8. If you screen shows a green color, the bootloader had been successfully updated!
  9. Remove the microSD from the Pi

Install the Image

  1. Download the latest release
  2. Plug in the SSD in your PC
  3. Open Pi Imager and scroll down to "Use custom", select the downloaded release
  4. Click on "Choose SD Card" and select the SSD
  5. Click "Write" and wait until finished
  6. You can now connect the SSD with the Pi and turn it on.

Running the Image

These are the login credentials:

Username:ada
Password:lovelace

If you want to change the password, you can do this with passwd

Running a Cardano-Node:

A sample node configuration folder is already preinstalled. To reproduce:

mkdir pi-node
cd pi-node
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-config.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-byron-genesis.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-shelley-genesis.json
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-topology.json

Starting a Cardano-Node:

cd pi-node
cardano-node run \
   --topology mainnet-topology.json \
   --database-path db \
   --socket-path db/socket \
   --host-addr 0.0.0.0 \
   --port 3000 \
   --config mainnet-config.json

That's it. Your node is now starting to sync!

Monitoring

If you want to monitor your node, you can do this with the command startMonitor.

You can access another instance of terminal by pressing alt+F2-F12 buttons. alt+F1 should take you back to the running node.

This will create a Grafana instance at port 5000. A custom dashboard is also already preinstalled. You can find it in the left panel under Dashboard -> Manage. You should find a Dashboard called "Raspberry Pi Node".

To connect to it find your ip addresss by typing: ip a

In your browser type your ip address and the port number: XXX.XXX.X.X:5000

Default Credentials are:
Username: admin
Password: admin

The whole monitoring configuration you can find under /opt/cardano/monitoring

Use stopMonitor to stop the monitoring process.

Updating the Cardano-Node

Currently there is no auto updater built in the Image. In order to update the version, this needs to be done manually. To get the latest Cardano-Node version, join this Telgram group or check in the Getting started section under Note, if there is something new.

Download it and replace the new binaries with the current ones under ~/.local/bin (cardano-node and cardano-cli)

Redownload the the config file:
wget https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/mainnet-config.json
Change the following parameters in the config file:

  ...
  "TraceBlockFetchDecisions": true,
  ...
  "hasEKG": 12600,
  "hasPrometheus": [
    "127.0.0.1",
    12700
  ],
  ...

Setup a Stake Pool

I can recommend CNTools (make sure the CNTools version is compatible with the Cardano-Node version).

The guide of CoinCashew is also really helpful.

Otherwise I would follow the official guide of cardano.org

For JavaScript enthusiasts this could be helpful: cardanocli-js

Port forwarding

Go to your router settings. You can access them via your browser with the IP address of the router (e.g. 192.168.178.1 or if you have a FritzBox with fritz.box). Then look for an option "Port Forwarding". Choose the IP address of your node(s) and open its/their port(s). Allow TCP. Then save it and that's it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].