seb
@seb
Food for thought Every smart contract is kinda its own app, with every function / feature being a button you can press Some buttons are put on websites, miniapps, etc., but the large majority of them are never(or no longer) surfaced There should be some sort of universal markup language for every smart contract (that isn't an ABI) that allows anyone to easily interact onchain. Wonder if this is solved via a smart contract markup language + generative AI, or just plainly via LLMs Publishing an app to the onchain app store becomes simply deploying a smart contract
10 replies
3 recasts
43 reactions
Steve
@stevedylandev.eth
Technically the ABI is the universal language for smart contracts but you’re right that it’s missing the context as to what each function or state does. Even with the original code you can only get so far. You need instructions left by the creator to truly understand. A natspec gets you halfway there in that the developer can leave comments in the code explaining how it all works, but since that’s not included in the ABI it’s only half way there. Extending ABI would be awesome. On a related note we are building some tooling around the concept of easy contract interaction which you can check out here: https://farcaster.xyz/stevedylandev.eth/0xcbd728a6
1 reply
0 recast
2 reactions
Steve
@stevedylandev.eth
a description field in the ABI + this / AI would be sick https://markdown-ui.com/chat/
1 reply
0 recast
1 reaction
seb
@seb
Yup somewhat what I had in mind Like an extension of the ABI that makes inference much easier, with common abstractions baked in like tokens, user, etc.. We’ve been doing something like this for surfacing complex DeFi balances, feels like there’s something with a standardize write interface for smart contracts
1 reply
0 recast
1 reaction
Steve
@stevedylandev.eth
It turns out NatSpec actually does have this to some extent and it builds into the ABI! I had claude write a simple spec for the default foundry Counter contract and this was built into the ABI at compile time https://snippets.so/snip/h-wAADnQFe It's still JSON and you need an app to parse that, but still pretty close. The only limit is how well the dev documents it.
1 reply
0 recast
1 reaction