Firstly what is Solidity?

Solidity is a programming language created to write smart contracts for the ethereum blockchain platform.

Smart contracts run on the Ethereum Virtual Machine using EVM Bytecode. and thus any language used to write smart contracts will

in someway be transformed into EVM Bytecode. In the case of Solidity, the code is compiled to EVM bytecode.

Solidity is one of the languages used to write Smart contracts for Ethereum,

there are two other languages that are popular at the moment:

https://github.com/ethereum/vyper

https://github.com/ethereum/serpent

I wouldn't reccomend trying Serpent, it seems rather difficult to learn and even the README.md reads:

"Serpent is an assembly language that compiles to EVM code that is extended with various high-level features...

Being a low-level language, Serpent is NOT RECOMMENDED for building applications unless you really really know what you're doing."

Solidity is the way to go if you want to get into learning smart contract development for ethereum.The Syntax looks a bit like C and Javascript combined. If you have ever worked with either C or Go then this will be beneficial, because you will already be familiar with the concept of structs.

To get started with Solidity I started with a tutorial that I found in a comment on hackernews. The site I am following is:

https://cryptozombies.io

Here is a screenshot of one of the exercises on the website:



Once you are done doing all 4 phases of the exercises on cryptozombies then I would suggest that

you try write a smart contract and deploying it. Deploying a smart contract is free if you deploy it on one of the testnet's.

You can get free ether on the testnet from this site:

https://faucet.metamask.io/

Make sure that you have the metamask plugin installed and that you have configured it to use the testnet.

You can find out more about metamask from here:

https://metamask.io/

You can monitor your smart contract and ethereum transactions on the testnet on here:

https://ropsten.etherscan.io

This is for example an address that I created on the testnet for playing around:

https://ropsten.etherscan.io/address/0xd000682e38d81053981211cd95af7d45cc4bee0aether



Some resources to test your smart contracts on the testnet:

https://ethereum.stackexchange.com/questions/2835/how-to-quickly-test-a-solidity-function/2836

https://hashnode.com/post/how-to-build-your-own-ethereum-based-erc20-token-and-launch-an-ico-in-next-20-minutes-cjbcpwzec01c93awtbij90uzn

Here are some cool resources to get you started with Solidity specifically:

Tutorials:

https://cryptozombies.io/

Online IDE's:

https://ethfiddle.com/

http://remix.ethereum.org/

If you are a complete beginner to ethereum and how ethereum works then I would suggest have a read over:

https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369

References:

https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369

https://blockgeeks.com/guides/solidity/

https://ethereumbuilders.gitbooks.io/guide/content/en/index.html

Ethereum and smart contract resources:

https://yoirtuts.com/index.php?title=Ethereum

If you do decide to start a cool ICO or blockchain related startup then have a look at: (I am not affiliated with this blockchain startup incubator in any way)

https://labs.binance.com/

Please follow me and upvote if you enjoyed this article.

Feel free to comment if you have any questions or updates I could add to the article.