Skip to content
Build apps or autonomous workflows with reusable, shareable integrations connecting any service, app, blockchain or decentralized network.
Go Shell Other
Branch: dev
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Fix circleci config Nov 26, 2019
app return cosmos app load function instead of exiting. Feb 26, 2020
cmd fix cli daemon Feb 26, 2020
config fix tendermint config about IndexAllKeys Feb 6, 2020
container Fix typo. Add todo. Output orchestrator log as orchestrator module. Nov 21, 2019
core disable gocycle on core/main function Feb 26, 2020
cosmos Add missing comments Feb 17, 2020
docker-images Create simple&small docker images Aug 29, 2018
e2e add e2e test to check the modification of balances when an execution … Feb 25, 2020
event Refactor cosmos module Feb 17, 2020
execution Add block height to execution Feb 25, 2020
ext Fix typo + remove unused function Feb 20, 2020
hash Add more validation to structs Nov 25, 2019
instance Update Instance SDK to work with Cosmos Nov 5, 2019
internal Refactor cosmos module Feb 17, 2020
logger Add more docs & clean up Aug 12, 2019
orchestrator fix lint Feb 26, 2020
ownership Change ownership type layout Nov 28, 2019
process Use template to move process cosmos module to x/ dir Feb 13, 2020
protobuf Add block height to execution Feb 25, 2020
runner Refactor cosmos module Feb 17, 2020
scripts Refactor cosmos module Feb 17, 2020
server/grpc Refactor cosmos module Feb 17, 2020
service Change x package to ext Feb 10, 2020
version Move version to pkg and log when dameon starts Aug 4, 2018
x Add block height to execution Feb 25, 2020
.codacy.yml remove vendor for codacy Oct 27, 2018
.codeclimate.yml Exclude mocks from codeclimate Mar 19, 2019
.codecov.yml Move codecov.yml to .codecov.yml Oct 21, 2019
.dockerignore Only copy /bin/engine to docker build Jan 13, 2020
.gitignore Add coverage.txt to ignore list Oct 21, 2019
.golangci.yml Use disable-all instead of enable-all in golangci config Feb 18, 2020 add changelog of v0.18.3 Feb 5, 2020 Merge branch 'dev' into feature/system-service-instance Jul 2, 2019
Dockerfile Update Dockerfile cmd file path Oct 22, 2019 Build engine outside docker Oct 22, 2019 Refactor cosmos module Feb 17, 2020
LICENSE Update LICENSE Dec 29, 2018
Makefile Refactor cosmos module Feb 17, 2020 Update hall of fame on README Nov 19, 2019
go.mod Refactor cosmos module Feb 17, 2020
go.sum Refactor cosmos module Feb 17, 2020
schema1.svg Add architecture schema Jul 3, 2018

MESG Engine

Website - Docs - Forum - Chat - Blog

GoDoc CircleCI Docker Pulls Maintainability codecov

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

If you'd like to build Services and share them with the community, go to the Services section.

To help us build and maintain MESG Engine, refer to the Contribute section below.


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


Services are build and shared on the Marketplace. They 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.

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.

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 page.


MESG Architecture


We have a common place to post all community-developed Services and Applications. Check out the Marketplace.


You can find us and other MESG users on the forum. Feel free to check existing posts and help other users of MESG.

Also, be sure to check out the blog to stay up-to-date with our articles.


Contributions are more than welcome. For more details on how to contribute, please check out the contribution guide.

If you have any questions, please reach out to us directly on Discord.

You can’t perform that action at this time.