## Astroport.ONE # Bash Web3 playground TiddlyWiki hosting, programmable distributed data layer protocol & "step-by-step" blockchains DApp over IPFS ![](https://ipfs.asycn.io/ipfs/QmWuR39JfNFzCRvocdTXqhdxVBd7YaGn12fkNVYNsWmMaD) ---- [![](https://ipfs.asycn.io/ipfs/QmNRGY44NnUwhAHeoXTnf31DxoMd84E8xwiBPywe8TQ8dE =360x)](https://qo-op.com) ---- Astroport.ONE is an educational web3 playground. Choose a 0.01° sector. Provide an email to join this collaborative App. https://qo-op.com ---- [![](https://ipfs.asycn.io/ipfs/QmUtv5EtEQTDSrrZ9Va3XveXa2sJgMqou58NfMLm5tLpu3 =420x)](https://github.com/papiche/Astroport.ONE/blob/master/BOOTSTRAP/Readme.md) ________UPlanet contains 5 layers of nested keys_ ---- Astroport.ONE adds "Boot Sectors" and PLAYERs datastorage into IPFS. It defines a primal key management system among IPFS nodes hosting TiddlyWiki on UPlanet sectors. ---- * Each TW can share Tiddlers with others on the same Umap and with other G1 Friends identified through Ğ1 web of trust. * 20H12 process analyze key relations and operates data linking in "step by step" blockchains. * ASTROBOT execute actions on specific Tag and interact with DUNITER blockchain and any App using ED25519 key addressing ---- Programmers can learn how to create Applications Templates on every derivated keys. This "proof of concept" introduces an IPFS data layer on Earth anyone running Astroport.ONE can be part of. ---- Discovering IPFS is a mind blowing experience. Content addressing and Public Key Infrastructure is replacing the old absolute path need with an infinite relative Information System ---- **Thanks to unique content and key addressing features Web3 has to offer, we are going to build a distributed information system.** ---- During this exploration, we'll discover key derivation, various sharing consensus and protocol validation procedures all through BASH scripts and other CLI tools in a P2P environment. ---- > Clone & Install [Astroport.ONE](https://github.com/papiche/Astroport.ONE) ``` ## Consider creating a fork to submit your plugins bash <(wget -qO- https://raw.githubusercontent.com/papiche/Astroport.ONE/master/install.sh) ``` ---- >> **HACKING NOTE** > * To explore VARIABLE relations and reverse engineer code > ```cp ~/.zen/Astroport.ONE/search ~/.local/bin/``` > USE [```./search```](https://github.com/papiche/Astroport.ONE/blob/master/search) ---- ## The BASH engine ---- ### API server (1234) This script runs the astroport daemon. Based on netcat, it receives and sends minimal HTTP GET #### Exploration * [~/.zen/Astroport.ONE/12345.sh](https://github.com/papiche/Astroport.ONE/blob/master/12345.sh) * [~/.zen/Astroport.ONE/API](https://github.com/papiche/Astroport.ONE/tree/master/API) ---- #### Explanation This continuous running script is dedicated to receive, decode and execute API functions. > TRY ONLINE : https://astroport.copylaradio.com ---- ### SWARM engine (12345) In order to communicate over IPFS, we settle for each NODE a self publish and discovery protocol. [![](https://ipfs.asycn.io/ipfs/QmRoYQiktJRqgRW2BEUHP62UDeUumUApNZqd2SmZokVcwD =600x)](https://astroport.copylaradio.com/12345) #### Exploration [~/.zen/Astroport.ONE/_12345.sh](https://github.com/papiche/Astroport.ONE/blob/master/_12345.sh) [~/.zen/Astroport.ONE/RUNTIME/NODE.refresh.sh](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME/NODE.refresh.sh) ---- #### Explanation Each NODE is publishing self hosted data in ```~/.zen/tmp/IPFSNODEID``` directory. It regularly refresh ```~/.zen/tmp/swarm/``` to collect data from nodes connected through common bootstrap ![](https://ipfs.asycn.io/ipfs/QmTdRhZoDGuBcS3ovLPfh98onmRDZD2yDoYQg6SSj7c4hf) ---- ### 20H12 runtime In order to achieve blockchain next state evolution, every day each NODE runs various refresh tasks (best is based on real longitude). #### Exploration [~/.zen/Astroport.ONE/20h12.process.sh](https://github.com/papiche/Astroport.ONE/blob/master/20h12.process.sh) [~/.zen/Astroport.ONE/RUNTIME/*](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME) ---- #### Explanation During this period, Each NODE is scanning every local PLAYER account to detect key relations and apply various data engineering tasks. Seek, Collect and Merge * G1Voeu derivated keys and ASTROBOT actions programming * Umap shared key management and DATA scraping ---- ### ASTROBOT DApp feeding Programs * Update UPlanet & Neighbours TW's + :star: https://gchange.fr + https://park4night.com + https://youtube.com + https://OpenStreetMap.org + ... any wishes :smiley: #### Exploration [~/.zen/Astroport.ONE/ASTROBOT/G1CopierYoutube.sh](https://github.com/papiche/Astroport.ONE/blob/master/ASTROBOT/G1CopierYoutube.sh) [~/.zen/Astroport.ONE/WWW/CopierYoutube](https://github.com/papiche/Astroport.ONE/blob/master/WWW/CopierYoutube) ---- ## The TW Data Layer PLAYER creates a cryptographic key pair using EMAIL He receives ZenCard & AstroID, its pgp PIN protected TW credentials. QRCode scanning delegate Key operation through a Terminal. ---- ![](https://ipfs.asycn.io/ipfs/Qmdgg4ANz2m1kE5HHNnbKWDXMB9o4sMBieaa4pFF27GQC9) ---- ### UPlanet In order to choose a "bloc 0" key, the planet is divided into 0.01° portions. This mesh will be used as anchors to define where TW is spreading data. ![](https://ipfs.asycn.io/ipfs/QmbPvgrtcWdV4PkpHZvZvAGL7ztuyqqr2UrS5GYr1J6YFC =480x) https://qo-op.com ---- ![](https://ipfs.asycn.io/ipfs/QmWfCsfo1muraPPagu5LWiCU77Wz2mWNwCt3jZq7gjXjkc =640x) --- ![Distributed Information System](https://ipfs.asycn.io/ipfs/QmPjmMSto3sJcX9Mo6zgfmnCqDBkdG9kqyHzmSGxYm2Mdw) --- # "Knowledge" and "Know-how" # in a Distributed Information System --- ### EXERCICES * Explore the tools [keygen, jaklis, gpg, natools](https://forum.duniter.org/t/il-manque-une-tdc-a-notre-tdc/10500/22?u=frederic_renault) * [Manipulate CLI "tiddlywiki](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME/VISA.new.sh#L361)" for read & write TW as database * [_chain & _moats](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME/UPLANET.refresh.sh#L282) time stamping and signature the blockchain essentials (search) * Extend [TW Plugin & Tiddlers](https://pad.p2p.legal/s/TW#) --- * Introduce IA learning on TW RSS and G1Tag Apps https://www.youtube.com/watch?v=kXuHxI5ZcG0 * Develop and Extend [Terminal TPE functions](https://forum.duniter.org/t/g1card-un-systeme-pour-g1terremarches/11575) * Synchronize UPlanet UMaps on [Sun realtime](https://github.com/papiche/Astroport.ONE/blob/master/tools/time2solar.sh) in 24s compute time --- * Play with Quadratic Voting system https://git.p2p.legal/qo-op/G1FQ * Extend [VOEUX.refresh](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME/VOEUX.refresh.sh) and [UPlanet.refresh](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME/UPLANET.refresh.sh) processes * ... Imagine your own DApp ... Transpose key generation ... --- ## G1Station ♥BOX Each NODE running Astroport.ONE can join the core boostrap list using its own personnal domain. --- ### DMZ & HTTPS PROXY [![DMZ & HTTPS PROXY](https://ipfs.asycn.io/ipfs/Qmcb7P2BWd75mBrz9tfnsRYGop8r6fKtZJznvSHoVzM58u)](https://git.p2p.legal/STI/Astroport.ONE/src/branch/master/OpenPORTS.png) --- ### BooStrap ♥BOX port forward + "[nginx proxy manager](https://nginxproxymanager.com/)" ![](https://ipfs.asycn.io/ipfs/QmWzwL9fZKDGuqsvDjkA8v9sAcU4zQ4BvjKDRwnZQBT97y) --- ### WHAT & HOW TO INSTALL ![WHAT & HOW TO INSTALL](https://ipfs.asycn.io/ipfs/QmSD2tL5pgib9eQoFTABAas6SHamfZzZ749Sw8vQ4dRtSe) support@qo-op.com
{}