***a town** is a physical installation node of linux server plug into a LAN network (a telecom box NAT conf) accessible from a WAN network (domain name redirect to a town public IP).
***a tribe** has a unique name and is a space to host data to apply specific algo rule register at the creation of a tribe by a druid that respect the town rules
***a pagan** 'village farmer' is a unique identification create by anyone based on PGP (public/Private key) and a unique alias (for human) that allow a member to proof that he owns this identity. Can be anonymous but all his actions are store into a blockchain of reputation link to this unique ID.
***a druid** 'rules master' is a pagan that owned and defined rules of a tribe, he owns a domain name (DNS) to make it tribe's data accessible over the net. As pagan he can be anonymous, he is responsible of the tribe activities and can ban a pagan of his tribe. Any pagan become a druid when he decides to create a tribe by requesting a town mayor
***a mayor** is a owner of a physical machine, he is in charge to make a town node working (IP availibily) and accept to be part of a nation (rules of the blockchain nation).
***a contract** is an algorythme that is written into the blockchain and will be run if an action trig. Immutable contract are the one link to the blockchain. Any pagan/druid/major can defined a contract that apply to other pagans.
***a git apxtri** is a package ready to install a town by a mayor into a physical server that will be able to join a nation (mean accept thoses nation rules). You can also create a nation and stay alone or not. Then mayor will be able to host druid request to create tribe. Then druid will invite pagan to join his tribe...
All actors will have the same target to respect contracts and are free to leave or to stay into a nation, a town or a tribe. If a contract is not fair, then a nation, tribe, will be empty mean not creating value mean die. Only fair rules will survive but any try will rewards actor with XTRIB coin.
As it is decentralize organisation, a public address directory is replicated on each instance. We strongly recommand to use many reverse proxy to manage your public IP, never exposed your physical real IP in your country for anonymous target.
Each town (instance) is accessible with an anonymlous DNS https://apxtri.crabdance.com where the IP adresse is update when elected town's IP to register a new block into the blockchain (each 10minutes).
As a mayor, you have to understand what you are doing, your numeric reputation is in the game. Always check sources before downloading any things. For dev use town name: **dev** and nation name :**ants**
### Network:
FOR DEV: you can just use local http:/dev-ants
```plaintext
$ sudo vim /etc/hosts # add 127.0.0.1 dev-ants
# Then after "Machine" install, open in your browser http://dev-ants
```
FOR PRODUCTION:
You need a domain name, to get a free one [http://ydns.io](http://ydns.io) create one like apxtri.ydns.io that content your IP adress the get your url update something like [https://ydns.io/hosts/update/Tl7FDQAETmQre312edztgsI](https://ydns.io/hosts/update/Tl7FDQAETmQre312edztgsI)[Uy](https://ydns.io/hosts/update/Tl7FDQAETmQre312edztgsIUy)
```plaintext
# Into your production machine
$ crontab -e
# add a line at the end to update your IP in case you have a dynamic WAN IP
$ ip -4 address # to get your (local) LAN IP of your server
```
Connect in your browser to your box (use your LAN IP and change last number by 1) Set as a dmz your local LAN IP and route (NAT) your internet trafic port 80 and 443 to this local IP.
This allow public access from internet to your DMZ local server. Think to use reverse proxy to be more anonymous. Contacts the community to help keeping you anonymous if you want.
use a sudoer user and execute command line $, for security reason, do not use apxuser replace it by something not common ( not as admin, mayor,… use your nickname or pseudo)
$ town=townname nation=nationname dns=apxtri.ydns.io yarn startapx # for 1st install to set /etc/nginx/nginx.conf conf/nginx/adminapi_adminapx.conf with your parameter
# FYI: it changes nginx configuration + let's encrypt your dns to get a ssl
# As mayor you need to own this town as yours by conecting to https://dns
```
## apxtri Documentations
### Documentation for developper:
apxtri core : https://dns/cdn/apidoclist all endpoint and how authentification and data object management works.
* anonymous numeric identity with **pagan** object that allow a unique alias and publickey
* how a pagan can become a **person** for a trib (anonymously or not)
* how notification can cypher message between 2 pagans to communicate
* how a dev can create and host a tribe and a full project with api backend (documented with apidoc) and a webapp (in react, vue, angular, or a simple web page)
We are looking for dev (node.js, express.js, js, web developper), for translator, for trainner, for mayor and druid from any countries that want developp a business with their machine/bandwidth and local communities.