Write a multi chain bash script that will be used in all protocols #66
Replies: 3 comments 2 replies
-
|
You haven't shared the link to the script so I'm not sure what it does. Potentially related - take a look at execa to see if it makes it possible to use only TypeScript for the script (and no Bash). |
Beta Was this translation helpful? Give feedback.
-
|
IMO maintaining any deployment script isn't worth the efforts it takes to maintain it (add new chains when they are supported, sometimes manual explorer verifications, sometimes we need to use My preference would be to keep these scripts at the personal level. I have mine (which I used for Airdrops and Comptroller deployment, and will use in the future too), you have written yours which you will always use. There will not be a third person (not until next few releases) making bulk deployments like this. Also, in the AI-era, re-writing these scripts from the scratch takes less time than reading someone else's scripts and learning to use it. For custom deployment, its always good to use the forge script directly following the docs. We have already refactored it from bash to rust and now to bash/typescript again. Therefore, I believe until we have more people in the team making these deployments, we should refrain from writing such a script. |
Beta Was this translation helpful? Give feedback.
-
|
alright - closing |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
During my last Flow deployments, I wrote this bash script (inspired by @smol-ninja), which should be project-neutral, as it requires you to pass the script path.
To make the bash script work in the child protocols, we’d also need another TS/Python script that temporarily copies it to the root of the child protocol from which it’s being run.
bash script
Note: ran this and it worked smoothly (deployed to all chains)
Missing features & issues:
deployments.tsfile for some chains (for those that are using blockscout), because they return the receipt’scontractAddressasnull."returns"(and also"libraries"in case of lockup) to map them correctly.deployments.tsfile (currently aggregating to a commonchain).sdk, use-instead of_in case of some chain names (alsosepolia -> testnet, where needed).forge script2.forge verify@sablier-labs/evm wdyt? if you like the idea, it can be improved, and made more robust
Note about multichain deployer
Regarding this: https://github.com/sablier-labs/multichain-utils/
I wanted to keep using it, but the maintenance cost of updating it isn’t worth it. And Rust isn’t the friendliest language for this kind of tasks.
If we want to take a similar approach for the project, we could vibe code a small app to make it more approachable, but again, not sure if it’s worth the time.
Beta Was this translation helpful? Give feedback.
All reactions