DEV Community

Daniel Ioni
Daniel Ioni

Posted on

Pytho Is Alive: Building a Decentralized Gateway with Node.js, Monero & MyZubster

 -

๐Ÿ‘ฝ Pytho Is Alive: Building a Decentralized Gateway with Node.js, Monero & MyZubster

"No bosses. Just code." โ€” Pytho ๐Ÿ‘ฝ

What happens when you combine Node.js, decentralized payments, Monero, open source and botanical gardens?

You get Pytho.

Pytho started as the mascot of the MyZubster ecosystem, but quickly became something more: a small gateway designed to connect real-world projects with decentralized payments.

The idea is simple:

build infrastructure that can exist without depending on a centralized payment layer.

The project combines:

  • ๐ŸŒฑ Botanical gardens and green spaces
  • ๐Ÿ›๏ธ Municipal projects
  • ๐Ÿ’ฐ Monero (XMR) payments
  • ๐Ÿช™ MYZ ecosystem tokens
  • ๐ŸŸข Node.js APIs
  • ๐Ÿ”“ Open-source infrastructure

The gateway is designed around a privacy-first approach, with Monero used for payments and MYZ used inside the ecosystem.


๐Ÿ‘ฝ Meet Pytho

Pytho is the alien guardian of the MyZubster gateway.

The character represents three ideas:

  • Decentralization
  • Open source
  • Real-world experimentation

The project motto is:

No bosses. Just code.

Pytho isn't supposed to replace developers.

It's supposed to remind us that infrastructure can be built, tested and improved by communities.


๐ŸŒฟ From Gardens to Blockchain

One of the experiments behind the gateway is connecting botanical gardens and municipal green spaces with a decentralized backend.

The current project data includes examples such as:

Project Location Registered species
๐ŸŒบ Botanical Garden of Rome Rome, Italy 342
๐ŸŒณ Parco degli Acquedotti Rome, Italy 156
๐ŸŒธ Botanical Garden of Naples Naples, Italy 215
๐ŸŒป Botanical Garden of Palermo Palermo, Italy 189

The project also includes municipal examples from Florence and Bologna.

The goal isn't simply to put data "on a blockchain".

The interesting part is creating an API layer where real-world entities can interact with decentralized payment infrastructure.


๐Ÿงฑ The Architecture

The gateway is intentionally simple.

The current stack is:

Nginx
   โ”‚
   โ–ผ
Node.js + Express
   โ”‚
   โ”œโ”€โ”€ MYZ payments
   โ”‚
   โ”œโ”€โ”€ Monero payments
   โ”‚
   โ”œโ”€โ”€ Dashboard API
   โ”‚
   โ””โ”€โ”€ Persistent payment data
Enter fullscreen mode Exit fullscreen mode

Infrastructure:

  • Node.js 18+
  • Express.js
  • PM2
  • Nginx
  • Ubuntu 24.04
  • Cloudflare DNS
  • GitHub
  • Monero
  • MYZ

The project architecture and stack are documented in the original implementation.


โšก The Node.js Gateway

At the center of the system is a small Express server.

The basic structure looks like this:

const express = require('express');
const fs = require('fs');
const path = require('path');
const cors = require('cors');

const app = express();
const port = 3001;

app.use(cors());
app.use(express.json());
Enter fullscreen mode Exit fullscreen mode

The gateway exposes APIs for payments and dashboard data.

For example, a MYZ payment can be created through:

POST /api/myz/payment/create
Enter fullscreen mode Exit fullscreen mode

The request contains a tag and an amount.

The gateway then calculates the platform fee and creates a pending payment record.

const { tag_id, amount } = req.body;

const fee = (parseFloat(amount) * PLATFORM_FEE) / 100;
const netAmount = parseFloat(amount) - fee;
Enter fullscreen mode Exit fullscreen mode

The payment object contains:

{
    id: "...",
    tag_id: "...",
    amount: 10,
    currency: "MYZ",
    fee: 0.2,
    net_amount: 9.8,
    status: "pending"
}
Enter fullscreen mode Exit fullscreen mode

This logic is implemented directly in the gateway.


๐Ÿ“ก API Endpoints

The gateway exposes several endpoints.

Monero

POST /api/cardputer/payment/create
GET  /api/cardputer/payments
PUT  /api/cardputer/payment/status/:id
Enter fullscreen mode Exit fullscreen mode

MYZ

POST /api/myz/payment/create
GET  /api/myz/stats
POST /api/myz/sync
Enter fullscreen mode Exit fullscreen mode

Dashboard

GET /api/dashboard
GET /
Enter fullscreen mode Exit fullscreen mode

These endpoints provide the basic interface between the gateway and the rest of the ecosystem.


๐Ÿ“Š The Dashboard

The dashboard exposes information about:

  • payments
  • pending transactions
  • completed transactions
  • XMR totals
  • MYZ totals
  • botanical gardens
  • municipalities

The API returns a structured JSON dashboard that can be consumed by other applications.

That means the gateway isn't tied to a single frontend.

A mobile application, web application, IoT device or another service could consume the same API.


๐Ÿ’ธ Why Monero?

One of the main ideas behind Pytho is privacy-first payments.

Monero is used because privacy is a fundamental part of its design.

The project therefore experiments with a model where:

Real-world project
       โ”‚
       โ–ผ
    Pytho API
       โ”‚
       โ”œโ”€โ”€โ”€โ”€ XMR
       โ”‚
       โ””โ”€โ”€โ”€โ”€ MYZ
Enter fullscreen mode Exit fullscreen mode

The objective is to make decentralized payments accessible through a relatively simple API.


๐Ÿš€ Running Pytho with PM2

For deployment, Pytho can be managed with PM2.

Start the application:

pm2 start server.js --name pytho
Enter fullscreen mode Exit fullscreen mode

Save the configuration:

pm2 save
pm2 startup
Enter fullscreen mode Exit fullscreen mode

Check the process:

pm2 status
Enter fullscreen mode Exit fullscreen mode

And monitor logs:

pm2 logs pytho
Enter fullscreen mode Exit fullscreen mode

The deployment configuration is part of the project documentation.


๐Ÿงช Testing the API

Creating a MYZ payment can be tested with curl:

curl -X POST http://myzubster.com/api/myz/payment/create \
  -H "Content-Type: application/json" \
  -d '{"tag_id": "ORTO-ROMA-001", "amount": 10}'
Enter fullscreen mode Exit fullscreen mode

A successful response contains the payment information and its current status.

For example:

{
  "success": true,
  "amount": 10,
  "currency": "MYZ",
  "fee": 0.2,
  "net_amount": 9.8,
  "status": "pending"
}
Enter fullscreen mode Exit fullscreen mode

The original implementation includes this API test and example response.


๐ŸŒ An Ecosystem, Not Just One Server

One of the interesting parts of MyZubster is that the gateway is only one component.

The ecosystem currently includes repositories/projects for:

  • Gateway infrastructure
  • Android application
  • Robot projects
  • Marketplace
  • Web frontend
  • Animal registry
  • Documentation
  • Space station experiments
  • Tari integration
  • Pytho

The source describes 12 repositories/projects across different technologies including JavaScript, Python, Kotlin, Solidity and Rust.

That makes the project more interesting from a developer perspective.

There isn't one single application.

It's an ecosystem of experiments connected by common infrastructure.


๐Ÿ”ฎ What's Next?

The roadmap includes several ideas:

  • ๐Ÿ”— Tari integration
  • ๐Ÿ”” Payment webhooks
  • ๐Ÿ›๏ธ Administration dashboard for municipalities
  • ๐Ÿ—บ๏ธ Interactive botanical-garden map
  • ๐ŸŽ Rewards for municipalities
  • ๐Ÿ“ฑ Mobile garden-management application
  • ๐ŸŒก๏ธ IoT sensors
  • ๐Ÿ’ฐ Additional cryptocurrency support

These are the next development directions described by the project.


๐Ÿค Open Source

The project is open source and contributors can clone the repository, install the dependencies and run the gateway locally.

git clone git@github.com:DanielIoni-creator/I-ECO-01.git

cd I-ECO-01/gateway

npm install

node server.js
Enter fullscreen mode Exit fullscreen mode

Then:

Fork โ†’ Build โ†’ Test โ†’ Pull Request
Enter fullscreen mode Exit fullscreen mode

The project explicitly invites community contributions.


๐Ÿ‘ฝ The Pytho Philosophy

Pytho is ultimately more than a mascot.

It represents a development philosophy:

๐Ÿ‘ฝ No bosses
๐Ÿ›ธ Decentralized payments
๐Ÿ’š Open source
๐ŸŒฟ Sustainability
๐Ÿš€ Experimentation
Enter fullscreen mode Exit fullscreen mode

The idea is to connect technologies that normally live in separate worlds:

blockchain + municipalities + gardens + APIs + privacy + open source.

That's the experiment.

And Pytho is watching. ๐Ÿ‘ฝ


๐Ÿ› ๏ธ Want to Build With Us?

If you're interested in:

  • Node.js
  • Monero
  • blockchain infrastructure
  • decentralized payments
  • open-source projects
  • IoT
  • robotics
  • Web3
  • environmental technology

there are plenty of things to experiment with.

The ecosystem is still evolving.

Fork it. Break it. Improve it.

And maybe add another garden to the map. ๐ŸŒฑ


๐Ÿ”— Project

๐ŸŒ MyZubster: http://myzubster.com

๐Ÿ“Š Gateway API: http://myzubster.com/api/dashboard

๐Ÿ“ฆ GitHub: https://github.com/DanielIoni-creator


๐Ÿ‘ฝ Pytho is alive.

๐Ÿ›ธ No bosses. Just code.

๐ŸŒฟ MyZubster Open Source Ecosystem.

#monero #nodejs #blockchain #cryptocurrency #opensource #web3 #iot #myzubster #pytho

Top comments (0)