Chainlink Local V3, with CCIP 2.0 support, is live!

This is a breaking change, so check out release notes github.com/smartcontractk…

🎬 And because every launch needs a trailer, here's a quick one I put together with Opus 5.5
7
21
153
morning commute
0
0
4
😉
DevRel's take note. Videos that are just Code + Voice is solved by AI. Just ask @andrej_dev if you don't believe me. Telling a story that educates your audience is the future of our role, at least IMO. Time to beef up those B-Roll skills.
1
0
6
You probably received a bunch of these emails today…turning this setting on solved the issue for me
Just turn this on.
1
0
9
Update: all gone :(
Come to Chainlink booth, only two jerseys left

Knicks in 5 💙🧡
2
3
24
Come to Chainlink booth, only two jerseys left

Knicks in 5 💙🧡
3
1
15
This Wednesday @thedavedev and I will livestream a workshop on building with Chainlink Developer Agent Skills using Composer 2.5

@AHadzibabic will join us for a Fireside Chat on Cursor best practices

May 27th, 12 PM NY / 9 AM San Francisco time

Register at the link below
2
10
22
Chainlink Developer Agent Skills are here.

Watch this brilliant walkthrough by Dave to learn how to use them: youtu.be/DqKIk5FMbEs?si…
What happens when you give an AI agent access to real-time market data and cross-chain rails?

I walk through it in my new video — building a @chainlink powered AI agent from scratch.

Check it out and let me know what you build! youtube.com/watch?v=DqKIk5…

GitHub repo: github.com/smartcontractk…
1
5
28
Introducing Chainlink Developer Agent Skills

Chainlink Agent Skills are AI tools for building with Chainlink. Each skill teaches your AI agent how to code with a specific Chainlink product.

One command to install Skills. Start prompting right away.

Go build something awesome!
9
13
65
details from cursor coworking
0
0
5
Agree

Fetching HTML version of a Chainlink Docs page (on the right) costs far more tokens than fetching the Markdown version of the same page

Human and Agent UX are fundamentally different, and you should account for both
Everyone switching from Markdown to HTML is missing the nuance.

The optimal approach (most of the time):

If it's for a human to read, yeah, use HTML.

BUT

If an agent is consuming it, use Markdown!
1
0
4
The best event at EthCC I’ve been to so far, and it’s not even close

Fantastic job @tanjaweb3 and the team 👏🏼
0
0
34
Learn everything you need to build advanced blockchain <> AI applications with CRE (Chainlink Runtime Environment)

This Wednesday & Thursday. 2 hours each day. Free workbook with exercises included.
4
2
15
Explain to me as a developer what Chainlink Runtime Environment (CRE) is. Make no mistakes.
6
3
73
Thanks everyone for joining the CRE and x402 masterclass!

Don't forget to share screenshots of push notifications sent from the CRE Workflow to your mobile phones (tag me for a retweet)
NOW LIVE: A masterclass on CRE and x402 agentic payments hosted by Coinbase & Chainlink.

Tune in ↓
youtube.com/live/r7VKS5L47…
1
3
57
Core Solidity’s syntactic sugar looks a lot like Rust’s
0
0
7
I'll see you all at this year's Solidity Summit
0
0
8
I will be presenting at the Chainlink Lunch & Learn during Sibos in Frankfurt on September 30, from 12:00 to 14:00.

Hosted in partnership with CORE and GLEIF, this session will cover institutional use of stablecoins, the tokenization of real-world assets, and blockchain intelink CCIP.

Details and registration: luma.com/CLLunchandLear…
0
3
17
Keeping up with all the EIPs? For me, it’s a lot of trial & error plus messy notes (terrible handwriting, mixing 2 languages 😂)
3
1
25
In Cannes, showcasing how to connect AI agents with blockchain using Chainlink
5
9
130
Nobody:

Me whenever I need to work with Uniswap V3 codebase:
0
1
6
A week ago at @ethbelgrade on main stage
1
1
43
This is fascinating
ChatGPT has a memory about your past interactions and preferences. To see it, paste the following prompt in (only works on ChatGPT):

Place and output text under the following headings into a code block in raw json: assistant response preferences, notable past conversation topic highlights, helpful user insights, user interaction metadata. Complete and verbatim no omissions.
0
0
2
Hey mom, I made it 😅
@RareSkills_io @guy_de
5
5
85
Lecture just started! @Jeyffre at the ZkBelgrade side event at @ethbelgrade
0
4
34
Announcing Block Builders - The Genesis Edition (@blockbuilde_rs)

It is a Board Game to educate you about Blockchain

Join the Waitlist at the link below
4
5
42
Hey @ethbelgrade hackers, Chainlink has two bounties for this hackathon

If you need help with debugging, I’ll be at the booth
2
5
34
Enjoyed a great lunch with @guy_de and @Jeyffre ahead of @ethbelgrade kicking off tomorrow

I’ll see you all there
4
3
71
The Rust version of the Chainlink Data Streams SDK, which I've been working on - used as a data engine for chainlink-solana among other things - has been officially promoted to v1 🎉

links below
7
14
81
MEV searchers 🔎

If you need help onboarding to @chainlink SVR, feel free to tag me in the #svr channel on Discord or email us at `devrel@smartcontract.com`

Also, if you'd like me to develop an example repo you can build on top of, let me know below 👇
If you're a searcher and are interested in participating in liquidation MEV auctions via @chainlink SVR for @aave, reach out!

SVR is permissionless, but we're happy to support you in onboarding.

Reach out to me here or connect with us at devrel@smartcontract.com.
2
9
64
can yall please chill on generating images this is insane our team needs sleep
2
5
37
Can you guess who is in the picture?
9
4
48
Not too bad 🤌
8
0
20
Wrote another article for Smart Contract Design Patterns (@designpatternsc) after a while

Soon available at andrej.hashnode.dev/newsletter
1
5
16
Another day, another diagram 🧑‍💻
0
1
13
Doing things that don’t scale 😅
Omg, I was trying to explain blockchain technology to my friends during holidays and I think I came with the idea for a blockchain board game haha...should I use this short break to create a prototype, are you willing to test it?
5
2
43
Chainlink Smart Value Recapture (SVR) is live!

Learn more at the link below
Introducing Chainlink Smart Value Recapture (SVR)—a novel non-toxic MEV recapture solution for users of Chainlink Price Feeds.

The initial version was created in collaboration with @bgdlabs, Flashbots, and other contributors to the @aave DAO.

🧵👇
blog.chain.link/chainlink-smar…
0
8
134
Me waiting for CI checks to complete 😅
0
0
8
Replying to @mewwts @Dune
Sorry, I had to 😂
1
0
1
Subjective feeling after switching to #Rust today
I’ve been writing some JavaScript code for the whole day…I forgot how painful that can be 😂
1
0
10
Chapter 1 🍂
0
0
9
The prerequisites for writing this article have been met

Subscribe to @designpatternsc
Security researchers often explain how to prevent signature malleability in your contracts, but do you know how to test for it while building? It’s actually quite simple, and here’s how to do it in Foundry.

For the theory behind this code, subscribe to @designpatternsc – a new
0
1
13
Chainlink Local is now on the DevHub homepage 🤩

Thank you for using it

If you'd like to be the first one to try upcoming versions, please reach out

If you have any feedback or a feature request, also please reach out
2
3
45
Saturday nights are for Rust and cryptography 🦀
8
8
143
Ever needed to use Foundry's `cast send` with bytes, arrays, nested arrays, etc., but struggled with encoding? I've got you covered 😉

(link to the repo in the reply)
5
5
49
Security researchers often explain how to prevent signature malleability in your contracts, but do you know how to test for it while building? It’s actually quite simple, and here’s how to do it in Foundry.

For the theory behind this code, subscribe to @designpatternsc – a new
2
7
78
Have you tried Chainlink Local yet?
Explore the latest DevHub updates ⬇️

• Changelog: All product updates in one spot
• Developer Tools: Centralized tools and utilities
• Demos: Browse all demos with ease
• Docs: Enhanced navigation
• Homepage: Fresh, improved UX
dev.chain.link
1
6
42
Replying to @RareSkills_io
Not enough info in official docs, besides this quote: "The type bytes1[] is an array of bytes, but due to padding rules, it wastes 31 bytes of space for each element (except in storage)"

So, trial and error ftw :)

Before we start, recap that:
* Big-endian -> last byte of binary representation of st
* Little-endian -> first byte of binary representation of data type is stored first

Storage slot 0 -> 0x0000000000000000000000000000000000000000000000000000000000000003

Since this is a storage marker slot for a foo_bytes array, we expect .length of that array to be returned, which is the case

keccak256(storage slot 0) + 0 is 18569430475105882587588266137607568536673111973893317399460219858819262702947

We would expect the first element of the foo_bytes array in little-endian to be returned, 0x00000000000000000000000000000000000000000000000000000000000000ff

However, 0x0000000000000000000000000000000000000000000000000000000000ddeeff gets returned. The next slot, 18569430475105882587588266137607568536673111973893317399460219858819262702947 + 1 is empty which tells us that Solidity packs elements of bytes1 arrays IN STORAGE

Storage slot 1 -> 0xffeedd0000000000000000000000000000000000000000000000000000000006

This is storage slot for bar_bytes variable, and we would expect (based on the Solidity docs) to be stored in big-endian in a single slot since it is smaller than 32 bytes. The lowest byte contains the length of the data (6)

Storage slot 2 -> 0x000000000000000000000000000000000000000000000000000000000000004b

This is storage slot for bar_bytes_long variable, which is longer than 32 bytes, so we expect here to see its length only.

keccak256(storage slot 2) -> 29102676481673041902632991033461445430619272659676223336789171408008386403022

When we sload this slot we get -> 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef which is the first portion of our longer bytes value in big-endian format (expected)

When we sload 29102676481673041902632991033461445430619272659676223336789171408008386403022 + 1 we get -> 0x0123456789000000000000000000000000000000000000000000000000000000 a.k.a the rest of our bar_bytes_long variable, again in big-endian format

Storage slot 3 (foo_bytes_static) -> 0x0000000000000000000000000000000000000000000000000000000000000003

So again if we hash keccak256(storage slot 3) + 0 we get 87903029871075914254377627908054574944891091886930582284385770809450030037083 and sloading that value returns us -> 0x0000000000000000000000000000000000000000000000000000000000ddeeff (same as for foo_bytes)

Storage slot 4 (foo_bytes_static_second) -> 0x0000000000000000000000000000000000000000000000000000000000ddeeff

This is the whole foo_bytes_static_second static-size array packed in little-endian format, which is interesting

Now what about the memory?

The quote from the Solidity docs says that we should expect bytes1[] content NOT TO BE PACKED. Let's see that

The getMemory function returns

We can see that bytes variables (both shorter and longer than 32 bytes) are stored in big-endian format starting from the offset specified at the beginning.

For bytes1[] elements, we can see that each of them is stored as a separate 32 bytes word (padded with zeros) in big-endian format, as specified in the Solidity docs.
1
0
10
A few more screenshots from my dev notebook 👨‍💻📒
Extremely straightforward function and is probably terribly optimized lol, but I am kinda proud of this comment section ngl 😅
0
0
18
Been writing some #YUL lately for educational purposes...here's a sneak peek of how I organized the codebase to make it easier to read 🫧
1
2
12
🔔 Exciting news!

Chainlink Local is now featured in the Official #Chainlink Documentation!
8
15
96
Theory that isn’t boring. No copy-pasting. Real coding with homework that matters. Finish this bootcamp and add #CCIP to your resume. Ready to level up?
#Chainlink CCIP Bootcamp is Less Than a Week Away!

Here's why every Web3 developer and software engineer should attend:

#Chainlink Cross-Chain Interoperability Protocol (CCIP) is far more than a simple token bridging solution. It’s a generalized cross-chain messaging protocol (value), messages (data), or both tokens and messages simultaneously within a single cross-chain transaction—referred to as Programmable Token Transfers.

🌐 In #DeFi, CCIP Programmable Token Transfers enable the creation of cross-chain native dApps, such as a smart contract that can automatically transfer tokens cross-chain and deposit them into the highest yield lending markets.

🏦 In traditional #finance, CCIP enables sophisticated use cases like cross-chain Delivery-vs-Payment (DvP) transactions. An institution holding stablecoins on a private blockchain can seamlessly purchase tokenized assets issued on another chain—public or private.

Join the first ever Chainlink CCIP bootcamp, designed for intermediate to advanced level #Web3 developers taught by @andrej_dev, Richard Gottleber, and @darbease

🗓️ Dates: 5-7 August
🕒 Time: 3PM-6PM London time
📍 Online
🎓 Certification: Onchain Certificate of Completion for all qualifying participants

Register now 👇
chn.lk/4bInbqE
0
3
13
Hey @ETHGlobal hackers, if you need help with debugging we can always do it together, just stop at #Chainlink booth
1
3
27
Why you should hack with Chainlink #CCIP at @ETHGlobal Brussels 🇧🇪 this weekend?

Because Chainlink CCIP is the EASIEST cross-chain protocol to integrate!

See you tomorrow!
⬡ Building and testing cross-chain applications can be effortless.

⬡ Simply use the #Chainlink CCIP simulator ↓
0
7
29
Planning to hack at the @ETHGlobal hackathon in Brussels 🇧🇪 this weekend? Check out the revamped #Chainlink faucet!

You can get multiple different tokens from multiple different blockchains sent to multiple different addresses, ALL IN A SINGLE REQUEST!

Bookmark faucets.chain.link 🔖
0
5
20
If you are in Brussels 🇧🇪 join me in an hour to learn how to use #Chainlink CCIP Local Simulator
0
6
69
Looks like the decision has been made 🫡
Learning #Rust by building an EVM from scratch is really fun! I'm considering starting another mini project...which one? 🦀

1) Local ChatGPT-like chatbot
2) Chainlink Node client from scratch
4
9
109
How to master #Chainlink CCIP and Add It to Your CV by
@designpatternsc

(bookmark for later) 🧵

1) Following the top-down approach, try transferring some amount of tokens between blockchains of your choice using
@transporter_io

There’s also testnet version available at test.transporter.io

2) You should always start with Official Chainlink Documentation, that’s your “book” to learn everything about CCIP

- docs.chain.link/ccip

3) Familiarize yourself with basic CCIP terminology and architecture, then deploy a simple CCIP Sender and Receiver contracts

- cll-devrel.gitbook.io/chainlink-ccip
- cll-devrel.gitbook.io/chainlink-ccip…

4) Play around with CCIP Explorer. Monitor your messages in real-time and analyze the information available.

- ccip.chain.link

5) Learn how to transfer tokens from a smart contract

- cll-devrel.gitbook.io/chainlink-ccip…

6) Transfer USDC with Data

- docs.chain.link/ccip/tutorials…

7) Master the DefensiveExample Pattern and from now on use it as a default way to receive arbitrary data

- docs.chain.link/ccip/tutorials…

Optionally, this part of CCIP Masterclass #2 can be helpful:
- cll-devrel.gitbook.io/ccip-mastercla…

8) Send arbitrary data with the Acknowledgment of the Receipt

- docs.chain.link/ccip/tutorials…

9) Then deep dive into the CCIP Architecture

- docs.chain.link/ccip/architect…

And understand CCIP message processing:
- cll-devrel.gitbook.io/ccip-mastercla…

This guide can also be really helpful:
- cll-devrel.gitbook.io/chainlink-ccip…

10) After that, go through CCIP Masterclasses (you already covered some chapters)

Masterclass #1
- cll-devrel.gitbook.io/chainlink-ccip…
- youtu.be/Q18mJ98Ly4Q?fe…

11) Masterclass #2 (Cross-chain staking)

- cll-devrel.gitbook.io/ccip-mastercla…
- youtu.be/kL511J0bkQY?fe…

12) Masterclass #3 (Creating cross-chain NFT)

- cll-devrel.gitbook.io/ccip-mastercla…
- youtu.be/tNBuMks0HGc?fe…

13) Masterclass #4 (Cross-chain DeFi with USDC and Compound V3)

- cll-devrel.gitbook.io/ccip-mastercla…
- youtube.com/live/GsRiVIOLZ…

14) Then learn how to simulate CCIP messages locally using chainlink-local

- github.com/smartcontractk…

15) You can see a quick demo of chainlink-local here

- youtube.com/live/rPybtpwKd…

16) Also check out the chainlink-local documentation:

- cll-devrel.gitbook.io/chainlink-loca…

And tutorial playlist on YouTube:

- youtube.com/watch?v=rEVjU9…

17) Practice writing tests with chianlink-local.
For example, write a test for the github.com/smartcontractk… project.

In the test you must:
- Create an instance of CCIPLocalSimulator.sol smart contract
- Call the configuration() function to get Router contract address
- Create instances of CrossChainNameServiceRegister, CrossChainNameServiceReceiver and CrossChainNameServiceLookup smart contracts and call enableChain() function where needed
- Call the register() function and provide “alice.ccns” and Alice’s EOA address as function arguments.
- Call the lookup() function and provide “alice.ccns” as a function argument. Assert that the returned address is Alice’s EOA address.

18) More practice:

Following the docs.chain.link/ccip/tutorials… guide, measure the gas consumption of the ccipReceive function. Once you have the number, increase it by 10% and provide as gasLimit parameter of the transferUsdc function instead of the currently hard-coded 500.000 (see cll-devrel.gitbook.io/ccip-mastercla…)

19) Learn some debugging tips & tricks

- cll-devrel.gitbook.io/ccip-mastercla…

20) And finally, make sure you answer the 15 CCIP interview questions from the picture

Congratulations, you are now a CCIP expert and can list it as a skill on your CV! 🥳
5
24
129
Can you guess which design pattern we're covering in today's article on @designpatternsc from this diagram?

You have until 7 AM PDT, when the newsletter is published
2
2
12
Replying to @enjojoyy
Indeed! 🦀
0
0
1
Yes, I'm learning #Rust by diving straight into implementing an EVM from scratch...What could possibly go wrong? 🤷‍♂️😅
38
7
281
Replying to @BogdanHabic
Me while reading the original post…Really, @BogdanHabic? 😅
0
0
1
Tell me you work as DevRel without telling me you work as DevRel 😅
1
0
33
This morning’s Amazon delivery 🤩 @Lethain @alexxubyte
8
4
51
Received the latest issue of @designpatternsc in my inbox whilst at @ethbelgrade conference
1
1
18
POV: sharing the stage with @solangegueiros at @ethbelgrade hackathon workshop
0
4
28
Ideal way to wrap up this busy Friday with a cup of coffee and latest @designpatternsc article ☕️
0
0
10
Extremely straightforward function and is probably terribly optimized lol, but I am kinda proud of this comment section ngl 😅
2
0
17
Celebrating Bitcoin Pizza Day by reading the @designpatternsc latest article about designing smart contracts that integrate arbitrary ERC-20 tokens

And a slice of 🍕, of course!

Read it here: andrej.hashnode.dev/integrating-ar…

And to receive the next one in your inbox, subscribe to the //t.co/cbCpveDWdY
3
1
14
Replying to @CleanPegasus
Yeah, same for me....in fact, here's a small preview of the upcoming article
0
0
1
We are finally kicking off the Smart Contract Design Patterns newsletter this week, but I need your help/input! Which design for the cover you like the most?
67
15
217
Replying to @blkchnbanerjee
Thanks, glad to hear that! I think I mentioned how you can refresh metadata once it's changed (see the picture)

And the good blog about NFT metadata stuff is this one definitely opensea.io/blog/articles/…
0
0
0
This little script is all you need to simulate #Chainlink Functions JavaScript source code locally

No need to fork any starter kits, just the `functions-toolkit` NPM package as a dependency

I am using this one with Foundry regularly for example, feel free to grab it 🫡
0
4
21
Random #CCIP Tip

If you would like to learn how to use Chainlink CCIP Local Simulator with Foundry, here's the video for you

youtube.com/watch?v=rEVjU9…
0
3
27
A lot of productivity tips out there, so I decided to share what works for me recently:

Notebook + Synced Calendar - Context Switching

1) I have tasks and goals written down in this handy physical notebook, for each day I’ll pick 2-3 things in the morning to be done for that rt heads down executing until task is done. Then a short walk/exercise/eat something healthy and over to the next task

2) Putting everything (including my personal obligations such as going to the hairdresser for example) in Google calendar helps me staying organized

3) My tasks usually includes creative work so context switching really kills my flow. I personally can’t code/learn/write for two hours, then have a call for 30 minutes, then return to previous task for an hour, etc. Ideally I’ll book whole morning or whole afternoon for one creative task and just work on it. If that’s not possible I’ll spend my evening/night working (my team members are very well aware of this 😂) because it’s quiet and there are lesser distractions but I am actively trying to quit this behavior because it’s not healthy. Paul Graham summarize this much better in this article paulgraham.com/makersschedule…
6
2
52
Fun workshop indeed! Thanks for joining, guys!
In ~50 minutes, we'll tokenize real estate using cross-chain NFTs and then use it as collateral to get a loan in testnet USDC

A lot of whiteboard drawing, designing and coding in front of us, so this one should be really fun 🤓

Using #Chainlink Functions, CCIP, Price Feeds and Automation altogether

Set reminder 👇

youtube.com/live/sdVL1IGHj…
1
3
30