Tools with similar goals or names, but different: - https://github.com/hiddentao/ethereum-abi-ui - https://playground.sourcify.dev/ - https://abi.hashex.org/  Existing tools (not all are opensource and permissive license): - https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#writeContract  - https://app.dedaub.com/optimism/address/0xe66421fd29fc2d27d0724f161f01b8cbdcd69690/write  - https://github.com/upgreidas/contract-admin - https://github.com/Fueled/Rover - https://github.com/oneclickdapp/oneclickdapp-v1  - https://workspace.web3client.app/  - https://app.mycrypto.com/interact-with-contracts  - https://lovethewired.github.io/blog/2022/abi-playground  - https://evmdocs.acala.network/tooling/evm-playground/interacting-with-smart-contracts  - https://lab.miguelmota.com/ethereum-devtools/ - https://github.com/miguelmota/ethereum-devtools/blob/bc1f57ec9ec9734e311ae489b3bf536a93a11cd8/src/App.tsx#L482  - https://old-explorer.emerald.oasis.io/address/0xEF15601B599F5C0696E38AB27f100c4075B36150/write-contract - https://github.com/blockscout/blockscout/blob/a2079c49efb3b58b6888d5c83b8b69fe78fc86f0/apps/block_scout_web/lib/block_scout_web/templates/address_write_contract/index.html.eex - https://github.com/blockscout/blockscout/blob/a2079c49efb3b58b6888d5c83b8b69fe78fc86f0/apps/block_scout_web/lib/block_scout_web/templates/smart_contract/_connect_container.html.eex - https://github.com/blockscout/blockscout/blob/master/apps/block_scout_web/assets/js/lib/smart_contract/connect.js#L136  - https://remix.ethereum.org/?#activate=sourcify&call=sourcify//fetchAndSave//0x03237c372AcD10Cc749253a2ea2aAfBfD49C6A18//23295&lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.25+commit.b61c2a91.js - https://github.com/ethereum/remix-project/blob/4bf59281b6fe85668eb1fe7dff55c3a473089667/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx#L126  - https://github.com/adrianmcli/eth95 - https://github.com/adrianmcli/eth95/issues/75  - https://neptunemutual.com/web3-tools/solidity-abi-encoder-online/  nice for nested param structs. And validation ``` _uintArray (uint256[]) ____ // [12134] works // [1213423433333311111111111111111111111111111111111111] throws "overflow". // ["1213423433333311111111111111111111111111111111111111"] works // ["1213423433333311111111111111111111111111111111111111111111111111111111111111111"] throws value "out-of-bounds" ``` - https://github.com/ethereum/remix-project/blob/bdca4d610ad635973c1a0ee87a2950fc33133298/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx#L300 This deploys dapp UI to [surge.sh](http://surge.sh/) using "DAPP DRAFT" plugin https://firew50463.surge.sh/ https://github.com/drafish/remix-dapp-draft-plugin/blob/main/src/components/ContractGUI/index.tsx https://github.com/drafish/remix-dapp-draft-plugin/blob/main/src/redux/models/instance.ts#L81-L85 https://github.com/drafish/remix-dapp/blob/main/src/components/ContractGUI/index.tsx but this code has no license file  - https://github.com/scaffold-eth/scaffold-eth-2/blob/main/packages/nextjs/app/debug/_components/contract/ContractWriteMethods.tsx - https://github.com/BuidlGuidl/abi.ninja  uses https://anyabi.xyz/ that can get sapphire abis: https://anyabi.xyz/api/get-abi/23294/0x6665a6Cae3F52959f0f653E3D04270D54e6f13d8 I think one of these mentioned supporting NatSpec comments. That would be nice, but would require pulling in sourcecode, not just ABI https://docs.soliditylang.org/en/latest/natspec-format.html#documentation-example. And there's https://www.npmjs.com/package/@ethereum-sourcify/contract-call-decoder to learn from. Contracts for testing various parameter types and events: - https://github.com/oasisprotocol/nexus/blob/bfd57feaf922d79f6353142f1a150fc907a3a35f/analyzer/runtime/abiparse/test_contracts/Varied.sol - https://github.com/NomicFoundation/hardhat/blob/89a907afb58ec1c371edb094ca357d4489eb1238/packages/hardhat-core/console.sol - https://github.com/search?q=bytes31+path%3A**%2F*.sol&type=code&p=1 - https://github.com/ethers-io/ethers.js/blob/b553b1bc4308941c45e8060254fdf5d109cf05ea/src.ts/_tests/test-contract.ts#L230 - https://old-explorer.emerald.oasis.io/address/0xEF15601B599F5C0696E38AB27f100c4075B36150/contracts / https://explorer.oasis.io/mainnet/emerald/address/0xEF15601B599F5C0696E38AB27f100c4075B36150 Emitted Various parameter types: https://explorer.oasis.io/testnet/sapphire/tx/0xf4dc4d329d86ef20163a7f71d02034da2494946e8a10ead0bc89e5e50516f8d1 ``` true -1234 1234 0xC3ecf872F643C6238Aa20673798eed6F7dA199e9 0x7465737400000000000000000000000000000000000000000000000000000000 test ``` https://explorer.oasis.io/testnet/sapphire/tx/0x22c3c69ca9d42edd0fc0f945b969f3fbe7f574aca815379475f1e636c38c766e ``` [123, 456, 678] ["abc", 123] ```
Tools with similar goals or names, but different:
Existing tools (not all are opensource and permissive license):
https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#writeContract

https://app.dedaub.com/optimism/address/0xe66421fd29fc2d27d0724f161f01b8cbdcd69690/write

https://github.com/upgreidas/contract-admin
https://github.com/Fueled/Rover
https://github.com/oneclickdapp/oneclickdapp-v1

https://workspace.web3client.app/

https://app.mycrypto.com/interact-with-contracts

https://lovethewired.github.io/blog/2022/abi-playground

https://evmdocs.acala.network/tooling/evm-playground/interacting-with-smart-contracts

https://lab.miguelmota.com/ethereum-devtools/
https://old-explorer.emerald.oasis.io/address/0xEF15601B599F5C0696E38AB27f100c4075B36150/write-contract
https://remix.ethereum.org/?#activate=sourcify&call=sourcify//fetchAndSave//0x03237c372AcD10Cc749253a2ea2aAfBfD49C6A18//23295&lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.25+commit.b61c2a91.js
https://github.com/adrianmcli/eth95
https://neptunemutual.com/web3-tools/solidity-abi-encoder-online/

nice for nested param structs. And validation
https://github.com/ethereum/remix-project/blob/bdca4d610ad635973c1a0ee87a2950fc33133298/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx#L300

This deploys dapp UI to surge.sh using "DAPP DRAFT" plugin
https://firew50463.surge.sh/
https://github.com/drafish/remix-dapp-draft-plugin/blob/main/src/components/ContractGUI/index.tsx
https://github.com/drafish/remix-dapp-draft-plugin/blob/main/src/redux/models/instance.ts#L81-L85
https://github.com/drafish/remix-dapp/blob/main/src/components/ContractGUI/index.tsx
but this code has no license file
https://github.com/scaffold-eth/scaffold-eth-2/blob/main/packages/nextjs/app/debug/_components/contract/ContractWriteMethods.tsx
https://github.com/BuidlGuidl/abi.ninja

uses https://anyabi.xyz/ that can get sapphire abis: https://anyabi.xyz/api/get-abi/23294/0x6665a6Cae3F52959f0f653E3D04270D54e6f13d8
I think one of these mentioned supporting NatSpec comments. That would be nice, but would require pulling in sourcecode, not just ABI https://docs.soliditylang.org/en/latest/natspec-format.html#documentation-example. And there's https://www.npmjs.com/package/@ethereum-sourcify/contract-call-decoder to learn from.
Contracts for testing various parameter types and events:
Emitted Various parameter types:
https://explorer.oasis.io/testnet/sapphire/tx/0xf4dc4d329d86ef20163a7f71d02034da2494946e8a10ead0bc89e5e50516f8d1
https://explorer.oasis.io/testnet/sapphire/tx/0x22c3c69ca9d42edd0fc0f945b969f3fbe7f574aca815379475f1e636c38c766e