This forum is a read-only archive. Posting, replying and signing in are disabled.

xGov-110 - Pixelnode: One-click node manager

shiva_prasad

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:

edited
JHole

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

lobo

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

shiva_prasad

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.

silvio_rules

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

DevFraccas

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

algopepe

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

shiva_prasad

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…

cfdslima

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.

centrips

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.

omniwarp

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.

shiva_prasad

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.

edited
GhostOfMcAfee

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).

shiva_prasad

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?

GhostOfMcAfee

(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).

shiva_prasad

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.
GhostOfMcAfee

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.

Knox.Algo

I didn’t click on the GitHub link. So it’s not clear to me here on this forum how many Algo you are asking for and what the community gets for the investment. It appears that this service is already in production.

shiva_prasad

250000Algos.
The community gets a one-click node manager to run and manage your participation keys on their own server.
Yes, it is still in the BETA phase. V1 will be released in the coming weeks.

edited
expertgovernor

No oss is a deal breaker for me. In this situation. Grant is supposed to pay for the development of the tool, so why you want to monetise on top of it?

It is not a tool that has any competitive advantage in the long term - and your current market is like 100 people.

I am sure fndation will produce something like that in near future anyway, so oss it if you want the grant.

That is my stance as expert governor, but i do understand your reasoning also, i just disagree on its validity if you ask for grant.

Also you are proposing to build something you already built. Why not monetize it now if you want to do so?

shiva_prasad

Hi @expertgovernor

I appreciate your feedback.
But you either misunderstood the proposal or did not go through my above comments.

as I mentioned above, All v1 features that are about to be prod-released next month are going to be free forever. The ability to run a node is not going to be monetized ever.

Premium plugins that are not part of this release and are going to be part of future releases will be monetized. You can run the node without having to pay anything. You have to pay only if you want to use premium features.

Why do you think it’s not going to have a competitive advantage ?
This is an on-premise setup, devs need filtered data, They need the ability to stream filtered txns. They need user management if they want to support pooling once nodes are incentivized.

Yes, I have a current market of only 100 people, to be specific 11 users using pixelnode including me.
That’s because I don’t have any marketing campaigns running or enough social media following. All I do is post it on Twitter whenever a new feature is released to my 400 followers.

Of course foundation has released a one-click node called “AlgoRun”. I would recommend you to try AlgoRun & PixelNode and come to a conclusion as to why I built pixelnode. The foundation does not have enough engineering capacity to build everything, That’s why community grants are in place.

I was supposed to apply for the last x-gov but I was late by 2 days.
Do you think I should have waited until the current x-gov voting and build only if the proposal is passed?
Won’t that delay instead of speeding up things?

I thought the community would be happy that I built the product first and asked for the grants.
If this is not the case, Devs will simply wait for months waiting for the grants to be approved instead of building the products.

As I said, the ability to run a node should be free and will be free forever. I will not monetize the existing features.

edited
Green

People suggesting making everything open source are literally killing the ecosystem. It’s almost impossible to make revenue if people can just fork your code and change it so they don’t have to pay for premium features. Without revenue, there’s no business model, and without a business model, this will just die. Please use your own brains rather than just parroting what John Woods says