We’ve been very busy for the past two months working on two new major features of the Engine: Orchestrator and Network. That’s why these release notes group together MESG Engine v0.13 to v0.15!
Release of MESG Orchestrator to build apps using processes
We officially released the first public version of Orchestrator
MESG Orchestrator is an event-driven task-orchestration system that manages the connections between the events and tasks of services by following the steps described by processes.
It lets you build and run complex applications by describing their business logic, then the Engine executes them for you.
Processes are an evolution of Applications, as they are managed by the Engine, and will be distributed on the upcoming decentralized network.
You can read more about Orchestrator and Processes in the documentation.
Process super quick start
Create a new file
process.yml on your computer and copy the following content:
key: erc20-notification steps: - type: trigger instance: src: https://github.com/mesg-foundation/service-ethereum-erc20 env: - PROVIDER_ENDPOINT=$(env:PROVIDER_ENDPOINT) eventKey: transfer - type: task instance: src: ./convert taskKey: address - type: filter conditions: contractAddress: "0x420167d87d35c3a249b32ef6225872fbd9ab85d2" - type: task instance: src: ./convert taskKey: email - type: task instance: src: https://github.com/mesg-foundation/service-email-sendgrid env: - SENDGRID_API_KEY=$(env:SENDGRID_API_KEY) taskKey: send
Then, execute the following command to compile, start and log the activity of the process:
mesg-cli process:dev PATH_TO_THE_PROCESS_FILE --env PROVIDER_ENDPOINT=YOUR_INFURA_URL --env SENDGRID_API_KEY=YOUR_SENDGRID_API_KEY
Congrats! You created your first MESG Process!
Beta version of the decentralized network
We are working hard on the decentralized network and are making good progress! The services are now decentralized by running on Tendermint with ownership management features!
In the next version of the Engine, we plan to release our first public testnet!
To test it before the public release, clone the engine repo and run the
dev script with the flag
git clone https://github.com/mesg-foundation/engine cd engine ./dev --validator --genesis_validator
After the Engine is started, you should see a new block every 10 seconds!
Switch to gogo protobuf
The gRPC API is now using gogo protobuf to compile the proto file to Go. The main reason is the customization of the proto that gogo proto offers over the official Google version.
This has the side effect of breaking the reflection of the gRPC API. You now need to explicitly pass the proto files when using a gRPC client.
You may also need to download
gogo.proto and save it locally in
./gogo/protobuf/gogoproto to allow your gRPC client to access the new features that gogo offers.
The CLI is now checking for the latest matching minor version of the Engine when running:
Of course you can disable this system by using the
mesg-cli daemon:start --no-pull
Follow the links below to see the complete changelogs:
To update the Engine and the CLI, follow the installation process on the documentation.