Mesh decentralized Unified P2P Fat Protocol Layer. Connectors between Libre Money, ScuttleButt, IPFS, ... Salamalec between Nodes and Human.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qo-op 765741151c NODEIPFSID starts with 12D3KooW 1 month ago
tools natools 755 8 months ago
G1Anar.png g1sms channel coming 8 months ago
G1Billet_LOVE.png g1sms channel coming 8 months ago
Oeuro.jpg g1sms channel coming 8 months ago
OneLove.jpg g1sms channel coming 8 months ago Dans le code!!! Ajoutez vos questions, TODO, idée d'amélioration, question sur ce que fait le code... 8 months ago
TAG_fond.jpg g1sms channel coming 8 months ago
TAG_fond_G1Tx.jpg g1sms channel coming 8 months ago g1sms cleanup 8 months ago g1sms channel coming 8 months ago better convention respect 8 months ago
diceware-wordlist.txt g1sms channel coming 8 months ago diceware 8 months ago now, g1sms wallet name can be choosen with "N pseudo" (if pseudo is not G1member) 4 months ago
g1.png g1sms channel coming 8 months ago
g1tag-v0.png g1sms channel coming 8 months ago
g1tag.png g1sms channel coming 8 months ago / 8 months ago g1sms channel coming 8 months ago NODEIPFSID starts with 12D3KooW 1 month ago grep -rl '~/.zen' ./ | xargs sed -i 's/~/.zen//home/$YOU/.zen/g' 8 months ago g1sms channel coming 8 months ago
search test g1sms 8 months ago G1SMS 97% 8 months ago better convention respect 8 months ago plenty little good things 8 months ago $AMOUNTZEN ZEN 4 months ago web API phone + val => sms_ASTROPORT sms_AUTH 7 months ago better convention respect 8 months ago better convention respect 8 months ago better convention respect 8 months ago better convention respect 8 months ago arrange it 7 months ago hyperweb is waiting for you 8 months ago better convention respect 8 months ago G1SMS REWRITE 80% 8 months ago better convention respect 8 months ago not authorizing wallet self choosen name 4 months ago better convention respect 8 months ago better convention respect 8 months ago better convention respect 8 months ago better convention respect 8 months ago better convention respect 8 months ago better convention respect 8 months ago upgrade 8 months ago tag_ code rewriting 8 months ago tag_ code rewriting 8 months ago tag_ code rewriting 8 months ago TEST 8 months ago g1sms channel coming 8 months ago


Latest version HERE + Traduction GROgol + Use for better translations

This document must be read and accepted before onboarding. Meaning installing the core astroport code accepting selected processes (and official flavours)

"All code is A-GPL, you are not authorise to fork it, modify it and run it without refering to us!" Original Founders Team will release from IPNS an IPFS reference (/ipns/Qm***) where to download CODE from the Demonstration #Swarm0 you will join.

This Software makes you responsible of your Digital and Social behaviour(s) ! It could make you evolve to a new level of consciousness. Ready...?

International Entrance

For now, only french "+33" is accepted in $ASTROPORT/astroport/g1sm/ bash code suite (G1SMS flavour Node). It is the most widely available communication system. Used for market alerts...

It could be internationnal making some code evolution... To help finding where to apply patches a convenient way is to use the "search" (grep) command

sudo cp $ASTROPORT/astroport/zen/tools/search /usr/local/bin/


  To replace "\+33" whith "\+_YOUR_COUNTRY_CODE_", please run
  grep -rl '\+33' ./  | xargs sed -i 's/\+33/\+_YOUR_COUNTRY_CODE_/g'


  • Move SMS texts out of ""./g1sms/code(s).sh" in a multi language templating system!

GLOBAL ENV variables in /etc/profile (and clean the CODE for adding new protocol / channel is simple to understand!)

# @qo-op 
# Astroport System user linked to "ipfs daemon"
export YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) || er+=" ipfs daemon not running"

# IPFS layer ID is $YOU Swarm peer ID
export IPFSNODEID=$(ipfs id -f='<id>\n') || er+=" ipfs id problem"

# SSB layer ID is $YOU Social identity
export WHOAMI=$(sbotc whoami | jq -r .id) || er+=" sbotc whoami problem"

# G1PUB is $YOU Zen Wallet (#libremoney)
export G1PUB=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) || er+=" ~/.ssb/secret.dunikey problem"

# IDCARD for Augmented Conscious Digital Ghost born date.
# G_BORN  1st about timestamp (sbotc command ?)
# G_BORN_H  sha256 $(GBORN)
export ASTROPORT="/home/$YOU/.zen"
export GHOST="/home/$YOU/.zen/ipfs/.$IPFSNODEID/G1SSB"

  • include $ASTROPORT/astroport/zen/tools/ "natools", "nodename", ... tools in /usr/local/bin to make CODE lighter and easy use from all system App.


On Astroport Station, NOW your Web2.0 code is running LOCAL! So it can access local filesystem where #Swarm0 shared data are connected with other Stations !!

No more need for Internet global routing available anytime. Once your stations are friends, they become SSB connected, and IPFS swarm peers connected also if possible...

http://localhost:10010 is the first official DApp we are presenting.

Astroport is a Free DApp Framework AND a Learning "Know How" sharing digital Oasis maker

The Ghost and Goblins school & market

  • lolcat is made with ruby
  • duniterpy and silkaj are python
  • sbotc is C
  • oasis, feedless are nodejs, html, css
  • LOVELand is jquery, vuejs
  • Minetest is C++, sqlite and LUA
  • NextCloud is PHP and MySQL

Any kind of code and framework can use astroport as a universal protocol switch. A Free CODE NEST... A School for digital age kids.

All "Digital Channels Flavors" are open to new protocols and specific relay in one or two page of bash/python/...

You access to the "Fat Layer" and Protocols through crypto, messaging and file exploring with tools...

  • (@tuxmain made) is used for crypt/decrypt/sign/verify using the ed25519 libsodium crypto
  • nodename (@qo-op made) is finding the relative local or global Station hostname
  • sbotc (@cel made) is used to send / read SSB chain.
  • (@qo-op) is creating Zen containers. '_zen' open protocol IPNS nano DHT allowing PASSENGER mulitmedia file and json metadata.
  • /g1sms (@qo-op) Main App & historical communication layer. Acting as a delegated "G1 wallet" manager, source of Zen IPFS technology and QRCode banking system.
  • /minetest (@attilax @tuxmain @be1) - /nextcloud (@poka @attilax @qo-op)- ...
  • ... more and more are prepared to get into Astroport Framework. @manutopik, @chamallow , i forget so many contributers ...

Depending on your App available API, Front and Back End functions, You'll get a level

  • 1 Channel Scraping,
  • 2 Synchronized API,
  • 3 Dapp transformation OK .

1 & 2 level benefit from new commnunication layers from (ssb libraries, js, go, rust, ...) and simple ipfs CLI commands. Notice that your Station will use double disk space until your data backend is fully using ipfs !!

After "client/server" deprogramming you'll make a full "localhost" ipfs #Swarm0 DApp.

Ex: "NextCloud"

App code and minimal scrapers are going in here.


# 1. :star: App goes here.

# 2. :star: Make use of G1/SSB/IPFS layers
# Use localstore and publish/share/crypt your parameters, metadata with #Swarm0

# 3. :star: Store $WHOAMI DATA to ipfs #Swarm0 into.

# An App on Astroport is a Flavour.
# It is just a new FIFO data channel (like UNIX), it connects into open protocol data and indexes layer.
# Could be host and routes, it is ipfs and ipns... 
# Once #Swarm0 gets bigger...
# It can read and write but soon extract coherence from your DATA with "conscious deep learning" = IA !


# Copy your DB, indexes, metadata, internal parameters in

# Copy data DATA for an Identity into

# You or We will make for you the 1, 2, 3 coding steps in here

All data writen in $ASTROPORT/ipfs/ are regularly published and refreshed with all #Swarm0 Friends.

Foundation Team will audit your Flavour special App data and work flow before it can be introduced in

$ASTROPORT/astroport/ # is the nervous system of a digital Blob creature you cultivate.

Remember, even if your DApp can be accessed on localhost, relative security level depends on Trust levels within your friends and their friends! Crypt data as you need it

What you can do

  • Transmit files as SSB private message. Extended markdown add + audio_ video_

  • Send private and public SSB message.

  • HyperWeb ipfs p2p layer. (ipfs p2p --help). YES! Forward any TCP port used by your Station App, and create an "Everywhere API" to anyone in same #Swarm0

  • and more surprise are on the way ;)

Every One is the Network! How do we count and remember what is that "ipfs data"? The ZenTAG solution

Inside "tag" directoy is the Zen accounting system. This is $NANODATE stamped blockchained ipfs/ipns file datastucture attaching a "nano DHT" to /ipfs/DATA.


ZenTAG mechanic is maintaning the Index/DATA relation (chained in time into nano ipns DHT) They must be refreshed by every creator Station every 12h at least to maintain memory multiple DHT and gossip verified last value.


I you are curious, inside mechanics is the same as "Samza" but on IPFS with "/TASK" transactional communication or sbotc challenge/response salamalek

Tag's can get PASSENGER wich is anything that can have an IPFS hash (an digital data) and apply Zen Economy & special salamalek CONTRACT to it. A video about local and ipfs backend description is coming...

YES!! Your Station IPFS Database is using "echo, cat, ls, grep, sed, awk" ;)

Astroport is not using but could use a single file as this Fields.awk flat file database], but into files and directory datastructure with ipfs replication and ipns indexing Node DHT & Zen nano DHT !!

Your data is still in files on your disk! You do not depend on any "DB engine", You are the DB Master. Any 'DB tables' and data can be stored in $ASTROPORT/ipfs/.$IPFSNODEID/ Be careful about protocol collisions with any of your friends... 'Give Your App a Unique Name in your #Swarm0"

LaPunta Key ZenTag

  • "Papire Salamalek" scripts acts between $IPFSNODEID dialog in $ASTROPORT/ipfs/.$IPFSNODEID/TASK

  • G1Dab "G1sms flavour" can print created Tags

  • G1Tx "G1sms flavour" terminals can read QRCode and input amount of TX happening

  • LOVELand is the frontal web App page $ASTROPORT/astroport/www/LOVELand/

  • DEMO #Swarm0

    • Gchange + Cesium
    • Minetest
    • NextCloud

The Tomato 🍅 p2p market

"Know How" making & sharing economy example.

Each USER (peer) is provising or needing a ressource, let's say 🍅

Each RESSOURCE needs to be "made or consume", bu some "know how" have to be chained in time and space to succeed this cycle.

In actual Industrial Global Economy (now collapsing !?), you cannot be aware of how 🍅 are made and distributed. Just shut up and consume... Only global "KNOW HOW" is increasing, while disappearing from your LOCAL perspective...


In our model, all process from seeding, planting, growing, croping, sharing, consuming is included. FROM PEOPLE TO PEOPLE, P2P, every one is valuable. Individual and Global "KnowHow" is related and connected.

We use indicators ☜。◕‿◕。☞ (-/+) 🍅 (-/+)

  • On the left side make, have 📤 (+) OR consume, miss 📥 (-)
  • in the middle is 🍅 some Useful Ressource 🎪
  • in the right side Maker (+) OR NOT Maker (-) (Know How related)

Let's see a little example

  • A wants (-) 🍅 (-)

  • B sells (+) 🍅 (-)

  • C makes (+) 🍅 (+)

  • D have Tomatos (+)🌱 (+). E have Tomatos growing (+):island:(+).

  • A can buy Tomatos from B it is taking from C. #IRL (-) 🍅 (-)

(-) + (-) + (+) = (-)

  • A can contact C, if C is closer than B, A gets Tomatos from C. (-) 🍅 (-)

(-) + (+) = 0

  • A can contact C, LEARNING he needs Seed and Land to become (+) 🍅 (+) !!

(-) + (+) + (+) = (+)

Most of the time, this TX loops are not optimized. And bring a lot of first choice only available. But Astroport Stations facilitating relevent communications and makes Zen donation easy between peers We have a positive working "Knowledge Zen Economy System" appearing

Now, change A,B,C,D,E into Paul, Rachid, Mary, John, Pierre add more friends if you want to build a more complex (+) Connect the Oasis through "Syndicate Pubs" and start working together. Collectively. Without competition but the one you choose to organise as a treasure game if you whish (you are the master of the Zen).

Activate The 100km Metaverse mini-Worlds radar mode and filter information from Transiscope/Gchange Filter map layers by Basic Needs or Makers categories.

Then A, B, C, D, E, F, G, H, I, J, K, ... and as much as it has to be can share knwowledge, howto, know how and transform (-) into (+) to be and buid a MAKERS society

It is built Resilient. Asynchronous. Disconnected. Resistant. ANoptic?!! You are the master of your Libre Digital Castle ("in the sky" or "made of sand"?)*


(*) Share the same swarm.key to harden your Friend Of Friend Community /home/$YOU/.ipfs/swarm.key


Basically on Evolutionary Code your code evolves not because you plan, but because the environment around it pushes it into certain directions. ❤️ ❤️