Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mesg-foundation/engine
Build apps or autonomous workflows with reusable, shareable integrations connecting any service, app, blockchain or decentralized network.
https://github.com/mesg-foundation/engine
blockchain docker event-driven framework microservice services
Last synced: 2 months ago
JSON representation
Build apps or autonomous workflows with reusable, shareable integrations connecting any service, app, blockchain or decentralized network.
- Host: GitHub
- URL: https://github.com/mesg-foundation/engine
- Owner: mesg-foundation
- License: apache-2.0
- Created: 2018-02-16T09:13:42.000Z (almost 7 years ago)
- Default Branch: dev
- Last Pushed: 2023-10-17T07:00:56.000Z (over 1 year ago)
- Last Synced: 2024-11-17T12:13:59.792Z (3 months ago)
- Topics: blockchain, docker, event-driven, framework, microservice, services
- Language: Go
- Homepage: https://mesg.com/
- Size: 25.6 MB
- Stars: 130
- Watchers: 10
- Forks: 13
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# MESG Engine
[Website](https://mesg.com/) - [Docs](https://docs.mesg.com/) - [Forum](https://forum.mesg.com/) - [Chat](https://discordapp.com/invite/SaZ5HcE) - [Blog](https://blog.mesg.com/)
[![GoDoc](https://godoc.org/github.com/mesg-foundation/engine?status.svg)](https://godoc.org/github.com/mesg-foundation/engine)
[![CircleCI](https://img.shields.io/circleci/project/github/mesg-foundation/engine.svg)](https://github.com/mesg-foundation/engine)
[![Docker Pulls](https://img.shields.io/docker/pulls/mesg/engine.svg)](https://hub.docker.com/r/mesg/engine/)
[![Maintainability](https://api.codeclimate.com/v1/badges/86ad77f7c13cde40807e/maintainability)](https://codeclimate.com/github/mesg-foundation/engine/maintainability)
[![codecov](https://codecov.io/gh/mesg-foundation/engine/branch/dev/graph/badge.svg)](https://codecov.io/gh/mesg-foundation/engine)MESG is a platform for the creation of efficient and easy-to-maintain applications that connect any and all technologies.
MESG Engine is a communication and connection layer which manages the interaction of all connected services and applications so they can remain lightweight, yet feature packed.
To build an application, follow the [Quick Start Guide](https://docs.mesg.com/guide/quick-start-guide.html)
If you'd like to build Services and share them with the community, go to the [Services](#services) section.
To help us build and maintain MESG Engine, refer to the [Contribute](#contribute) section below.
# Contents
- [Quick Start Guide](#quick-start-guide)
- [Services](#services)
- [Architecture](#architecture)
- [Community](#community)
- [Contribute](#contribute)# Quick Start Guide
This step-by-step guide will show you how to create an application that gets the ERC20 token balance of an Ethereum account every 10 seconds and send it to a Webhook.
[Check out the Quick Start](https://docs.mesg.com/guide/quick-start-guide.html)
# Services
Services are small and reusable pieces of code that, when grouped together, allow developers to build incredible applications with ease.
You can develop a service for absolutely anything you want, as long as it can run inside Docker. Check the [documentation to create your own services](https://docs.mesg.com/guide/service/what-is-a-service.html).
Services implement two types of communication: executing tasks and submitting events.
### Executing Tasks
Tasks have input parameters and outputs with varying data. A task is like a function with inputs and outputs.
Let's take an example of a task that takes 2 number and add them (a sum):
The task accepts as inputs: `a` and `b`.
The task will return the following output: `{ result: xx }`.
Where `result = a + b`
Check out the documentation for more information on [how to create tasks](https://docs.mesg.com/guide/service/listen-for-tasks.html).
### Submitting Events
Services can also submit events to MESG Engine. They allow two-way communication with MESG Engine and Applications.
Let's say the service is an HTTP web server. An event could be submitted when the web server receives a request with the request's payload as the event's data. The service could also submit a specific event for every route of your HTTP API.
For more info on how to create your events, visit the [Emit an Event](https://docs.mesg.com/guide/service/emit-an-event.html) page.
# Architecture
[![MESG Architecture](https://cdn.rawgit.com/mesg-foundation/core/dev/schema1.svg)](https://docs.mesg.com)
# Community
You can find us and other MESG users on the [forum](https://forum.mesg.com). Feel free to check existing posts and help other users of MESG.
Also, be sure to check out the [blog](https://blog.mesg.com/) to stay up-to-date with our articles.
# Contribute
Contributions are more than welcome. For more details on how to contribute, please check out the [contribution guide](/CONTRIBUTING.md).
If you have any questions, please reach out to us directly on [Discord](https://discordapp.com/invite/5tVTHJC).