Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Apr 24, 2023. It is now read-only.
/ethereum-nodePublic archive

A dockerized Ethereum related node setup (Geth + Swarm + InfluxDB + Grafana)

License

NotificationsYou must be signed in to change notification settings

chadsr/ethereum-node

Repository files navigation

A dockerized Ethereum related node setup, using docker-compose.

Warning(s):

  • The docker-compose setup builds images locally, since official docker images are only built for x86_64 and I wanted this to compile onto ARM variants as well. Make sure the system has enough resources to do the compilation (1GB of RAM should do).
  • This setup was designed for running on locally networked hardware. I take no responsibility if services are exposed to the Internet and you are not adequately firewalled.

Config

Secrets are handled through environment variables, which can be set by renaming.config.env.example to.config.env and changing account values to your own.

Grafana default credentials areadmin:admin. Change them as soon as Grafana is up and running.

Requirements

  • Adequate storage space (Ideally >300Gb. This is a full-node setup, but could be tweaked otherwise)
  • Minimum of 4GB RAM (If you have 4GB, enable a swap partition to avoid issues!)
  • systemd (or some equivalent such assupervisord)
  • docker (With systemd daemon, or equivalent running)
  • docker-compose
  • AnEthereum account

Installing

  1. Clone this repository:
git clone https://github.com/Chadsr/ethereum_node.git
  1. Init and update Git submodules
git submodule initgit submodule update
  1. Copy the example config to.config.env:
cp .config.env.example .config.env
  1. Edit the values in.config.env to your preference.

Note: An Ethereum account will NOT automatically be generated. It is assumed that you have alreadycreated one.

systemd installation

An example systemd unit file:

[Unit]Description=Ethereum Dockerized ServicesRequires=docker.serviceAfter=docker.service[Service]EnvironmentFile=/path/to/ethereum_node/.config.envWorkingDirectory=/path/to/ethereum_nodeRestart=alwaysExecStart=/usr/bin/docker-compose -f compose_files/geth.yml -f compose_files/swarm.yml -f compose_files/metrics.yml up --buildExecStop=/usr/bin/docker-compose down[Install]WantedBy=multi-user.target
  1. Write the above to a file named/etc/systemd/system/ethereum.serviceand update the working directory to point to the cloned repository.

  2. Enable the systemd service:

sudo systemctl enable ethereum.service
  1. Start the systemd service:
sudo systemctl start ethereum.service
  1. (Optionally) monitor the output of your newly running service:
sudo journalctl -f -u ethereum.service

Notes

Architecture Support

Since this setup is designed to build the docker images locally, it should work on any common CPU architecture. I am personally running it on aarch64 (ARMv8).

Geth

Current version: v1.9.25

Swarm

Current version: v0.5.7


[8]ページ先頭

©2009-2025 Movatter.jp