> For the complete documentation index, see [llms.txt](https://davidjosearaujo.gitbook.io/online-courses/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://davidjosearaujo.gitbook.io/online-courses/blockchain-security/smart-contract-security/what-are-smart-contracts/smart-contracts.md).

# Smart contracts

**Smart contract platforms are designed to be Turing-complete.** Every operation that can be run on a computer can be run on a smart contract platform

**Smart contracts are programs designed to be run "on the blockchain"**

Different blockchains have taken different approaches to smart contracts. Some, like Ethereum, use a custom-designed programming language and virtual machine. Others use existing languages (Go, Java, etc.)

Smart contract security depends upon a range of factors:

* Platform security
* Programming language familiarity
