So, hello everyone. My name is Andre. This is Frank. We are from Chainlink Labs. Uh this is probably the most important screen you will need.
So, if you want to grab the presentation to have it handy with you, we can do that now. And then we can start uh with this workshop. It's going to be a 20-minute long workshop. You can always ask questions afterwards. Or if you need uh we'll be at the booth as well.
We can help you with brainstorming your ideas. We can help you with debugging issues. We can help you with actual implementation. And uh with anything in between. So, this is the the presentation.
Okay, I hope we all got it. If not, I'll have this secure code at the last slide as well for for the ones that maybe uh will come early. Are we all set? Can we start? Okay, cool.
So, first of all, I have Frank with me. Do you want to introduce yourself? Okay, hey everyone. Uh my name is Frank. And uh with Andre, we are uh developer relation engineers from Chainlink Labs.
Uh we have a booth over there. If you have any technical issues or you want to talk about your ideas with us, and welcome to just uh ask us questions. And uh yeah. Yeah. So, Frank will help me the second part of our presentation with the privacy-related stuff.
Uh as he said, my name is Andre. Here are my handles if you want to connect afterwards. My Telegram is the same as my Twitter handle. So, if you want to to text me if we're not at the booth during nights, or we'll be at the Discord as well. Just please tag me so I get the notification.
I'm Andre Rakit or something over there. Okay, cool. So, first and foremost, our bounties for this hackathon, the the most important thing, I think. Uh we have the bounty for the best CRE workflow. CRE stands for Chainlink runtime environment.
It is essentially our orchestration layer, or you can say it as a platform uh that connects real world with smart contracts on any chain. Uh we have two prizes for the two best projects using CRE that will give uh 2K each. That's the first bounty. Scanning on the QR code will actually lead you to ETHGlobal uh page where you can read more details about each bounty. The second one is the best usage of the uh Chainlink privacy standard.
So, we went uh we we shipped a lot of privacy features, and we will ship more of them in the in the upcoming upcoming uh weeks and months. For now, there are two uh that are live for this hackathon. Frank will explain you uh both of them in detail. But essentially, we're giving uh 1K 1K each to two best projects using Chainlink privacy standard. The good thing about is this one of these two are actually compatible with CRE.
It's actually a a feature of CRE, meaning you can combine both of them and be eligible for both prizes uh if if your project is really that good. Of course, we're we are all for combining chain Chainlink with other blockchains and other sponsors over there. Chainlink is a big big platform having a lot of features. So, we also have the connect the work connect world with Chainlink bounty, which uh it's 1K for the best project using any other Chainlink services. Like that?
Okay. More or less. Okay, cool. Apologies for that. Which is for the best project using any other Chainlink service from price feeds to CCP and everything in between.
So, those are bounties for this hackathon. I wish you luck. And as I said, if you want to brainstorm your ideas, need feedback, we both me, Frank, and our colleague Sophia will be at the booth. Now, speaking of the AI stuff. Sorry about this.
Um I know that we're at the hackathon. I assume most of you does not work does not type code by hand anymore. Is that true? Yes? Okay.
How how many of you are like developing code with AI? Or planning for this hackathon? Okay, cool. Thank you for concurring that. Okay, that that's what we thought.
And because of that, we built um something called Chainlink Agent Skills. It's a repo containing AI skills. At the moment, what's supported is CRE skills and CCIP skills. So, you can just npm npx install Chainlink Agent Skills. Uh that way, you don't even need to be an expert in CRE to win a CRE prize because you can use the skill.
Same thing goes with CCIP. The CCIP skill, besides developing contract, will also work out of the box with CLI, SDK, API, meaning you you can just tell the skill, "Hey, please transfer this amount of tokens to this chain." It will do for you, except it will refuse if it's mainnet because we're at the hackathon and we're we're targeting testnet only. But that's that's for the skills. We also have our own NCP server covering all of other other Chainlink products.
Uh it's located in the npm npm package named @chainlink/mcp-server. You might want to check that out. Power users of skills, as I assume you already know, can connect skills to MCP server as well for the best results. So, that's for that. Of course, uh we can help you with any issue you might have.
We can help with debugging. Frank and I are both uh really technical, so we can actually debug your issues and help you with implementation. Do not hesitate to reach to us. But these are the skills, and these skills should help you build much faster with Chainlink and also answer all the questions you might need that uh are without reading the documentation. Because how many of you are read documentation manually?
Okay, much much less hands. Okay, cool. Now, let's go to the meat. What is Chainlink runtime environment? Since we have two bounties related to CRE, and since this is a fairly new product from Chainlink, I want to explain to you uh briefly what Chainlink runtime environment is uh in case you haven't competed in our uh recently uh finished hackathon.
So, Chainlink runtime environment, on the right you will see the architecture, is the orchestration layer that lets you write smart contracts that lets lets you write workflows to connect with your smart contracts on any chain. And those workflows are mostly written in either Go or TypeScript. So, essentially, this is mostly off-chain code that can connect real world with your smart contracts. And that off-chain code is extremely powerful because you can orchestrate multiple AI agents, for example, as one project already asked me about. So, what you as a developer need to know?
Three main concepts, and those are extremely simple. The first one is CRE workflows. So, workflow is simply an off-chain code you develop. So, this is the thing that you will develop, or to be more realistic, your AI agents will develop. Hopefully using our skills, but without skills as well, it will work.
This These are written either in TypeScript or Go. Meaning that you can leverage for TypeScript all the npm packages that you will usually install. And for Go, all the standard libraries and packages that come with Go. So, you can just plug in those into workflows as well. The important thing is that CRE will compile all of your workflow code to WebAssembly, and then it will run it across decentralized oracle network.
Decentralized oracle network is the same one we have for other Chainlink services, meaning that there is no single point of failure. Each of these nodes in a DON will execute your workflow code, and then they will talk to each other to reach a consensus on the final callback before you give the final callback. If you're familiar with functions, this is just functions, but way better because you can combine multiple different EVM reads and writes in the same workflow, different uh different um use cases, etc. This is the hello world. You can see it's only 28 lines of code long, and it's because of the formatter, it's even less.
You will see that each um workflow So, in each workflow, function will return an array of handlers. So, handler is basically a combination of a trigger and a callback function. In this example, the trigger is a cron trigger, and the callback function is the on cron trigger just slightly above, which is just console logging hello world. I mentioned triggers. So, what are triggers?
Second concept. CRE triggers is basically uh a primitive that tell CRE when to execute your workflow. So, workflow is a code you read uh you write. That workflow needs to be run. So, this trigger tells you when to run it.
And it can be on a schedule, which is essentially a cron job. It can be when you receive an HTTP request of any kind, or it can be when a smart contract emits an event. So, you can listen to a certain smart contracts from a uh to certain events from smart certain smart contracts on certain blockchains. So, that means that if an event has an index to filter, you can filter that as well. Finally, capability.
Capability is what your workflow can do. And each capability run its own specialized DON with building consensus. It can read from chain, write to chain, have a private HTTP requests, public HTTP requests, or uh orchestrate AI agents, and more. So, this is what your workflow can do. And now, speaking of privacy, I'll let you Frank explain how we can uh how we can work with the Chainlink privacy standard for the second bounty.
Here you go, Frank. Thank you, Andre. And thanks for everyone. So, we are going to the Chainlink privacy features. So, for the Chainlink CRE, as mentioned by Andrej uh just now, we will use our decentralized oracle network to just uh help you to release the data from the off-chain to the on-chain, or to help you to send a HTTP request to the external API from your smart contract.
So, since that is a decentralized, so the different oracle under this network will be operated by different entities. So, if you have some sensitive data, and maybe your uh LM key or some other secret you want to hide this uh secret behind all the nodes in the oracle decentralized oracle network, you can use this privacy feature. And for the privacy feature, uh for the capabilities just to mention by uh Andrej, uh we will allow the users to send the HTTP request in the callback function. So, when the trigger is fired, this HTTP request can be sent from the callback function. And you have a two ways to send HTTP request.
The first one is a standard one, and the second one is here, the confidential one. So, if you really want to keep something that can that cannot be found by the node operators, you can use the uh confidential one. And the way uh the why it can be uh confidential because we have a different uh different uh doll for the secret to to store. And in this doll, it the secret saved in this doll can only be fetched by the enclave, and the enclave will directly find your uh secret, and then decrypt the secret in the enclave, and use that to send HTTP request. And if you set the flag as a true, then the result can be encrypted in this enclave.
So, when it returned back to your machine, you will still will have a encrypted result, and you can do whatever you want to decrypt it or do anything you want. That is a confidential HTTP request. And um the way to write this uh confidential one is a pretty similar as the standard one, because you only need to um use this thing, the Vault Doll Secret, and uh it requires you to upload your secret to the Vault Doll, and uh use that in your callback functions. And with that, you can use the confidential HTTP client to send a uh request in the private way. Okay.
Uh that one is for the confidential HTTP sent, and the other privacy feature we provide in this a hackathon is called a compliance private token transfer. So, uh simply put, we have a Vault smart contract, and you can transfer a ERC-20 tokens, any ERC-20 tokens, and to this Vault, and every user can generate a shielded address through the API. And if you transfer this token to the shielded address from any um user, and the user will use the API to get a receipt, and use the receipt to withdraw the token from this Vault, and this token was transferred to his shielded address, not his real address. And this can be true. And maybe you are worrying about the if that is a if that make any difference from uh like a like a the the like protocols that are related to the money laundry.
And uh we also provide something called a ACE, and uh this will help you to uh set a rule for all the transfers within this Vault. Uh because uh if you want to set a rule like a this address is banned, and uh when before the transfer, I need to do the verification, so I need to just uh use the off-chain API to verify this is good, and you can set all the rules in this ACE, and bind this ACE with your uh Vault, and it can implement a compliant token transfer in the private way. And uh yeah, we have uh API website here, and also we provide a REPL for the standard use of the private token transfer, and you can just uh check all the code by yourself or by your AI agent. And uh yeah, that's it. Do you have any questions?
I think we might be out of time for questions. If maybe we have one question, and the rest can be done at the booth. We can do one question, and then we can done the rest afterwards. So, if you have any questions, you can raise them now. This is the the QR code for this presentation, if you if you need it.
Yeah, can you just get the microphone? I I still don't understand. How do How do you unlink my identity from being able to pay with I I I pay for these services. So, I pay for oracle services. Do you How do I unlink the payer from
pay in LINK tokens that node operators consume. So, we don't ask for you know, KYC and stuff like that. So, if I pay with LINK tokens, you know where I paid from. With your address. I don't I don't understand the question.
Like, depends on the service again. Like, we can talk more details at the booth, but depends on what you want to do. Like, for for example, for Siri, for this hackathon, if you run Siri work for similarly, that's totally fine with us. Like, that's a legitimate use case.
way to to kind of privately pay. Like, Tornado Cash kind of. LINK tokens. Okay, let's Yeah, we we can we can talk in the booth. And I think you are asking about a private token transfer, right?
Uh actually, for the LINK token, if you pay for the services, that is not a private transfer, and everybody will know your address. But uh what I'm what I was talking about is another feature we provide to use the ACE to do the compliant token transfer. And uh yeah. We're going to explain more at the booth because we're out of time. Okay.
Yeah, that that is a two different. So, for the payment of the Chainlink service, that is not a private. Yeah. I'm sorry, we're out of time. Uh thank you so much.
We'll answer all the questions at the booth. Sorry, guys. Thank you.
Automatic transcript — names and jargon may be misspelled.