Run an Ethereum node — just press start

Overview

NiceNode

"Run a node, just press start"

Mission: 2x the number of Ethereum nodes by making a one-click-to-start Ethereum node

Discord Discord

NiceNodeScreenshot

Why?: The light client roadmap for Ethereum depends on access to reliable full nodes. Increasing the number and availability of full nodes is therefore important for the future of Ethereum.

Logo credits: Logo made by Artist, William Tempest, from https://ethereum.org/en/assets/

Development

Test

Install

Clone the repo and install dependencies:

git clone <nice node repo url>
npm install

Starting Development

Start the app in the dev environment:

npm start

Packaging for Production

To package apps for the local platform:

npm run package
Comments
  • feat: Added storybook with button component

    feat: Added storybook with button component

    This PR adds storybook to the project (along with 2 other default story files included with initialization as reference for now), and a button component based on the current draft specs. Currently only includes 2 icons. Wasn't exactly sure what kind of templates we wanted for stories, but made them based on sizes for now.

    @jgresham Do you happen to know what's going on with the typescript errors with the Github Actions? I'm still new with TypeScript, and I looked it up, but it's having issues with the Storybook generated files.. I thought about ignoring these files but that doesn't seem like a good idea either :thinking:

    resolves #54

    reviewing 
    opened by corn-potage 5
  • [README] Add GitPOAP Badge to Display Number of Minted GitPOAPs for Contributors

    [README] Add GitPOAP Badge to Display Number of Minted GitPOAPs for Contributors

    Hey all, this PR adds a GitPOAP Badge to the README that displays the number of minted GitPOAPs for this repository by contributors to this repo.

    You can see an example of this in our Documentation repository.

    This should help would-be contributors as well as existing contributors find out that they will/have received GitPOAPs for their contributions.

    CC: @colfax23 @kayla-henrie

    opened by kayla-henrie 2
  • Frequently Asked Questions (FAQ) page for nicenode.xyz

    Frequently Asked Questions (FAQ) page for nicenode.xyz

    Feature details

    • [x] Gather question and answers from Twitter, Reddit Post 1, Reddit Post 2, and Discord
    • [ ] Make the answers concise and find any valuable links to include in the answers.
    • [ ] Have @jgresham review them
    • [ ] In a Pull Request, add them to the FAQ page at https://github.com/jgresham/nice-node-docs/blob/main/src/pages/faq/index.tsx
    • [ ] Ensure that the FAQs will be formatted with when people use Search Engines (ex. Google https://developers.google.com/search/docs/advanced/structured-data/faqpage).
    • [ ] Only Google support required, however, see if DuckDuckGo or Brave Search uses a similar format.
    enhancement good first issue 
    opened by jgresham 2
  • Ubuntu 22 breaks support for running App Images

    Ubuntu 22 breaks support for running App Images

    Problem details

    Installing a dependency using the terminal is required to run an App Image on Ubuntu 22. See: https://askubuntu.com/questions/1403811/appimage-on-ubuntu-22-04

    NiceNode should use Ubuntu's recommended format for app installation, which appears to be using Snapcraft https://ubuntu.com/desktop/developers

    More info on Snap and electron apps: https://snapcraft.io/#electron https://www.electron.build/configuration/snap

    in-progress 
    opened by jgresham 2
  • chore(deps-dev): bump electron from 16.2.7 to 21.2.3

    chore(deps-dev): bump electron from 16.2.7 to 21.2.3

    Bumps electron from 16.2.7 to 21.2.3.

    Release notes

    Sourced from electron's releases.

    electron v21.2.3

    Release Notes for v21.2.3

    Other Changes

    • Security: backported fix for 1356234. #36219
    • Security: backported fix for 1361612. #36216

    electron v21.2.2

    Release Notes for v21.2.2

    Other Changes

    • Security: backported fix for CVE-2022-3656. #36222
    • Updated Chromium to 106.0.5249.168. #36185

    electron v21.2.1

    Release Notes for v21.2.1

    Fixes

    • Default margin has been added in the code. #36072 (Also in 22)
    • Fixed a potential issue when calling webContents.printToPDF(). #36064 (Also in 22)
    • Fixed spurious promise rejection in webContents.loadURL when navigating to a hash. #36150

    Other Changes

    • Updated Chromium to 106.0.5249.165. #36162

    electron v21.2.0

    Release Notes for v21.2.0

    Fixes

    • Added support for Windows drop-down dialog extensions. #36027 (Also in 18, 19, 20)
    • Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #36050 (Also in 20, 22)
    • Removed support for nodeIntegrationInWorker in Service Workers and Shared Workers owing to sandboxing policies. #36009 (Also in 22)

    Other Changes

    • Updated Chromium to 106.0.5249.119. #36001

    electron v21.1.1

    Release Notes for v21.1.1

    Fixes

    • Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #35977 (Also in 20, 22)
    • Fixed a potential memory leak. #35965 (Also in 22)
    • Fixed an issue where some options were incorrectly ignored when using webContents.printToPDF(). #35992 (Also in 22)
    • Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #35982 (Also in 20, 22)
    • You can now import the built-in electron module via ESModule loaders, i.e. import('electron') and import 'electron' now work natively. #35958 (Also in 20, 22)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • chore(deps-dev): bump electron from 16.2.7 to 18.3.7

    chore(deps-dev): bump electron from 16.2.7 to 18.3.7

    Bumps electron from 16.2.7 to 18.3.7.

    Release notes

    Sourced from electron's releases.

    electron v18.3.7

    Release Notes for v18.3.7

    Fixes

    • Fixed WCO not responding to touch events on windows. #35177 (Also in 19, 20)
    • Fixed webContents.getUserAgent() incorrectly returning an empty string unless previously set. #35130 (Also in 17, 19, 20)
    • Fixed an issue in which calling setBounds() after e.preventDefault in a 'will-move' or 'will-resize' event wouldn't change the window's shape until the mouse button was released. #35082 (Also in 19, 20)
    • Fixed context menu not showing all items on macOS when dock is not hidden. #35198 (Also in 19)
    • None. #35171 (Also in 19, 20)

    Other Changes

    • Fixed page size always being restricted to 4k on Linux arm64. #35184
    • Security: backported fix for CVE-2022-2478. #35099
    • Security: backported fix for chromium:1334864. #35097

    electron v18.3.6

    Release Notes for v18.3.6

    Fixes

    • Fixed a crash when calling BrowserWindow.setEnabled(). #34973 (Also in 19, 20)
    • Fixed a potential crash when changing window settings after initializing WCO with an invalid titleBarStyle. #34873 (Also in 17, 19, 20)
    • Fixed alwaysOnTop BrowserWindow option for X11 Linux. #34911 (Also in 19, 20)
    • Fixed an issue where BrowserWindows on macOS were incorrectly marked as resizable. #34907 (Also in 19, 20)
    • Fixed an issue where Windows Control Overlay buttons did not respect maximizable/minimizable/closable states of a BrowserWindow. #34720 (Also in 17, 19, 20)
    • Fixed an issue where calling BrowserWindow.setRepresentedFilename on macOS with titlebarStyle: 'hiddenInset' or titlebarStyle: 'hidden' inadvertently moves the traffic light location. #34847 (Also in 19, 20)
    • Fixed an issue where some BrowserWindows opened from new links wouldn't properly load URLs. #34910 (Also in 19)
    • Fixed an issue where the minimize button with WCO enabled would incorrectly be highlighted in some cases. #34838 (Also in 17, 19, 20)
    • Fixed an issue with background colors being improperly applied to BrowserViews on Windows. #33478 (Also in 16)
    • Fixed empty app_id when running under wayland. #34877 (Also in 19, 20)
    • Fixed missing Sec-CH-UA headers and empty navigator.userAgentData. #34758 (Also in 17, 19, 20)
    • Fixed symbol generation on 32-bit Windows release builds. #35096 (Also in 19, 20)
    • Prevent brief display of "Ozone X11" in window title on Linux. #34943

    Other Changes

    • Backported fix for CVE-2022-2294. #34882
    • Security: backported fix for 1287804. #35102
    • Security: backported fix for 1333333. #34689
    • Security: backported fix for 1335054. #34687
    • Security: backported fix for 1335458. #34685
    • Security: backported fix for 1336014. #35004
    • Security: backported fix for 1339844. #35002
    • Security: backported fix for 1340335. #35000
    • Security: backported fix for 1340654. #34998
    • Security: backported fix for CVE-2022-2162. #34714
    • Security: backported fix for CVE-2022-2295. #34881

    electron v18.3.5

    Release Notes for v18.3.5

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies javascript 
    opened by dependabot[bot] 1
  • chore(deps): bump node-fetch from 3.2.4 to 3.2.10

    chore(deps): bump node-fetch from 3.2.4 to 3.2.10

    Bumps node-fetch from 3.2.4 to 3.2.10.

    Release notes

    Sourced from node-fetch's releases.

    v3.2.10

    3.2.10 (2022-07-31)

    Bug Fixes

    v3.2.9

    3.2.9 (2022-07-18)

    Bug Fixes

    • Headers: don't forward secure headers on protocol change (#1599) (e87b093)

    v3.2.8

    3.2.8 (2022-07-12)

    Bug Fixes

    v3.2.7

    3.2.7 (2022-07-11)

    Bug Fixes

    v3.2.6

    3.2.6 (2022-06-09)

    Bug Fixes

    • undefined reference to response.body when aborted (#1578) (1c5ed6b)

    v3.2.5

    3.2.5 (2022-06-01)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Status: error running

    Status: error running

    Problem description

    After update to new version, Geth stops with error running.

    "Geth Logs

    Newest logs at the top 'pm2' is not recognized as an internal or external command, operable program or batch file."

    Any help would be appreciated.

    For NiceNode developers

    { "platform": "win32", "platformRelease": "10.0.17763", "arch": "x64", "totalMemory": 137359765504, "niceNodeVersion": "1.5.1-alpha" }

    opened by Deafideaf 1
  • Setup Storybook

    Setup Storybook

    Feature details

    • [x] Setup Storybook https://storybook.js.org/
    • [x] Add small section in the readme
    • [x] Include at least one component in Storybook
    • [x] Johns will publish to https://nndesign.netlify.app/
    enhancement 
    opened by jgresham 1
  • Geth binary on Mac requires rosetta to be installed

    Geth binary on Mac requires rosetta to be installed

    Problem details

    What went wrong and what should have happened? The geth binary can't start. I've opened an issue with the Geth team to see if they will take this up :) https://github.com/ethereum/go-ethereum/issues/25261

    bug 
    opened by jgresham 1
  • feat: Max peers config setting to lower bandwidth usage, added prysm config

    feat: Max peers config setting to lower bandwidth usage, added prysm config

    All of the nodes currently use default settings for max peers, making it difficult for those with limited monthly data caps to run nodes. This change allows users to change the max peers number for each node in the settings.

    Config currently doesn't exist for Erigon due to docker compose.

    Additionally fixes #44, and separate issue where Besu couldn't switch between the 2 different data storage types.

    opened by corn-potage 1
  • Fuzzy log search

    Fuzzy log search

    Feature details

    Right now the log search filter is an exact match. Use an npm package to accomplish this or implement your own algoritm. Shouldn't impact performance too much. Include the runtime of the fuzzy search.

    • [ ] Ignore case - A search for "error" should return logs with "... Error ... "
    • [ ] Char off-by-one - a search for "eror" should return logs with " ... error ... "

    Current line of code with the exact match log.includes(searchTerm) at https://github.com/jgresham/nice-node/blob/f01558eb32e622a48b3aa1b8493357e646aa9a93/src/renderer/Generics/redesign/LogMessage/Logs.tsx#L105

    enhancement good first issue 
    opened by jgresham 1
  • Increase docker resource allocation after install

    Increase docker resource allocation after install

    Feature details

    Docker only uses about half of a computers hardware resources by default. After it is installed, we should notify users to increase the allocation or if possible, NiceNode can do this automatically.

    Windows (we use WSL2 backend for Docker): https://docs.docker.com/desktop/settings/windows/#advanced

    enhancement 
    opened by jgresham 0
  • Warn users of OS or hardware incompatibility

    Warn users of OS or hardware incompatibility

    Feature details

    Docker Desktop isn't support on certain OS versions or hardware. We need to warn the user that their hardware or OS is not compatible and to urge them to look-into updating software or hardware (if possible).

    Docker Windows reqs https://docs.docker.com/desktop/install/windows-install/

    • [ ] Windows - old version. Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2 or higher. Windows 10 64-bit: Home or Pro 21H1 (build 19043) or higher, or Enterprise or Education 20H2 (build 19042) or higher.

    • [ ] Windows - BIOS doesn't support virtualization

    Docker Mac reqs https://docs.docker.com/desktop/install/mac-install/

    • [ ] MacOS - old version. macOS must be version 11 or newer. That is Big Sur (11), Monterey (12), or Ventura (13).
    • [ ] MacOS - VirtualBox must not be installed
    enhancement 
    opened by jgresham 0
  • Default nethermind install fails to start.

    Default nethermind install fails to start.

    Problem description.

    Walked through default install, chose nethermind. Start fails. Services.msc shows docker service is running tho.

    Here is relevant logs section:

    { killed: false, code: 1, signal: null, cmd: 'docker pull nethermind/nethermind', stdout: 'Using default tag: latest\n', stderr: 'error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/create?fromImage=nethermind%2Fnethermind&tag=latest": open //./pipe/docker_engine: The system cannot find the file specified.\n', innerError: Error: Command failed: docker pull nethermind/nethermind error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/create?fromImage=nethermind%2Fnethermind&tag=latest": open //./pipe/docker_engine: The system cannot find the file specified.

      at ChildProcess.exithandler (node:child_process:406:12)
      at ChildProcess.emit (node:events:394:28)
      at ChildProcess.emit (node:domain:475:12)
      at maybeClose (node:internal/child_process:1064:16)
      at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
      at Process.callbackTrampoline (node:internal/async_hooks:130:17) {
    killed: false,
    code: 1,
    signal: null,
    cmd: 'docker  pull nethermind/nethermind'
    

    }, level: 'error', service: 'nice-node-service', timestamp: '2022-12-17T07:06:11.992Z' }

    For NiceNode developers

    { "platform": "win32", "platformRelease": "10.0.19045", "arch": "x64", "totalMemory": 17087881216, "niceNodeVersion": "1.5.1-alpha" }

    in-progress 
    opened by bitstr3am 1
  • UI/UX major redesign

    UI/UX major redesign

    preparing...

    Reasons to release sooner rather than later

    1. main currently doesn't create/support jwtsecrets, which are required by nodes by default now
    2. Massive on-boarding improvements

    Reasons to wait

    1. Docker install on Windows is super unclear
    opened by jgresham 0
Releases(v2.2.3-alpha)
Owner
Johns Gresham
JS full stack w/ React. learning Ethereum.
Johns Gresham
Using Ethereum Smart Contracts to verify any user's vaccination via Identification Number or QR Code.

Covid-Vaccine-Verification-Blockchain Using Ethereum Smart Contracts to verify any user's vaccination via Identification Number or QR Code. Requiremen

Zaynab Batool Reza 4 May 14, 2022
A little practice dapp for ethereum smart contract development.

Basic Sample Hardhat Project This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample s

Andres Vidoza 9 Sep 28, 2022
Material-UI is a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design.

Material-UI Quickly build beautiful React apps. Material-UI is a simple and customizable component library to build faster, beautiful, and more access

Material-UI 83.6k Dec 30, 2022
This box comes with everything you need to start using smart contracts from a react app

Truffle React Hooks TypeScript Template This box comes with everything you need to start using smart contracts from a react app. This is as barebones

Louis Aussedat 3 Mar 11, 2022
🔄 Basic project to start studying React and Typescript. With it you can translate text to binary or morse language. This project addresses the creation of routes and components.

max-conversion Projeto criado para iniciar nos estudos de React e Typescript Basic project to gain knowledge in react Na plataforma é possível convert

Igor Neves 3 Feb 12, 2022
Safari-like start page

Safari-like Start Page Safari-like Start Page - Online Preview Installation clone this repo # Clone the repo # Using HTTPS git clone https://github.c

Louis 8 Dec 8, 2022
You shouldn't start a wonderful app from scratch every time.

React App Starter You shouldn't start a wonderful app from scratch every time. ~ TJ Features: Out of box API mocking. Out of box Authentication. Beaut

蒋继发 8 Nov 10, 2022
Start developing LIFF application with a simple CLI command.

@line/create-liff-app Start developing LIFF application with a simple CLI command. About LIFF Templates Getting Started Create LIFF Channel Installati

LINE 27 Nov 10, 2022
This is not my code, just trained with "From Scratch - Développement Web" youtube video

React-Countries-API DISCLAIMER FR : Ceci n'est pas mon code, je me suis juste entraîné à partir de la vidéo de From Scratch - Développement Web ! EN :

LejusVDP 1 Jan 4, 2022
Agile Planning tool for cool team, free, no setup, just come and play.

Voting Poker is an Agile Planning Tool for cool teams We're looking to create a fully customizable Zero config Pretty design tool for teams in demand.

Jefferson Moura 10 Dec 12, 2022
Recipe websites have too much clutter, this scrapes *just* the recipe

Only The Recipe Most recipes websites have videos and ads flying everywhere, on top of walls of text describing the recipe's backstory. This is an eas

JP Bulman 46 Dec 28, 2022
🌠 just a personal card inspired by Discord's Profile

Discord Profile Card This is a personal card inspired by Discord's Profile. Shows your info and presence activities on real time. Table of contents Di

Leep? 7 Oct 21, 2022
Online ide where one can run code written in the available language

Online ide where one can run code written in the available language, can choose theme out of 10 themes, can change font size as well as can generate url of their code

Jaydip Dey 1 Dec 25, 2022
React Starter Kit — isomorphic web app boilerplate (Node.js, Express, GraphQL, React.js, Babel, PostCSS, Webpack, Browsersync)

React Starter Kit — "isomorphic" web app boilerplate React Starter Kit is an opinionated boilerplate for web development built on top of Node.js, Expr

Kriasoft 21.7k Dec 30, 2022
Starter Antd 4.0 Admin App Mern( Node.js / React / Redux / Ant Design ) Crud & Auth , Dashboard

Starter Antd Admin (Crud & auth) Mern App (Express.js / React / Redux / MongoDB) App built for DigitalOcean MongoDB Hackathon CRM Starter Mern Antd Ad

Salah Eddine Lalami 208 Jan 8, 2023
A Workspace Web App powered by React and Node Js.

zc_main This is the Zuri Chat frontend built with ExpressJS (Backend) and React (Frontend) Getting Started. Make sure you have nodejs installed by run

Zuri Chat 189 Dec 14, 2022
Simple sosmed with react & node

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: ya

Dian Ananda 2 Jun 3, 2022
A node script that lists the cities on Santa's route from santatracker.google.com

Google Santa Route A script that lists the cities on Santa's route from santatracker.google.com based on the JSON containing all Santa's destinations.

Emile Calixte 1 Dec 24, 2021
Webrtc, & web socket based streaming live video streaming and chatting platform. Written in Node, Typescript, and Javascript!

Live Streaming!! Welcome to my implementation of live streaming along with real time chat. I'm going to make a live streaming platform that will supoo

Hamdaan Khalid 19 Nov 23, 2022