Existing tooling for deploying smart contracts into production leaves a lot to be desired. The command line tools that exist today are unfriendly to the end user and typically require a handful of steps that users need to remember. Such tools do not log deployments nor are they secure by default. Our DevOps tooling simplifies the process of deploying, verifying, and logging Vyper, Solidity, and Arbitrum Stylus smart contracts by providing a wonderful cross-platform GUI to the user. By enforcing the use of keystores we are providing a safer alternative to existing tools so that deployment keys cannot get jacked!
One intersting challenge we ran into while building out support for Stylus is difficulties parsing the output of the Cargo-Stylus CLI. Much of the text being printed to stdout was concatenated without new line seperators. To add another layer of interestingness, the output we recovered from the CLI included all escape characters and sequences. In other words, one massive string that I had to figure out how to parse. I used some of the substrings from stdout to split the string allocation and "clean up" the escape sequences.
Another challenge we faced is that it is the difficulty in supporting different compilers all within the same UI and retaining a fluid experience for the end user. We solved this issue through the usage of conditional rendering to change the form data we take in to process deployments and method calls for Vyper, Solc, and Stylus.
Tracks Applied (9)
Arbitrum
Base
Hedera
Injective
Linea
MoonBeam
NEAR
Polkadot
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
Discussion