DEV Community

Julien Klepatch
Julien Klepatch

Posted on • Originally published at

Full Course on Solidity (Blockchain)

I just released a full course on Solidity for beginners.

There is 0 pre-requisite necessary to follow.

The course is based on the popular game CryptoZombies: you learn smart contract programming on Ethereum by creating an army of Zombies!

If you want to get into Blockchain, learning smart contract programming is great entry point. Solidity is the most popular language for Ethereum smart contracts, so it makes sense.

If you don't know what Ethereum is, that's the most popular Blockchain, and the first one to have introduced the concept of smart contracts.

Smart contracts are little programs that run on top of the Blockchain. The 2 big advantage smart contracts are:

  • they can manipulate natively money (Ether and ERC20 tokens)
  • they are immutable The last point is important. It means smart contracts cannot be censored: they will run the EXACT code that was deployed, forever, and nobody can ever change that.

Smart contracts are also a bit more limited compared to traditional programs:

  • you can't store too much on them (its expensive)
  • you can't run computations that are very complex (its expensive)
  • modifying data cost money
  • modifying data takes time (15s to mine a block)
  • you can't call external APIs

These limitations are consequences of running in a Blockchain.

But even with all these limitations, smart contracts getting increasingly popular. DeFi, or Decentralized Finance is a new industry that vows to re-invent Finance on the Blockchain, to make it more decentralized, open and composable. You can assemble different DeFi projects like Lego blocks build your own DeFi projects. No need to ask for any permission. You can see that the market cap of DeFi is exploding.

But if you to want enter this wonderful world, you need to understand Solidity first, so go follow this course.

Top comments (1)

elievangu profile image
Elie Vangu

Good article, but you can call an external API using an Oracle i think.