Build your first workflow with CRE I Solange Gueiros, Harry Papacharissiou and Andrej Rakic
ETHGlobal·Tue, Dec 9, 2025, 12:00 AM
Speaker
Join Solange Gueiros, Harry Papacharissiou and Andrej Rakic for a workshop titled "Build your first workflow with CRE", featured at ETHGlobal Buenos Aires 2025! _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇦🇷 *ETHGlobal Buenos Aires* This workshop is specifically for ETHGlobal Buenos Aires, a 3-day hackathon held November 21-23 at the Centro de Convenciones Buenos Aires, bringing together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! Watch the full ETHGlobal New Delhi 2025 playlist here: https://www.youtube.com/playlist?list=PLXzKMXK2aHh76O7FfAHPJkZcqTIfYpoyf _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow ETHGlobal* X: https://x.com/ETHGlobal Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city
Transcript
Here we are to talk about chaining and especially the new launch of chaining the C. So uh let's go forward. I am Solenigos de and this is Andre.
My name is Andre.
Hello my name is Harry
and and welcome welcome here. This is the most important slides for you. So you have 30 seconds to get the presentation because everything is inside this presentation. It will be stream as well. But if you get this now it will be better for you.
Okay. Okay. Great. And let's talk first about our chaining bounties. So what we have here first we have the C.
I know that you are curious about C. We are doing something live here in a few minutes. But theory uh we have uh workflows and the three best projects building workflows we win 3,000 each. And also if you are using any other chaining services, you can win 2,000 each and maybe we can combine it the bounties and uh you must do a onchain transaction to do that. And um also it's important to you um to if you thinking using functions or automation please use a CR that will be better than them now.
Okay. And let's talk about chaining chain link. What's chaining? So chain links chaining are oracles connections to any kind of data sources or external resources. And all of these are done using decentralized oracle network.
And important to say that chain link is not a blockchain are decentralized networks but these services are deployed in many many blockchain different blockchains different chains and this is I know that you are curious. We just launched this two weeks ago and Andre you explain about Siri.
Thanks also Ola to have a hands on them on what Siri is. Uh but before that CR stands for chain link runtime environment is our latest project that we we launched two weeks ago at smartcon at New York and it's basically is an orchestrational layer that allows you to connect offchain world with any type of blockchain and any smart contract on that blockchain. The most important thing for you for us as a developers is that we with chainlink runtime environment develop workflows which are files written in either go or typescript that are off-chain code uh that is executing in a chaining don environment. Okay. So we are again developing offchain code in either go or typescript.
We have SDK. So I'll show you that in a minute. That is essentially an off-chain piece of this in infrastructure executed by chaining nodes secured by chaining the same same dons that we use for price with CCP all that you're already used to. Uh and one of the capabilities is that you can write some callback onchain which is a link between real world and blockchains. Okay.
And today I'm going to show you how we can write those develop those capabilities in typescript but also if you want to do it in go I'll be at the boot all of us we're going to help you with debugging integration whatever you need. Okay. So how many of you are familiar with what chain link is? Are you familiar with how price fits work?
Yeah. Yeah. So for those who for those who are not familiar with how price fit verts essentially there is a smart contract on blockchain which has the latest price written and the latest update. So we as developers just consume that data and then do something with that price. But important thing is how those prices get updated.
So each single node in a dawn don stands for decentralized oracle network have its own sources of price data. So they will constantly calculate new price data in a way that all of these nodes will make API calls to maybe dexes Google like what's the current price of Bitcoin or whatever like that that's onto them. So fetch prices and then report that their price to the rest of the network and then the network will needs to reach a consensus of what the actual price is. We use the median algorithm for that. And then uh then the dawn will check by reading the latest updated price onchain.
So they will read the price data from smart contract to see uh whether the price has significantly changed. So we want to update it or enough time has passed. So the price is stable. So we again push the update. And when that happened uh Don writes the the update to smart make a onchain transactions and write the the price update to smart contract.
So you can see from what what I explained here is that this is kind of like a a fixed system that we glue together for a specific purpose. But essentially it consists of atomic actions like fetch the price, reach a consensus, read something from chain, write something from chain. So we thought what if we unglue them and give to you all of these capabilities to use it as a building blocks to build those workflows. As we said again, workflow is piece of code written in either Go or TypeScript. For now, it's mostly off-chain code that we are going to develop throughout this hackathon.
And we are using these capabilities, atomic exaction actions as a Lego box as a building blocks to build workflows. And on this slide, we can see some example of capabilities like chron trigger, chain reader, which you know reads data from chain API fetch mentioned, chain write mentioned, and many more. And the list is really long. So I'm going to talk about that in a minute. But that's what capabilities essentially are.
And then we basically as I said use those capabilities to develop workflow. Our project can have multiple workflows as well. It's totally up to you how want to do how want to we want to develop them. And then we deploy that to chain link to be uh executed onchain, right? To be executed offchain and connected to onchain smart contracts.
And essentially those smart contracts can be anything. So any L1, any Ethereum L2, any private chain, any bank chain, any institutional chain, whatever. Like chaining is completely blockchain agnostics agnostic. So whenever you deploy this workflow based on your config file, which I'll show you, it can connect to any any chain that's written in as long as you provided RPCRs and those type of config details. And this is the list of all capabilities currently available if you want to take a picture but there is uh the list obviously in the docs.
So speaking of so the important thing is when we are developing workflows we are essentially from the main function return an array of object which consist of two things triggers and handlers. So triggers on the left side can be chron triggers. So we set up every 5 minutes or every 30 seconds or every first in a month trigger this workflow and after the trigger the second thing function will be executed right so that's that's a handler can be API fetch we hit some API endpoint that's a trigger do something can be blockchain event so that's what we call log trigger so whenever certain event from a certain smart contract on a certain blockchain so you can listen to multiple blockchains get emitted like trade initiated or whatever. We're going to do something and what we're going to do something in that code is can be patch external libraries because in typescript you can mpm install in go you can use standard library or whatever you can read from chains as we saw like from multiple chains you can API fetch http http get put post requests reach a consensus not only median there's like several different consensuses available to you we'll show you that as well uh API right which is a HTTP post chain right and more and So that essentially in essence is what chain linking runtime environment is and it's all secured by the same dons we used to in the chain platform in general. Do we have any questions before I proceed with the demo?
Okay, perfect. You can ask questions at the end as well. So now I'm going to demo to you how you can use Siri. Okay, so first you will want to go to cere.chain.
link link if you want to to type down that URL or whatever you'll find in the docs. So again the URL is C.chain.link stands for chain link runtime environment. The very first thing is that you need to set up CLI.
CLI is important because with CLI we compile these workflows to binaries. So again doesn't matter whether it's written in typescript go in future rust python whatever cli is language as nostic. So it's a when same tool that we can use to compile uh these workflows and also to deploy them. So that's why we need a CLI to have the to install the CLI just run this command. So it will just run the installer on your machine.
So it's the similar process how you install for example Foundry or stuff like that. So it's it's the same thing after you run this command. I won't run it. But essentially what you will see if you type Siri version is that you will see in my case on my machine 101 uh but uh since Wednesday we we have a new version. So uh you might see like 102 most likely uh after you install CR CLI you you'll just need to log in.
So login if I type Siri
sorry Siri login uh automatic page will pop up and because I'm already set up my account I I I'm seeing this screen but what you will see is basically a simple um form where you enter your email or password and that's it like login sign up like typical typical sign up you just uh you just enter your email password and you will just have like a code sent to your email to confirm you're not a bot and that's it like you're in. It's simply really simple to set up. Like I'm I'm not going to demo that. Once we're logged in, uh you can also like do Siri who am I just to make sure well like with which account you're logged in. Once we're in we can create our first project.
So to do that in a second tab we can run the command called CR init. So similar to hardhead or foundry you know like they have in it commands you will do CR in it and it will walk you through the process. So for project name we can do like um it global we can select in which language you want to do. So let's do TypeScript for example. It's like I guess it's more popular right?
Type script. Okay I see some you laughing. So we're going to do TypeScript. And then I suggest you to start with the hello world. This is the minimum boiler plan template just to see what's what's in it.
But then you can also we have a couple of other templates like custom data fit which can be maybe useful for you if you want to tweak something and and and build in the interest of time. So for now I'm going to do hello world and for workflow I'll going to do my workflow. I don't care. And there you go. Now instead of following these steps I'm going to open my code editor.
So cursor global and hopefully show you what's inside. So I'm going to zoom this a bit. So this is the project layout. Essentially you have this TNV file which you will just put the private key if you want to do any onchain rights or publishing the the workflows and stuff. So for now we're not going to do that.
and for target because the thing is that for this hackathon at least if like with Siri you can simulate execution of workflows locally and that's really important like that's really useful when during development but for this hackathon as well if you just simulate it and run it as a test it's a completely valid submission we can obviously uh publish this for you uh because it's like still two weeks old project so it's not like generally available to anyone to publish yet but locally you can simulate but we can talk about that in the So what this Siri target basically mean is that I'm going to use staging settings for local simulations and that's it. There's some YAML files that are config. We don't care about them at the moment for this simple workflow but obviously we can help you with them uh as uh and there's like great docs on that as well. This directory my workflow is the actual workflow the thing that we're building. And again we can have multiple workflows.
Each of these workflows are built on top using the capabilities I explained uh earlier and again couple of files over there and because this is a TypeScript project while we're uh while I'm explaining this I'm going to do uh I'm just going to install dependencies. So I'm going to cd into workflowful directory and run bun install. So if you don't don't have bun just install it. I'm going to hit it and that's it. because this is a type three project for go you will most likely do go mode tidy and uh for rust in future it's going to be probably cargo install and you know what I mean but here we go I already installed my devices cool uh let's close this up so the main file this is the code of the workflow and this is what you're going to develop so again we're using the SDK to develop this offchain code in either TypeScript or go or go for now and we're using it to connect uh hopefully Y with with with all of these different blockchains syntax extremely simple.
It's 30 30 lines of code. This is the main function and most likely you won't change it. So this is the main that's the function that's going to be called. That's cool. Init workflow is where you are creating all of these capabilities I mentioned.
So this example for now this example as we can see are using only chron trigger. So actually I'm going to ask you what this example does. Uh but uh what we are going to what here you're going to do is you import Siri from Siri SDK and create some capability. This is the syntax for chrome capability for log trigger will be chron capabilities launch trigger for http chrome capabilities hp etc. And what you need to return is array of these handlers.
And if you remember this slide, you see array of handlers has two things. It has a trigger and the code, right? So trigger can be chron API log event and then some action. So over here what we're returning is array of object which has trigger and some function that's going to be executed. Okay.
So schedule is coming from this this config uh this config over here at the very beginning is what's reflected in this JSON. So you see I have scheduled here. If I do something like this like API URL or whatever uh and then if I do here API URL sorry this string will be whatever it's written here. Okay. So this this config object does that.
So essentially this schedule is a chron sequence means that every 30 seconds the code will be run wh so every 30 seconds and here the trigger is every 30 seconds we're going to run this function which essentially going to just console log hello world and return hello world doesn't do anything but essentially this is what Siri is you return you're returning again array of these handlers so you have a certain trigger chron event got emitted whatever and then you do something with the rest of the capabilities instead of obviously uh returning hello world. To run this, you're just going to type Siri. So you're going to make sure you're in the root of the project. So root of the project because you can obviously run multiple workflows. And you type Siri workflow simulate and the path to the workflow which is my workflow, right?
And hopefully this will work right. Uh what we are expecting here to happen is that we see the console log which is hello world. Uh sorry about this. So this is the euro user log hello world workflow trigger. So this is just console log for us in a in a terminal and this is going what this workflow returned.
It's just a string. Obviously we can build on top of that but this is the whole idea um of Siri right. So trigger some action. That's it. Offchain code written either in Go or TypeScript.
If you have any questions, we're going to we're going to go through them later. Speaking of Siri, if you want to really master it after this hackathon, we're going to organize a master class. We call them link labs. So you can just sign up at at this uh scanning this QR code. It's it's usually uh one or two day long events.
This one I think is going to be one day long when for a couple of hours you're just going to go through every single capability, all the syntactic sugar, all the use cases, demos and stuff. So it's going to be a really hands-on thing because I learned with Siri at least you just need to go through them like try type and like you will see like it's a natural thing basically to you. Okay. So again we have a bounty for CR we have also a bounty for other training services and these are the other training services. So all the services that you're already familiar with when chaining so price feeds CCIP data feeds data streams we ref etc.
I know that a lot of you are like hacked with automation and functions in the past. If you have uh those type of ideas, something with functions and automation, uh Siri is much better option for you. Not just because of the of the bounty, but but because Siri is much more flexible because like with uh with automation you have three types of triggers and you need to have like a certain interfaces implemented etc. Here it's much more flexible. Uh same same with with functions because like you can instead of JavaScript you can write TypeScript, Go etc, etc.
Um speaking of other training services in the interest of time you know that we developed this internal tool called chaining local which is essentially a local simulator. In CR we have CR workflow simulator. So simulator is built within the CR but for other services this is this simulator which for example for TCIP it will take like less than a second to simulate the execution instead of um 10 to 15 minutes. Why? because uh we you here have like I don't know 20 30 hours maybe to build a project and you know like with challenges of test nets latency maybe Wi-Fi is is slow you need to get test net f test net funds from different faucets etc uh maybe there was like gas spike on sepoleia because all of you are deploying something to avoid all of these all of these issues you can just because essentially what we want as a developer is just to develop locally what we want to test it really quickly uh um rapidly iterate and then once we're sure that our project is ready then deploy to test net and as a next step demo to the judges.
So to en enable you with this rapid rapid prototyping we develop the chain in local which you can use with foundry hardet remix uh with all of these chains forking it supports everything all of different chaining services besides CR this is the URL this is the cure code and uh it really is uh possible I tested that so without Wi-Fi connection I was on a plane I was able to do a simulation after I have like a project set up like pull dependencies so even if the Wi-Fi dies local will help you with the development. And speaking of bounties and ideas and what you can build next for this hackathon, I'll pass it on to Harry. Okay, thank you. So, as you can see once again, there are the bounties. Please take note.
Um, but just to close things up, I want to talk a bit more about CR and and kind of what's possible. And the way I think about CR is I think of it as a it's really a great way to orchestrate you doing stuff onchain with anything that you need to do offchain. Whether it be having an AI agent trigger something to happen onchain, whether it be doing something with stable coins or X42 or any of uh any of that stuff. Siri is great because it allows you to combine what you want to do on in smart contracts with basically the whole outside world and to orchestrate that in kind of this middle layer that kind of acts as like this uh orchestration part in the middle. So, if you're thinking of a use case that isn't just restricted to a blockchain, maybe it requires some external data.
Maybe you're looking at some of the other partner uh sponsors here that are infrastructure related. You know, Circle, Filecoin, Coinbase, etc. They have services that all have APIs. For example, you could take CRA, use their services as well together with chain link and various blockchains to have an endto-end solution that solves for your use case with CR acting as that kind of orchestrating layer in the middle. We did some really cool examples when C C went live recently.
For example, um you could build a prediction market where CRA essentially acts as the orchestration layer between the onchain market and uh Google Gemini or some other AI or LLM to settle the prediction market. Right? So you can use AI to settle prediction markets as an example. Uh, in fact, anytime you want to use AI or some kind of LLM, uh, CR is the perfect way to connect AI with a blockchain because of the HTTP capability as Andre described. So, yeah, I really encourage you to think outside the box.
We we provide you with this box of Legos to basically build whatever you want. We're very interested to see what kind of use cases come out of these. Uh, we're very happy to work through the use cases with you. So, if you have some ideas or you're not 100% sure, please come speak to us at the booth just out here. We're happy to walk through the architecture with you and help you come to a solution that you know you think makes sense.
Once again, here's a link to the presentation for those that don't have it. And uh yeah, thank you for joining us here today and we're very excited to see what you build with Chain Link. Thank you. [applause]
Automatic transcript — names and jargon may be misspelled.
