Draft docs page: CashScript for Solidity developers (feedback wanted)

CashScript has had an open docs request since 2024 for a page aimed at developers coming from Solidity (issue #237 in the CashScript repo). I wrote a draft:

https://cashscript-for-solidity.surge.sh

It covers:

  • a side-by-side table (accounts vs UTXOs, msg.sender vs checkSig, storage vs NFT-commitment state, gas vs VM limits, deployment, events, tokens, reentrancy, time)
  • a counter contract in both languages, to show “the function updates state” vs “the transaction proposes a state and the contract verifies it”
  • authorization, transfers as outputs, concurrency, and a short checklist for EVM devs

All CashScript examples compile with cashc 0.14.0. It’s CC0, so the CashScript team can merge any part of it.

Corrections are very welcome, especially from people who have moved from EVM to CashScript: what tripped you up that isn’t on the page?

1 Like

Thanks to the mods for approving this. A short update: since posting, I wrote four more draft pages for open docs issues in the same repos. All are CC0, so they can be copied into the official docs as-is.

Three of them are on the same site as the page above (https://cashscript-for-solidity.surge.sh), under these paths:

  • /multi-input/ : multi-input computation guide (CashScript #415)
  • /article/ : “Smart contracts on Ethereum, Bitcoin and Bitcoin Cash”, 2026 edition (CashScript #280)
  • /sighash/ : restricting the signer’s sighash (CashScript #310)

The fourth is a draft spec for paying a Nostr npub from a BCH wallet (Cashonize #405): Draft: BCH payment address from a Nostr npub

Corrections are very welcome, especially on the Solidity comparison table. If a BCH project needs docs or guides like these written, I take that kind of work for BCH.

1 Like