Connecting Ethereum to your Applications could be a task that requires several skills and most of the time you have to manage also the infrastructure. In a world that is going to a decentralized direction, everyone should be able to build without experiencing a steep learning curve, simplicity leads to user-friendliness which leads to adoption. That's why we demonstrate a simple way to keep track of key events on WBTC, which double their total supply few days ago and is actually the leading platform for tokenized Bitcoin on Ethereum. We built the Twitter integration for HAL and WBTCBot (on Twitter and Telegram). It informs you about new mints and burns on WBTC. https://twitter.com/WrappedBTC/status/1263638972653162496?s=20 But these are just one use case, with HAL.xyz you can develop several use cases in a jiffy! And this is just the start, we are going to add more and more integrations aim to be the IFTTT for Ethereum and later on a fully fledged Gluer Read the long term vision, "The Gluing Manifesto" https://medium.com/coinmonks/the-gluing-manifesto-159cabef0532
How It's Made
The fundamental element for HAL is the concept of trigger. A trigger is composed by a condition (right now on-chain) and one or multiple actions (off or on-chain). For instance in our use-case, the condition is to look for mint/burn events on the WBTC Factory smart contract and the actions are tweet a message and send a notification. We have 3 classes of triggers: - Watch a Transaction, you can build a condition for any tx, filtering on parameters like recipient and sender or function name during smart contract invocation and respective parameters. - Watch a Contract, any state mutation of a specific smart contract aka any property change - Watch an Event, trigger when a specific event is emitted (with additional filters) We have plenty of actions: - Email - Webhook - Slack - Telegram - Twitter - and shortly Discord The payload for the actions could be any data of the tx, from the hash to the parameters of the smart contract invokation. Actually the architecture is pretty much straight-forward. We have 3 components: Zoroaster, Pythagoras and Plato. Zoroaster is the Go backend which monitor the blockchain, look it there's a match for a trigger and in the case execute the action. Pythagoras is the API middleware which exposes a GraphQL interface to create, change, delete and read triggers. It's written in Node.JS and leverage Apollo. Plato is the frontend, which basically provide a nice UI/UX to create triggers and let the user check the matches.