# Smart Contract Development

Developing usable smart contracts using Solidity++ can roughly be split into two tasks, writing the contract and developing an interface.

# 1. Writing the Smart Contract.

Solidity++ is used to write the contract itself, which is then deployed onto the blockchain. Once a contract is deployed, anyone can interact with it, making the contract essentially a decentralized and publicly accessible application backend.

This can be done entirely within VSCode and the Solidity++ extension, following steps from the debugger guide and examples from Simple Contracts.

# 2. Developing the interface.

There is a much greater freedom when it comes to developing an interface to interact with a smart contract. For starters, the platform can be anything: an Android App, an iPhone app, a website, a browser plugin, a command-line interface, a shell script, etc.

There are several tools available to help you build interfaces:

We cover some simple examples of interacting with contracts to get you started, but you'll want to supplement this guide with other resources for developing for your target platform.