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 -

2 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