Processes are managed by process managers like pm2 and @elife/pm2. The logs for these can be found under your $HOME/everlife
and in the logs
folder in this repository. These logs are very useful for debugging/troubleshooting any issues you may face.
The Everlife Server Node will download and manage all the other dependencies needed to run the avatar, install the skills, communicate with the user and soon. Configuration, updates, and troubleshooting can all take place from here.
This package itself can be thought of as the core of the avatar - it keeps the rest of the avatar (the AI brain, the immortal feed, the database etc) alive and stable. That is it's main responsibility (after all - it has to live forever).
As you can see from the architecture above, the server node delegates all other work to other core processes (a.l.a Erlang's supervisor trees).
These core processes include:
- The EverChain Feed and Replication
- A Database for storing working data
- A Skill Manager for installing, running, and managing skills
- Infrastructure Skills (as hub/as host/...)
- Worker skills (twitter svc, vanity address, ...)
- A Communication Manager for installing, running, and managing communication channels
- Telegram channel
- Messenger channel
- Alexa channel
- Web channel
- ...
- An AI for understanding and managing user interaction and strategies for earning
- Intent Resolution
- NLP
- Generative Dialogues (python with microservices relay...)
- ...
- The stellar blockchain interface for payments, receipts, and smart contracts.
- The interface to the polkadot relay chain to integrate with other blockchains.
Because all the code is open source you should be able to go through and understand any part that interests you in more detail. Otherwise you are welcome to ping us on our Discord channel and ask any questions or doubts you may have.