Solidity is the language needed to create smart contracts on Ethereum blockchain. To run an application on Ethereum, you need "gas". Gas is payed in ether, Ethereum's token. If you want to test, you can use the Ethereum testnet, where ether are give for free. Gas is given to Ethereum miners, as a reward to keep the blockchain going.