Databases and Web Apps (server-side logic)

Neither of these.

I’m just hoping that someone can describe how to implement server-side logic in a web app on Autonomi (without requiring the user to download a separate app that listens on localhost:port).

I see everyone trying mightily, and I appreciate it, but so far nobody’s hit on it yet.

I think we will get a lot of this until there are more apps that illustrate the architectural patterns.

Just as client/server, REST, multi-tier, microservices, containers… etc… all did before. It takes time to soak in, especially when it is as radical a departure as autonomi.

4 Likes

It is FUD or he is trying to run the WHOLE shop software as an autonomi app

Sometimes its take a while for the penny to drop and see it

Well now, that’s a point to be considered… one that Riddim hinted at earlier as well.

One could design things so that an on-premises app performs the necessary validations.

I’ll put that in the pot and stir it.

I hear ya, but this one gets down to the fundamentals of what’s even possible in the computing world.

We cannot run the whole shop in a user side app. You must separate the ordering app from the shop’s internal shop software that will not even be based on Autonomi but normal s/w. All the internal software will do is read the orders off the autonomi storage and process them.

The internal software for the shop is not even a server-client style of program, but just a shop s/w to do billing, inventory, and so on. The web server-client ordering system on the current internet is a separate server program that allows a user to order. It reads a database of stock levels that is running in parallel with the true stock levels of the shop’s internal program. That is why sometimes an item will be out of stock even if the web said it was in stock.

4 Likes

We don’t need to over dramatize it…

You can split a app with server side logics into front and backend - right?

And instead of backend calls via an api you can always use pigeons that deliver messages - right?

Instead of pigeons you can always store messages for the shop on autonomi… And the shop stores his answers… And therefore just the same as on the current Web is possible…

2 Likes

My takeaway on all of this (thank you to everyone who’s participated so far):

Given that server-side logic in a web app can’t be served on Autonomi without requiring the user to download an executable stub that listens on localhost:port, which is turn is a cumbersome requirement that doesn’t prevent port collisions with other publishers’ apps, I’m concluding that such a thing simply isn’t possible.

At least not today.

Riddim, I thought you were going to go do something productive! :rofl:

1 Like

1 Like

We have not even suggested this.

You the customer run an app and it does the order. It reads data off Autonomi to know stock, stock levels, and so on. The app generates an order and writes it as data on Autonomi.

The shop is also running their internal shop software, complex and does a lot of work. That software is checking Autonomi for orders. When one is written it processes it and updates autonomi data on the web to reflect stock levels for the ordering app to read.

There is no need for the ordering app to listen on anything

4 Likes

HappyBeing has. That’s how dweb does its thing. Also VazorTopShelf.

As a suggestion. Doesn’t mean its the only way and we today have not suggested it

It should be obvious you cannot run your whole shop software on a user’s computer. Hundreds of users, how to even coordinate stock levels lol

Real shops run their own internal shop software and the web is just an ordering system currently.

There is no reason why that ordering system cannot be run as a app on the user’s computer.

All the data it uses is just data on Autonomi, be it immutable for stock descriptions/images and scratchpad for stock levels and pricing.

The shop runs their internal software that reads and writes to Autonomi updating stock levels and pricing. Also reading generated orders

3 Likes

I see this as a viable alternative to a web app with server-side logic somehow running on Autonomi.

One could easily publish a website under a human-readable domain on the traditional web with links to the Autonomi downloads (I’m not sure yet quite what that last part would look like).

Its not server side

To be server side means the server is reacting to your user side software in real time as in api calls etc

Its just a computer system & s/w the shop is running. It is not serving anything to the app the user is using. In fact the shop could stop its computer and the user will know no difference when they are running the app. The only difference is that users would not see stock levels update and that has nothing to do with server-client logic

4 Likes

A person could even add a Docker container into the mix, and have it download and install the app from Autonomi at first run.

Something like that.

3 Likes

Indeed they could…

https://hub.docker.com/r/traktion/anttp

But you must understand these are just apps themselves. It is one way to talk to the autonomi network, but any other app can talk directly through it too.

I suspect we will have apps with embedded proxies to make it seemless. I also think a browser will embedd it at some point too, which will feel like any other browser.

The important thing is that the customer and the shop both interact with the network independently, through whatever apps they choose.

3 Likes

You are correct that you can’t do things that require a server in the same way as servers are used today.

That’s a big win IMO.

dweb does avoid port collisions.

Downloading a trivial to use local server which becomes the gateway to a world of secure, decentralised websites and web apps is indeed a step.

There’s no way around that, whether it’s a browser for Autonomi, a browser plugin or a standalone Autonomi app. They are each require a step.

Calling this cumbersome is not fair comment IMO.

I’d say you want the moon on a stick and aren’t prepared to consider how you or others will be building great things here unless it fits one existing model that you personally favour, in every respect.

5 Likes

For Developers: AutonomiNET + SafeStoreAPI = .NET in a Decentralized World

Forget relational databases. We already have NoSQL solutions like MongoDB.
But if you’re wondering how to build a .NET architecture on top of Autonomi, the answer is simple: Use SafeStoreAPI + AutonomiNET + AutonomiDB.

How it works:

  1. SafeStoreAPI – a standard Web API running on a server. REST, controllers, validations — business as usual.
  2. AutonomiNet – a .NET library that communicates with the Autonomi network.
  3. AutonomiDB – a MongoDB-like abstraction built on top of the agent’s Scratchpad, using a document model with nested data, dynamic schema, and BSON-like storage.

It’s all about one simple library
AutonomiDB gives you something like: .Insert(), .Find(), .Update(), .Delete(), GetByIndex(), QueryAll(), Serialization / Deserialization
You can even store files (images, archives, text, etc.) directly into the Autonomi network.

UI? Write whatever you want
Once SafeStoreAPI is up, your UI can be: Desktop, Web, Mobile, Even static HTML/JS hosted directly on the Autonomi network
The API acts as a gatekeeper — business logic stays private.

Safe and validated
If someone tries to send malicious or invalid data - SafeStoreAPI handles validation and rejects it. No exposure of logic to the client.

Admin Panel?
Use any tech stack - just connect it to SafeStoreAPI. It reads from AutonomiDB and executes actions on real data.

What do you need to host?
Only SafeStoreAPI - nothing more. A small VPS or shared host is enough to act as your gateway to Autonomi’s infinite storage, currently at 127.16 PiB.

Final thoughts
AutonomiNet is the .NET library that makes all of this possible.
Thanks to the one and only person who saw its potential early, give 9,300 voted, and pushed this project forward. Sadly, nobody else followed. But the idea remains: giving .NET developers access to a decentralized, backend-free future.

3 Likes