NiceNode: Run a node at home, the easy way

Project Name

NiceNode (https://nicenode.xyz/)

Project Description and why it’s classified as a Public Good

NiceNode is a simple desktop app that runs, monitors, and controls a node - built from the bottom up to easily run any containerized software.

The other options to run a node require technical skills to open a terminal and run commands or install a new operating system. Running a node should be as simple as downloading an app - and we’ve been working hard on NiceNode to make this happen.

It is a public good because it is free, open-source, and enables people to run public infrastructure - blockchain nodes and more!

We have built an app which provides the easiest way for users to run nodes - and the app is designed from the bottom up so that any containerized software can added in the future with a pull request - our docs to add a new node. Ethereum nodes, Layer 2 nodes, and Farcaster Hubs are available now.

Main Project Funding Sources

~$180K in funding over 1.5 years mostly from Gitcoin Rounds, Optimism Retro Public Goods Funding (PGF), and a grant from the Ethereum Ecosystem Support Program (ESP), and a small grant from CityDAO.

Seeking project-specific funding or funding for general operations

General Operations

Project Roadmap and Milestones (only for project-specific funding)

For us, success means increasing the number of healthy, running nodes and make progress towards staking. With funding, we aim to work on the following over the next 3-4 months…

  1. Improve the reliability on Mac and Windows by contributing to Podamn - which is an open-source alternative to DockerDesktop on Mac and Windows

  2. Improve internal “operations” of the app - such as handling node and Podman updates smoothly

  3. Complete proof-of-concepts of some DVT staking protocols like Diva or Stakewise, only available to NiceNode users on Linux/Ubuntu.

  4. Add a complimentary or fun “node” option - such as a local Gitlab or Minecraft server to show the generic capabilities of NiceNode

Funding Request and Budget (only for project-specific funding)

$50K which is 3 months of funds for 4 core-contributors. Ideal funding would give us security of funds and allow us to deeply focus on building as opposed to applying to different grants.

Team Information, including backgrounds and roles

  • Johns Gresham - 2 years working on NiceNode, 7+ years of developing applications, 6+ years following Ethereum. Previous experience at a large technology company and a startup.
  • cornpotage.eth - 1.5 years working on NiceNode (05/10/2022). JavaScript/TypeScript developer.
  • Danneh - 1.5 years working on NiceNode (6/2/2022). Designer. Experienced UI/UX designer and Ethereum enthusiast. Great at simplifying complicated technicals into simple visuals and user experience. The designs used in this application are all created by Danneh.
  • Gathin - UI developer that has been consistently contributing to tasks over the past few months. Coded \https://benchbuddy.xyz
    All contributors are members to the NiceNode’s Github organization: \https://github.com/orgs/NiceNode/people

Social Credibility (development progress, awards, notable GitHub commits, referrals)

  • Dev credibility - We started with a GUI that only ran Geth, then we added all Ethereum clients, then we fully-generalized the app to support any software that is containerized (can run with Docker) and we did a full UI/UX re-write that is the most simple on-boarding experience to run a node.
  • Fully completed ~$55k grant from the Ethereum Foundation Ecosystem Support Program (3 major milestones met and payment received)
  • Nominated and received funding from OP RetroPGF Round 2 and we have received 39 ballots for Round 3
  • Mentioned by Superphiz in many tweets - most notably: \https://x.com/superphiz/status/1717701265394659742
  • Mentioned by Anthony Sassano in The Daily Gwei a few times
  • Additionally, we try to be active open-source participants and we report many issues to Ethereum client teams, make suggestions, and improve docs when we spot an issue.

Discord contact

Johns (johns4), NiceNode Discord (\https://discord.gg/k3dpYU4Pn9)

Eligibility Criteria

  • Do you have a commitment to open-source (i.e. every open-source license accepted by the Open-Source Initiative - (\https://opensource.org/licenses/) technology and sharing results publicly?
  • Have you provided transparency about how exactly funding will be used?
  • Are you advancing values of freedom and privacy (no surveillance and handling of personal data)?
  • Are you supporting decentralization in various fields (for example building Web3 projects - (\https://ethereum.org/en/web3/)?
  • Have you provided social media channels to the extent that we can confirm social proof of your project?

Additional information

Here are some early usage metrics that we have:
Total App Downloads from Github: ~12K

From a 7 day period, Nov 21-28th…

How many users have downloaded and are actively using the NiceNode app?

33 users from 22 different countries opened the app at least once. 13 users opened the app 3 or more times.

Can you provide any statistics on the number of nodes run through the app, particularly Ethereum nodes, Layer 2 nodes, and Farcaster Hubs?

There are 20 ethereum nodes and 4 farcaster hubs. About 11 of the 20 Ethereum nodes are fully-synced (edited)

Please let me know if there are any additional information that you’d like to know! Ps. sorry for the links not formatted correctly, I could only post 2.
- Johns -

3 Likes

Hey everyone!
I’m excited to share some updates since Epoch 2 and our updated Roadmap. I would greatly appreciate any feedback on updates, roadmap input, or new idea suggestions!
Best, Johns

Updates since Epoch 2

Updates since December 1 2023

  • Impact dashboard (MVP) at https://impact.nicenode.xyz showing active monthly node counts
    • First time work for infra done, so additional changes and dashboards will be easier moving forward
  • Internal changes to better support running nodes for any given chain-id
    • Helps OP Stack nodes in NiceNode be able to support new chains that haven’t been explicitly added into NiceNode
  • Early user testing and integration for new OP Stack clients - Hildr (Java) and Magi (Rust)
    • Github discussion with Hildr team here
  • Cleanup configuration for Sepolia and Holesky networks as Goerli network was deprecated
  • Setup end-to-end testing framework for NiceNode to improve app reliability and reduce manual testing
  • OP Stack and Arbitrum node changes and testing for Blob support in the Ethereum Dencun upgrade (EIP 4844)
  • Add fun “node” options (maybe better described as “server”) Minecraft and Home Assistant and testing a new version of Radicle - decentralized github
  • Testing potential Mac stability improvements with Podman v5
    • NiceNode uses Podman to run nodes
    • Podman v5 uses Apple native Virtual Machine software which vastly improves node performance on Mac
    • Release in ~1-2 months
  • Small changes and testing to prepare for Arbitrum Orbit node support

Roadmap (roughly prioritized)

Updated March 1 2024

  • "Improve internal “operations” of the app - such as handling node and Podman updates smoothly is still a high priority
  • Add optional SSD IOPS speed test to the add node flow
    • Eth nodes require high (~10K IOPS) SSDs
  • Permissionless / Decentralized node options
    • Make the available node options permissionless by allowing users to enter their own “Node Library” HTTP API
  • DVT staking protocols were not ready for testing as early as we anticipated and we need to improve NiceNode before staking is ready
  • “Improve the reliability on Mac and Windows by contributing to Podman - which is an open-source alternative to DockerDesktop on Mac and Windows” - remains time-consuming and difficult and we think our time is best spent on improving NiceNode while the Podman team is working on Mac & Windows reliability
1 Like

Hey Octant community!

I wanted to share some updates since the previous Epoch, Epoch 3 as well as an updated roadmap.

  • Achievements since the last Octant Epoch

    Major Highlights

    • Impact Dashboard Ethereum page with client diversity at NiceNode Impact Dashboard
    • Automatic port assignment to avoid conflicting ports when running multiple nodes
    • End-to-end testing simulating a user for testing combinations of Ethereum clients, adding and removing a node, and successfully syncing (video coming soon)
    • Major rewrite of internal build and configuration tools to switch to the official, long-term supported Electron tooling
    • NiceNode available for Linux ARM now! (Raspberry Pis, Rock 5B, RockChip boards, upcoming Snapdragon Elite X ARM chips, etc.)
    • Complete upgrade to Podman v5
    • Much more support for a variety of Linux distros by detecting and using user’s Linux package manager to install dependencies instead of allowlisting Linux distros directly

    Minor updates

  • Upcoming milestones on your project roadmap

    • Smooth and automatic Node configuration updates
    • Node options supplied by an HTTP API
      • Prerequisite for permissionless node options
    • Better integration of our hardware checking tool https://benchbuddy.xyz/ which can detect SSD IOPS required to sync a node
    • See the Roadmap Graphic for more info (see Warpcast which needs updated)
  • How funds from the previous Epoch were utilized and plans for any funds raised in the upcoming Epoch

    • Previous Epoch funds
      • Primarily used for app development
      • Internal costs like software subscriptions.
    • Future funds
  • Grant funding received since the last Epoch (e.g., RetroPGF, Gitcoin, etc.), including funding amounts

    • Received roughly 25K OP tokens per month from about February 5th to May 5th
    • Gitcoin Grants round 20 (payout soon?) estimated at $2-4k USD
  • Other non-grant funding sources (like user payments, donations, staking or LP contributions to treasury, VC investments, etc.).

    • None

Ps. I will be adding a few attachments or links to this post soon

** Work completed since last Epoch **

Node client updates - Users can automatically update their nodes in NiceNode seamlessly. Updates now automatically handle breaking changes in Node client’s configuration. Detailed changes view shows every configuration change in the update.

Node client updates can be done without updating NiceNode now!

Layer 2 node testing and support.

Plans for Next Epoch

  • Updated Milestone 1:

  • Description:

Vastly expand the available things to run with NiceNode

NiceNode was designed to run any containerized software. Right now only 7 options are available to run. However, we can greatly expand it to run any open source, containerized software that developers and users want to run. Things like… a local IPS server, a Plex Media server, a Home Assistant server, a local game server, a redis or mysql database… And more blockchain and web3 infra!

As part of this, the “Add Node” screens need to have a search bar and categories for users to find a specific option out of many!

  • Expected Immediate Outcome: 20-50+ new service/node options in NiceNode
  • Funding Needed: ~$160k annualized (divided for 4-5 months of work)

Milestone 2: coming soon

1 Like