xGov-110 - Pixelnode: One-click node manager

Abstract

PixelNode is a user-friendly One-click node solution for Algorand node management.
Offering a seamless installation process and an intuitive web interface for easy interaction with Algorand nodes.

Team

Shivaprasad - Developer

  • 10 years of experience in building web applications.
  • Core expertise in TypeScript & MongoDB.

Experience with Algorand

Involved in the development of AlgoDesk, DappFlow, and PixelNode, contributing to the Algorand ecosystem over the past 2 years.

Present Proposal

Installation & Setup

  1. Install an Algorand node using one command.
  2. Set up authentication credentials using the PixelNode setup interface.

Dashboard

  1. View system hardware configuration (OS, Storage, and RAM).
  2. Install a node for any network (Mainnet, Testnet & Betanet).
  3. Display catchup details during the catchup phase.
  4. Options to uninstall or restart a running node.
  5. Initiate force catchup if the node is stuck.
  6. Show live blocks & stakes of participating accounts.

MyNode

  1. Display network details and Algod configuration.
  2. Swagger interface for Algod API.
  3. Display CPU usage of the installed node.
  4. Update your node to the latest version with a single click.
  5. Enable/Disable metrics with a single click.
  6. View metrics using Prometheus graphs or Grafana dashboards on the same PixelNode instance.
  7. Enable/Disable telemetry.
  8. Configure telemetry name.

Participation keys

  1. View the list of participation keys with details.
  2. Generate new participation keys.
  3. Sign newly generated participation keys using the PixelNode console.
  4. Delete a participation key.

Settings

  1. Public status page to see the status of the PixelNode instance.
  2. Update PixelNode with a single click if a new version is released.
  3. Restart your PixelNode instance.
  4. Factory reset PixelNode.
  5. Setup Env variables GOGC=50, GOMEMLIMIT=90% of memory by install/upgrade script
  6. Ability to download PM2 logs and DMESG logs to debug incase of node crash.

Future Blueprint

Plans for future releases (Not part of this milestone):

  1. Improve stability before node incentives go live.
  2. System monitor to check CPU usage, Disk usage, etc. (probably use netdata)
  3. Display Mempool.
  4. Ship out-of-the-box Grafana dashboards for node metrics.

Benefits for the community

People without technical knowledge can self-host Algorand nodes and manage participation keys effortlessly.

Additional information

Installation command:
sudo curl -L http://get.pixelnode.org | sudo bash

Links:

10 Likes

I want to run a node but am not super technical, having more user-friendly node management solutions sounds amazing!

6 Likes

any potential plans for supporting windows based systems (maybe via WSL) in the future since thats what most people probably have at home?

3 Likes

Hi Lobo,
Windows is definitely on the TODO list but not targeted for this release.
WSL is something I need to investigate and make pixelnode compatible after this release.

2 Likes

really liking this one, but agree, we need it to be windows too, a lot of us dont have access to anything else

3 Likes

We use PixelNode at Fracctal Labs for our private cloud-hosted node. Super easy to setup with great UI/UX.

4 Likes

This one is cool, but i donā€™t really get it. Are we running algorand infrastructure for everyone?

Hi @algopepe

No. This is a tool that can be used to install and manage an Algorand node by themselves.
Run one command and then you will get an easy to use interface to install and manage your node, part keys etcā€¦

2 Likes

I am thrilled to express my full support for the groundbreaking initiative, Pixel Node, which introduces a revolutionary one-click installation process for Algorand nodes. As a passionate advocate for blockchain technology and its potential to reshape industries, I believe that Pixel Node represents a significant leap forward in streamlining the deployment of Algorand nodes.

The Algorand blockchain has gained recognition for its speed, security, and scalability, making it a preferred choice for various applications. However, the installation and configuration of Algorand nodes have traditionally been perceived as complex and challenging, deterring some enthusiasts from actively participating in the network.

Pixel Node addresses this concern by simplifying the entire process into a single click, enabling individuals and organizations to effortlessly set up Algorand nodes without the need for extensive technical expertise. This initiative not only lowers the entry barrier for newcomers but also facilitates a more widespread adoption of Algorand by providing a user-friendly and accessible installation method.

4 Likes

Having a Windows option would be great. Something to truly make it one-click would be to have the ability to input your escrow account and use RESTfull calls to take the generated keys and rounds to register the node and bring it online automatically.

2 Likes

Thanks for the support @cfdslima

1 Like

you are right. You need to run only one command, then you should be able to manage your part keys from the UI.

Okay, i like that! Suppported!

1 Like

If this is supposed to be available for the community, why not make it open source? I love your work, but weā€™ve already burned ourselves two times with explorers and the only guarantee this wonā€™t happen again is if the code is made available to the public.

Hi @omniwarp ,

This is the first version of pixelnode that has enough features for the users to manage the node completely including very advanced things like Metrics using Prometheus and Grafana.
All these features are free forever for pixelnode users. But down the line few premium plugins will be released which are available only for the PAID users.

EX:

  1. User management
  2. Ability to use CLERK Auth instead of basic Auth.
  3. Premium Grafana dashboard templates.
  4. UI to configure and stream filtered data using web sockets.
  5. and a few more

All these are not part of this release and will be paywalled once released in future releases.
This is the business model I have in mind for the long-term growth of pixelnode. If I open-source it right now, I wonā€™t be able to implement a revenue model around it. and without a revenue model, I wonā€™t be able to work on it long-term.

If you are still concerned about it,
installer is already available here

you just need that folder to be able to run the pixelnode instance.

1 Like

What is the paywall going to look like?

Iā€™m very leery about funding anything that looks like infrastructure that does not involve an open source component at some point. Iā€™m okay with paying someone to build and letting them have a first mover advantage before it becomes OSS (i.e. a ticking time bomb on OSS). Or, alternatively having a commitment to OSS if it shuts down. But I really donā€™t like the idea of funding something that looks like core infrastructure support unless there is some OSS guarantee at some point (unless it has a very clear and obvious monetization plan).

Would you be willing to amend this to either (1) be OSS from the outset; (2) be OSS after a set period of time; or (3) be OSS if for some reason the project is functionally abandoned (obviously this is the toughest since we need to figure out what that means, and thus I still really donā€™t like it).

Hi @GhostOfMcAfee

I have a clear plan in terms of monetizing the pixelnode.

All the premium features are going to be shipped as plugins.
Users need to pay $9/month/node if they want to enable any of the premium plugins.
Users need to get a license key and add it to their pixelnode instance to be able to use premium plugins.
License keys are powered by LemonSqueezy and can be managed using the LemonSqueezy portal.

Now letā€™s talk about the future scenarios:

Q. What if I donā€™t build the premium features in upcoming releases?
A. Users will still be able to run & manage Algorand nodes using pixelnode(Which is promised in this release). As mentioned in my previous comment, the installer is opensourced already which can be used to run the pixelnode without actual source code.

Letā€™s talk about the amendments you suggested:

(1) be OSS from the outset
(A) Will you or the community be ok if I open-source the complete code upfront and double the amount requested? No IP, No first mover advantage, I will just open source and let the community do whatever they want. Problems with a few infra apps like AlgoExplorer shut down because they were not self-sustainable. Here Iā€™m trying to make pixelnode self-sustainable with some revenue model around it. Self-sustainable and open-source cannot be in the same line.

(2) be OSS after a set period
(A) If I say yes, who will decide the period and will grants be delayed until that period?

(3) be OSS if for some reason the project is functionally abandoned
(A) If I donā€™t build more features but users can still use existing pixelnode features, will you consider it as abandoned?

1 Like

(1) Given your statements about your plan for doing so, I get you here. Like I said, I understand that devs need the ability to monetize. And OSS is nice but we need to consider economic realities of what OSS from the beginning could do.

(2)(a) I guess the question of ā€œhow longā€ before OSS is an open one. What do you think is fair? How long do you reasonably think you need to get it established and have first mover advantage? What do other devs in this space think is a fair compromise? I donā€™t know the answers. My purpose in asking is largely to spur that discussion and maybe reach something that everyone can be happy with.

(2)(b) Iā€™m not quite sure what you are asking regarding grants being delayed. Do you mean your funds? If so, then I think the answer to that is obviously ā€œnoā€. I donā€™t think anyone would suggest you need to wait to get paid until after it is OSS. The point would be to ensure that the code eventually makes its way into the community, not to hold up funds.

(3) No. I would not consider it abandoned in that scenario.

Iā€™m not picking on you BTW. Iā€™m hoping that this becomes a routine question. My hope is that in doing this we can give devs what they need to make their products succeed, but not have an issue where codebase stays hidden forever (unless there is a really good reason for it).

1 Like

Hi @GhostOfMcAfee

I really understand your concern about OSS.
Thanks for the feedback and I appreciate it.
I know it takes so much time and effort to review the proposals and give feedback. Great to see the community stepping up.

  1. Pixelnode is on-premise setup. Everything is installed on the userā€™s machine, including the code, and database. Tampering the system to make it believe that it is a premium account and enabling the premium plugins will be easy to do. Iā€™m not saying that people will do it, but that is something I need to be careful of. Making it open source will make things easy to tamper. If I donā€™t have any revenue model I would have OOS right away.
  2. Even Iā€™m not sure what would be a fair duration, because the success of this project entirely depends on node incentivization which may be live in Q3. I would like to stay away from this option.
  3. If I abandon the project, I will make pixelnode OSS.
1 Like

Thanks Shiva. If others have thoughts, they can weigh in. But, this is a perfectly reasonable answer to me. Take care and I appreciate the work you do.

1 Like